4х слов данных и контрольной суммы. Блок передачи сигнала по радиоканалу. Пакет состои BMP 280 DS1307 ESP8266 ESPUI hall) KEYPAD MAX7219 RDA5807M STM32F4 БЛОК ВВОДА_ВЫВОДА MCP23017 БЛОКИ ДЛЯ TFT ДИСПЛЕЯ НА БИБЛИОТЕКИ ADAFRUIT ST7735 Блок TFT дисплея Adafruit ST7735 mod karens4 v3 Блок для 3-осевой акселерометр HMC5883L 3-осевой цифровой компас и ITG3205 3-осевой гироскоп Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для ESP-8266 управления Ботом Телеграм Блок для Энергомонитор на базе PZEM-004t Блок для вывода любого символа для дисплей 16х02 или 20х04 I2C Блок для датчика CO2 углекислый газ на чипе CCS811 Блок для детектирования попадания текущего времени в указанный временной интервал Блок для дисплея OLED SSD1306 ESP8266 rus Блок для задержка импульса Блок для интеллектуальная кнопка Блок для модуль датчика BME280 атмосферного давления температуры и влажности высота Блок для одного Блок для передачи ИК сигналов в кондиционер YORK Блок для самодельной сенсорной кнопки Блок для снятия показаний с трансформатора переменного тока Блок для супер кнопка ввод числа v.1.0 Блок для установки соединения с программой Virtuino Блок модуль датчика тока 10А 20A 30А на ACS712 Блок предназначен для программирования плавного Включения и Отключения освещения управляется от часо Блок служит для выдачи запроса по http.  У входа out у блока прописывается адрес сайта дапустим http Блоки разные (прочее блоки) ЗАРЯДНОЕ УСТРОЙСТВО Плавное увеличение/уменьшение ШИМ на определённую величину в течении заданного времени СТРОЖЕВОЙ ТАЙМЕР Установка сек включенных последовательно напрямую по WiFi между контроллерами. Связь мо
Блок для вывода процессы и задачи:
В каждый момент времени генерирует только один номер задач разных типов отличный от нуля.
Диспетчер следует размещать в одной из первых плат 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.

 

Блок (в сочетании с HTML+JS кодом) позволяет обнаруживать свои есп в локальной сети. 
С помощью браузера или Андроид-приложения.
вход "my_text_identification" - текст который будет отображаться при нахождении ЭТОЙ есп при поиске.
(для облегчения ее идентификации).
Можно искать свои есп как из веб-интерфейса самой есп, так и открыв локальный файл .html в браузере,
либо с помощью Андроид-приложения.

 

Блок для модуль с Passive Buzzer
Пины не должны совпадать друг с другом.
Подключение:
PIN VCC - любой доступный цифровой выход с которого будет подаватся напряжение на модуль в пин VCC
PIN I/O    - любой доступный цифровой выход с которого будет подаватся частота на на модуль в пин I/O (в некоторых обозначен S)
SOUND - частота  (пример, 500)  Задавая при EN=1 на входе SOUND разные цифры от 100 до 4000 можно менять звук 
Принцип работы: при EN=1 звук , при EN=0 звука нет.

 

Блок "Кнопка" (Button)

Это обработчик различных нажатий.
С помощью конфигурации параметров можно настроить необходимые выходы блока.

Типы кнопок:
Поддерживаются как кнопки на дискретных так и на аналоговых входах,

Поддерживаются следующие типы нажатий:
- Одиночный клик
- Двойной клик
- Тройной клик
- и т.д. до 10 кликов
- Удержание (длинное нажатие)
- Одиночный клик + Удержание
- Двойной клик + Удержание
- и т.д. до 10 кликов + Удержание

Доступны следующие функции:
- Подсчет кликов совершенных подряд
- Подсчет кликов совершенных подряд до удержания
- Инкрементный сигнал
- Адресный инкрементный сигнал
- Ускорение инкрементного сигнала

При установке чек-боксов на необходимых сочетаниях и функциях
у блока формируются соответствующие выходы.

Более подробное описание работы блока можно посмотреть на сайте
или на форуме: 

Автор: Dryundel

 

Блок предназначен использования с экранами LCD1602  HD44780  и его клонами с  I2C. 
Блок поддерживает вывод  кириллицы (русский язык), на экранах в которых она НЕ зашита в знакогенераторе.
По умолчанию настройки для LCD порт 27
column - начало вывода символа читая с лева. Константа 1 - первый столбец
cle_ar - очистка дисплея.

 

Изменил исходный блок, сделал одинаковую уставку +- и задаю её со входа. starshoy81
Логика компаратора с гистерезисом стандарта от Siemens Logo. Правило звучит так:    
 Выход становится = 1, когда разность Ax-Ay преодолевает (превышает) порог "On"; чтобы он стал после этого = 0, надо чтобы разность Ах - Ау преодолела порог Off ( не важно в какую сторону, - в ту, с какой Off находится от On)..
Реализация этого правила и его смысл разнится в зависимости от того, On больше Off или меньше. 
1. когда On >= Off, правило превращается в такое:  если разница превысила порог On, то выход будет = 1 до тех пор, пока разница не станет меньше Off
(например они равны значениям по умолчанию +1 и -1 соответственно, это работает как гистерезис в 2 единицы около нуля)
2. когда On < Off, правило превращается в такое: если разница превысила порог On, то выход будет = 1 до тех пор, пока разница все еще меньше Off 
(Это  работает как контроль диапазона разницы  Ах и Ау в пределах между минимальным значением On и максимальным Off)
формально это правило звучит так: 
1.  Если порог включения (On) >= порогу выключения (Off), то: Q = 1, если (фактическое значение Ax - фактическое значение Ay) > On Q = 0, если (фактическое значение Ax - фактическое значение Ay) <= Off.
2. Если порог включения (On) < порога выключения (Off), то Q = 1, если On <= (фактическое значение Ax - фактическое значение Ay) < Off.
одновременное соблюдение 2 условий невозможно, поэтому записываем их через встроенные блоки и ставим логическое "OR"  

Популярные новости

Опрос

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

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