DFPLAYER-MINIDHT-11 DTMFEEPROM ESP32 ESP8266 FLPROG БЛОКИ ДЛЯ КОНВЕРТАЦИЯ ТИПОВ INTEGER В BYTE И BYTE В INTEGER V_2 HD44780I2C LCD MCP23017 PMU AXP2101 для ESP32 SMART HOMENODE WS2815 управление всеми светодиодами сразу Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для flprog Переводит ESP в точку доступа Блок для OLED дисплея SSD1306 Блок для ResetSettinges - удаление сохраненных параметров сетей Блок для Дисплей LCD12864 ST7920 Блок для Т-триггер со сбросом rTT Блок для амперметра acs712 Блок для веб интерфейса включение 4 реле через вход по логину и паролю Блок для вывода счета в миллисекундах можно использовать для секундомера  при TRUE на входе count н Блок для датчика CO2 углекислый газ на чипе CCS811 Блок для детектирования попадания текущего времени в указанный временной интервал Блок для дисплея 0 Блок для распознает жесты вариант на 6 жестов Блок для снятия показаний с трансформатора переменного тока Блок для создание Mesh сети между ESP32 и NodeMCU ESP8266 Блок для таймер обратного отсчёта Блок для установки соединения с программой Virtuino Блок служит для создания бегущей строки Блоки разные (прочее блоки) ДОКУМЕНТАЦИЯ Заказать скетч ESP32 Модуль для ESP8266 расширитель портов до 8 входов-выходов. i2c на микросхеме Плавное увеличение/уменьшение ШИМ на определённую величину в течении заданного времени СЕМИСЕГМЕНТНЫЙ ИНДИКАТОР Технология ESP-NOW а не работу блока. Т.е. пр включенных последовательно которой инициализировать дисплей отсчёт в секундах
Блок для настройка основного блока Nextoin.
-------------------------------------------------------------------------------------------------------
Вход:номер порта UART(default=UART2), скорость UART(default=115200).
Выход: присвоенный ID=nxt, по которому  блоки ввода вывода связываются с основным блоком.
-------------------------------------------------------------------------------------------------------
Блок осуществляет чтение и разборку транзакций из Nextion и ограничивает количество 
одновремено отправляемых транзакций с учетом заполненности выходного буфера UART 
для исключения переполнения выходного буфера UART.
 
Блок для настройки шин i2c  настраивается скорость шины.
Настройка шин i2c.
Настраивается скорость шины.
Для контроллеров ESP8266, ESP32, STM32 могут быть переназначены пины sda,scl.

 

Блок для Выбор пользовательских параметров
Выводятся параметры со значениями, определенные пользователем 
для каждого из контроллеров, поддерживаемых  библиотекой RT_HW_BASRE.h,
или без привязки к коннтроллеру.
Упрощает разработку универсальных проектов  под разные типы контроллеров 
разной архитектуры (AVR,ESP8266,ESP32,SAMD21(M0), SAM3X, STM32F1, STM32F4, STM32H7).

 

Блок для Выбор тестовых параметров

Выводятся параметры со значениями, определенные в PROGMEM 
для каждого из контроллеров, поддерживаемых  библиотекой RT_HW_BASRE.h.
Упрощает разработку универсальных тестов  под разные типы контроллеров 
разной архитектуры (AVR,ESP8266,ESP32,SAMD21(M0), SAM3X, STM32F1, STM32F4, STM32H7);

Выводимые параметры 
1. Частота процессора.
2. Системная разрядность.
3. Максимальное значение переменной для установленной системнмной разрядности.
4. Напряжение питания контроллера (CPU) в mV.
5. Коэффициент перевода системного значения в напряжение. 
6. Вывод количества задач        диспетчера задач  (по типам задач).
7. Вывод периода вызова задач диспетчера задач  (по типам задач).

Выводятся адреса устройств i2c со значениями, определенные в PROGMEM 
для каждого из контроллеров, поддерживаемых  библиотекой RT_HW_BASRE.h.
Упрощает разработку универсальных тестов  под разные типы контроллеров 
разной архитектуры (AVR,ESP8266,ESP32,SAMD21(M0), SAM3X, STM32F1, STM32F4, STM32H7).

Выводятся номера пинов со значениями, определенные в PROGMEM 
для каждого из контроллеров, поддерживаемых  библиотекой RT_HW_BASRE.h.
Упрощает разработку универсальных тестов  под разные типы контроллеров 
разной архитектуры (AVR,ESP8266,ESP32,SAMD21(M0), SAM3X, STM32F1, STM32F4, STM32H7).
Номера пинов выводятся группами: 
SYS->control (контрольный пин для отслеживаня цикла loop() ), led(светодиод на плате), button(кнопка на плате);
DBG->debug1,debug2,debug3(пины для отладки пользовательских программ);
DI ->di1,di2 (для использовании в тестах);
ADC->adc1,adc2 (для использовании в тестах);
TCH-> tch1,tch2 (для использовании в тестах);
DO ->do1,do2 (для использовании в тестах);
PWM->pwm1,pwm2 (для использовании в тестах);
DAC->dac1,dac2  (для использовании в тестах);

 

Блок для РЕГИСТРЫ РАСШИРЕНИЯ hc595, mcp23x017
Быстрый блок вывода байта в устройство 74HC595 (AVR,ESP,SAMX,SAMD21,STM32 и др., поддерживаемые  библиотекой RT_HW_BASE.h).
Используемые библиотеки: RT_HW_BASE.h.
1.Устройство может быть подключено через два интерфейса:
  аппаратный SPI. Используются два аппаратных пина SPI (clk,mosi) и один пин cs, который выбирается в настройках.
                            Также может быть выбран номер используемой шины SPI (0,1,2,3) [ESP32,STM32 и др.]  (default=0);
  программный SPI (SSPI), через 3 пина clk,mosi,cs, которые выбираются в настройках.
2.Используемые пины могут могут быть заданы тремя способами:
        тестовые[автоматически выбираемые под тип контроллера];
        пользовательские (в строке параметра);
        через входы блока.
3.Пины проверяются на соответствие функциональным требованиям. 
   Если задан недопустимый пин, то блок записывает в custom код ошибки и в далее не выполняет каких-либо действий.
3.Входные данные могут быть в формате байта(default) или в формате 8-ми бит.  
4.Вывод осуществляется всегда при включении, событии по входу eN 0->1, событии по входу reset 1->0 
        и далее периодически при изменени входного значения.
5.Период вывода может быть выбран из табличных значений (default=50) или задан пользователем.
6.Последовательность вывода битов выбирается наичная со старшего бита(default), либо с маладшего бита.
7.Входы eN(разрешение работы) и reset(сброс текущего значения) настраимваемые (default разрешены).
8.Предусмотрен режим отладки блока (defaul=не разрешен). 
   При включении режима отладки на консоль выводятся параметры блока и его состояние, в т.ч. параметр custom.
9.Измеренное время вывода (для Arduino Nano) по сигналу cs составляет для SPI 4.2мкс, для SSPI 33мкс.

Блок реализует возможности расширителя дискретных сигналоы ввода/вывода MCP23x17:
  MCP23017 - интерфейс i2c;
  MCP23S17 - интерфейс SPI (в разработке).
1.Поддерживается произвольная конфигурация входов/выходов.
2.Поддерживается "горячий" перезапуск.
3.По сравнению с известными библиотеками C++ и блоками FLProg обоспечивает существенно  более высокое быстродействие 
  при минимальной загрузке шины обмена. Особенно это актуально для интерфейса i2c. 
Для обеспечения максимальной производительности по времени рекомендуется использование однотипных портов 
(например, все пины на выход или на вход).
В соответствии с примененным алгоритмом отправка в устройство данных на выходные пины осуществляется только при их изменении
не чаще "периода работы". Этот параметр можно установить "В каждом цикле" в этом случае управление по времени удобно выполнять 
через вход EN.
Период опроса входов можно увеличить параметровм "Множитель опроса входов" - это разгружает шину обмена.

 

СЕНСОРЫ dht22, ds1820, hc-sr04, htu21, bme280, max6675


Сенсор температуры и влажности типа DHT21,DHT22. 
  Блок не поддерживает DHT11 из-за его низкой точности.
Входы:
 1.EN - разрешение работы блока..
 2. Номер пина. Если пин <0, блок не выполняет никаких действий.
Выходы:
  1. ok - флаг готовности устройства и правильных измерений.
  2. T - измеренная температура (-50 - +125 град.С) в формате float с одним знаком после точки. При отсутствии  измерения равна -0.1град.С.
  3. H - измеренная влажности (0-100%) в формате float с одним знаком после точки.  При отсутствии  измерения равна -0.1.
----------------------------------
СЕНСОРЫ dht22, ds1820, hc-sr04, htu21, bme280, max6675
Параметры:
  1. "Разрешение входа EN" - включает/отключает вход EN. Если вход отключен, то работа блока разрешена.
  2. "Период опроса разрешена в мс." 
       По конструктивным особенностям сенсора вызовы не должны быть чаще чем 1 раз в 2000мс.  
       Это значение можно установить равным 0 и управлять периодичностью измерения через вход EN.
  3. "Количество повторов при ошибке измерения".
        После нескольких подряд ошибочных измерений, устанавливаются выходные значения ok=0; T=-0.1; H=0.1. 
Эти значения удерживаются до первого успешного измерения.
Особенности измерения: 
   Запущенный процесс измерения занимает примерно 5,7 мс - в это время процессор занят и 
   реагирует только на аппаратные прерывания, время обработки которых не должны превышать 30-50мкс, 
   в  противном случае может привести к потери сигнала с сенсора и ошибке измерения. 
  Едичные ошибки не  критичны и обрабатыватся блоком.
Используемые библиотеки: RT_HW_DTHx.h версии 4.1 и выше.
-----------------------------------------------------------------
Рекомендации для использовании в FLProg:
 1. Устанавливать на плате, которая вызывается  с периодом менее 1 сек. 
     Обычно это свободная задача, но можно использовать и любой другой тип задачи.

 

1.Осуществляет вывод на консоль:
    1.1.переменных (байт,слово,бит) от 1 до 8 входов с различными форматими.
        Режимы вывода:  в каждом цикле, однократно, по изменению переменных, периодически, 
        периодически при изменении переменных.
    1.2.форматированного текста. Разновидностью этого вывода является вывод горизонтальной линии.
           Режимы вывода:  в каждом цикле, однократно, периодически.
    1.3.параметров использованного контроллера.
           Режимы вывода:  в каждом цикле, однократно, периодически
    1.4.результатов сканирования шины i2c.
           Режимы вывода:  в каждом цикле, однократно, периодически.
2.Все блоки имеют вход разрешения работы EN.xxx.
3.Все блоки имеют выход run -разрешение для работы следующего блока. 
    Этот параметр всегда равен входному параметру EN.xxx.
    Использование EN.xxx и run позволяет выстраивать на плате желаемую последовательность вывода.  

  Сканирует шину i2c и выводит в консоль адреса всех подключенных устройств. 

Выводит на консоль все подключенные пины.

Блок настраивает серийный порт (UART) для консоли.
Без этого блока блоки вывода выполняться не будут.
Блок настраивает UART на скорость работы, определемый параметром RT_HW_Base.console.speed.
Для аппаратного порта по умолчанию скорость=115200.
Для программного порта по умолчанию скорость=9600.
Перед запуском блока этот параметр может быть изменен пользователем.
Входные параметры:
   uart - номер серийного порта для консоли. 
   Этот параметр может быть отключен параметром "Разрешение номера UART"" (false). 
   В этом случае консоль настраивается на uart=0;
Выходные параметры:
 "Заголовок" равен 1 в течении одного цикла после   готовности консоли. 

 

Блоки для ПИНЫ (do,pwm,dac,di,adc,tch,hall)
Запись дискретного пина.
Проверяется физическая доступность пина в контроллере 
и его соответствии выполняемой функции. 
Выполняется через доступ к регистрам (быстрее чем digitalWrite()).

Запись на пин с функцией ШИМ (PWM)  пина.
Проверяется физическая доступность пина в контроллере 
и его соответствии выполняемой функции. 
Выполняется с учетом особенностей контроллеров, в том числе ESP32, STM32.
Входное значение нормализовано до установленной в проекте системной разрядности.
По умолчанию системная разрядность установлена =12, 
соотвественно значение подаваемое на вход должно быть в диапазоне 0-4095.

Запись на аналоговый пин (DAC).
Проверяется физическая доступность пина в контроллере 
и его соответствии выполняемой функции. 
Выполняется с учетом особенностей контроллеров, 
в том числе DUE, ESP32, STM32.
Входное значение нормализовано до установленной в проекте системной разрядности.
По умолчанию системная разрядность установлена =12, 
соотвественно значение подаваемое на вход должно быть в диапазоне 0-4095.

Чтение дискретного пина.
Проверяется физическая доступность пина в контроллере и 
его соответствии выполняемой функции. 
Чтение может быть выполнено с защитой от дребезга.
1. Режим настройки пина:
    пин с подтяжкой к Vcc (вход пин.U);
    плавающий пин            (вход пин.F);
    пин с подтяжкой к GND (вход пин.D).
2. Режим защиты от дребезга:
    без защиты (выход di);
    c защитой с внутренней установкой времени защиты (выход DI);
    c защитой с внешней     установкой времени защиты (выход DI);
3. Время защиты от дребезга устанавливается в мс.

Чтение встроенного в ESP32 датчика Холла.
Выходное значение -128/127.

Чтение сенсорного пина. Только для ESP32.
Проверяется физическая доступность пина в контроллере 
и его соответствии выполняемой функции. 

Чтение аналового пина.
Проверяется физическая доступность пина в контроллере 
и его соответствии выполняемой функции. 
Выходное значение нормализовано до установленной в проекте 
системной разрядности.
По умолчанию системная разрядность установлена =12, 
соотвественно значение с аналогово пина будет в диапазоне 0-4095.

 

 

Блок для вывода процессы и задачи:
В каждый момент времени генерирует только один номер задач разных типов отличный от нуля.
Диспетчер следует размещать в одной из первых плат FLProg (выше только платы  настройки с однократным выполнением).
Эта плата должна вызвываться в каждом цикле loop (т.е. условия вызова платы отсутсвуют).  
Выходы номеров задач:
      control  -  изменяется значение (0/1) в каждом цикле loop() для наблюдения логическим анализатором.
    quick    – номера оперативных задач    (по умолчанию 5 задач,  период смены задачи 10 мс);
    fast        – номера быстрых задач         (по умолчанию 4 задач,  период смены задачи 25 мс);
    slow    – номера медленных задач     (по умолчанию 4 задачи, период смены задачи 250 мс);
    back    – номера фоновых задач        (по умолчанию 5 задач,  период смены задачи 100 мс);
    frdm     - номера свободных задач (без периода) (по умолчанию 25 задач) номера последовательно изменяются 
                в циклах, когда номера предыдущих задач равны 0);
Кол-во задач  могут быть изменены самим блоком или внешним блоком
    (RT_HW_Base.shed.quick.qnt,  RT_HW_Base.shed.fast.qnt,  RT_HW_Base.shed.slow.qnt,  RT_HW_Base.shed.back.qnt).
Периоды задач не изменяются.
Номера задач изменяются циклически. Например для quick ->1,0,2,0,3,0,4,0,5,0  и т.д.)
При одновременной готовности к вызову нескольких типов (quick, fast и т.д.) задач, 
они вызывается по приоритету -> quick, fast, slow, back, frdm. 

Многофункциональный генератор:
1. Генератор событий и меандров.
    Входы: "Разрешение" (подключаемый) [EN], "Полупериод в мс" [time].
    Выходы:"Меандр"(подключаемый) [mean], "Событие" (подключаемый) [event].
2. Генератор импульсов.
    Входы: "Разрешение" (подключаемый) [EN], "Длит.вкл. в мс" (timeON), "Длит.выкл. в мс" (timeOFF).
    Выходы:"Импульс"(pulse).
3. Генератор широтно-импульсного сигнала (ШИМ). 
    Входы:  "Разрешение" (подключаемый), [EN] "Период"(period), "Скважность в %"(w%).
    Выходы: "Широтно-импульсный сигнал" (ШИМ) (pwm).
4. Генератор задач без таймера. 
    Входы: "Разрешение" (подключаемый) [EN], "Кол-во задач" [qnt].
    Выходы: "Номер задачи" [task].
    На выходе task циклично меняются значения от 1 до qnt.
5. Генератор задач с таймером. При EN=1 на выходе task циклично меняются значения от 1 до qnt; 
    Входы: "Разрешение" (подключаемый) [EN], "Период" [period], "Кол-во задач" [qnt].
    Выходы: "Номер задачи" [Task].
    На выходе Task циклично меняются значения от 1 до qnt с периодом=period. 
    Значения устанавливаются на один цикл, остальное время Task=0;
6. Генератор однократной пачки импульсов (меандры)
    (может быть использована для индикации режимов при включении контроллера).
7. Генератор периодической пачки импульсов (меандры).
8. Генератор контрольного сигнала (для контроля цикла loop() логическим анализатором.
9. Генератор секундных импульсов и вычисление моточасов - работает при наличии блока "Диспетчера" в проекте.
10. Делитель входных событий (или передних фронтов импульсов)
    Входы: "Разрешение" (подключаемый) [EN], "Делитель" [div].
    Выходы:"Меандр"(подключаемый) [mean], "Событие" (подключаемый) [event].

 Дешифраторы и конверторы.
Нижепречисленные функции могут быть просто получены и обычными средствами FLProg 
    - реализованы они для удобства создания тестов.
1. Дешифратор на 8 битов: v=0->dc=0;  v=1->dc=1...  v=8->dc=255;       v>0->dc=0;
2. Дешифратор на 16 бит:    v=0->dc=0; v=1->dc=1..  .v=16->dc=65535;  v>0->dc=0;
3. Преобразование тетрады в четыре выхода;
4. Преобразование 16-ти разрядного числа в два 8-ми разрядных числа.

Счетчики:
1.Счетчик "Пила":
    при EN=1     увеличение от порога "Низ" до порога "Верх", 
                сброс до порога "Низ" и повторение цикла.
2.Счетчик "Треугольник":
    при EN=1  увеличение от порога "Низ" до порога "Верх", 
                далее уменьшение до порога "Низ" и повторение цикла.
3.Счетчик "Предел":
    при EN=1     при шаге изменения >0, увеличение от начального значения до +32767,
                при шаге изменения <0, уменьшение от начального значения до -32768;
4.Счетчик "Реверс": 
    при EN+=1     увеличение  до порога "Верх",
    при EN- =1 уменьшение до порога "Низ",
    Если EN+ и EN- одновременно равные 1, значение EN- не обрабатывается.
Примечение: Шаг изменения может присваиваться отрицательное значение. В этом случае 
            Счетчики "Пила", "Треугольник", "Реверс" будут работать с инверсной логикой.

Блок "Фронты" - обработка фронтов входного импульса .
Основные режимы:
1. Выделение переднего фронта (Front).
2. Выделение заднего фронта (Back).
3. Выделение обоих фронтов (Change).
4. При разрешенном входе "Делитель"(div), то выполняется деление входных импульсов. 
Входы:
1.Front,Back,Change - входной импульс;
2.div   - делитель входных импульсов;
Выходы:
1. Событие (сохраняет значение =1 в течении одного цикла loop()).
2. Меандр.

Дешифраторы и конверторы.
Нижепречисленные функции могут быть просто получены и обычными средствами FLProg 
    - реализованы они для удобства создания тестов.
1. Дешифратор на 8 битов: v=0->dc=0;  v=1->dc=1...  v=8->dc=255;       v>0->dc=0;
2. Дешифратор на 16 бит:    v=0->dc=0; v=1->dc=1..  .v=16->dc=65535;  v>0->dc=0;
3. Преобразование тетрады в четыре выхода;
4. Преобразование 16-ти разрядного числа в два 8-ми разрядных числа.

Преобразование. 
(0) Float->Float без точки;
(1) Float->Float с 1 знаком после точки;
(2) Float->Float с 2 знаками после точки;
(3) Float->Float с 3 знаками после точки;
(4) Float->Float с 4 знаками после точки;
(9) 
(A) Float->int16_t x1;
(B) Float->int16_t x10;
(C) Float->int16_t x100;
(N) bool->Float;

 

Таймер обратного отсчёта,отсчёт в секундах.Частоту отсчёта можно изменить в редактировании блока.

T -заданное время.
TIME -оставшееся время до конца цикла,после окончания цикла(отсчёта до 0),принимает значение заданного.
ON -принимает значение 1 после запуска,после окончания цикла сбрасывается в 0.

 

Опрос

Оцените работу сайта

Другие опросы...