bme280 ESP32 ESP8266 flprog блоки для световых эффектов mcp23x017 STM32H7 БЛОК ДЛЯ РАБОТЫ С МОДУЛЕМ SIM800L GSM_NEW 0.5B Это главный блок для sim800l Блок "Кнопка" (Button) Это обработчик различных нажатий. Блок TFT дисплея Adafruit ST7735 mod karens4 v3 Блок для 3-осевой акселерометр HMC5883L 3-осевой цифровой компас и ITG3205 3-осевой гироскоп Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для ESP-8266 IR приемник3.0 Блок для GPS Блок для датчика температуры и влажности HTU21D Блок для детектирования попадания текущего времени в указанный временной интервал Блок для дисплея SSD1306 ESP8266 Блок для задержка импульса Блок для инициализации MQTT и CMD клиентов Блок для массивы в Arduino Блок для модуля тока и напряжения INA219 (CJMCU-219) Сопротивление шунта указывать в сотых долях мил Блок для основной блок MQTT на базе ESP8266 Блок для парсинга погоды из интернета сайт openweathermap.org Блок для пользовательский WEB интерфейс на ESPUI для esp8266 esp32 Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для управления светодиодом на основе ws2812b Блок для установки соединения с программой Virtuino Блок для энкодер Pro (EncPro)  V1.4 Блок опроса одного выбранного канала АЦП типа НХ711 Блок предназначен использования с экранами LCD1602  HD44780  и его клонами с  I2C Блок служит для выдачи запроса по http.  У входа out у блока прописывается адрес сайта дапустим   на Блок служит для создания бегущей строки Блок управления биполярных шаговых двигателей с интерфейсом STEP/DIR Блоки для ESPUI - веб-интерфейс из блоков для ESP8266 Блоки для датчика переменного напряжения ZMPT101B Блоки приема-передачи четырех байт данных через интерфейс UART с использованием протокола PJON .Испо Блоки разные (прочее блоки) ДАТЧИК ВЛАЖНОСТИ включенных последовательно отсчёт в секундах
Блок для настройки шин 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.

 

Опрос

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

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