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 .Испо Блоки разные (прочее блоки) ДАТЧИК ВЛАЖНОСТИ включенных последовательно отсчёт в секундах
Блок для проигрывания vaw файла

 Проигрываются vaw файлы без расширений . При применении этого блока обязательно использовать вместе с уникальным блоком СД!
 Mega2560 пины  MOSI - 51, MISO - 50, SCK - 52 - SD.    Остальные arduino -  11,12,13. Leonardo подключить к разъему ICSP!
 Входы блока :
ind- название файла без расширения .
pl- возпроизвести файл.


Проигрываются vaw файлы .
Mega2560 пины  MOSI - 51, MISO - 50, SCK - 52 - SD.    Остальные arduino -  11,12,13. 
Контакт SC меняется в параметрах (по умолчанию 10).
Динамик подключить к ШИМ выводам.
Входы блока :
ind- название файла без расширения .
pl- возпроизвести файл.
Имя файла типа - "0", "1", "2", "3", "4", "5","6".... , без расширения.


Проигрываются vaw файлы, как с расширением( 1.wav, 2.wav, singl.wav, ....), так и без расширения (1, 2, 3, singl,  ....).
Mega2560 пины  MOSI - 51, MISO - 50, SCK - 52 - SD.    Остальные arduino -  11,12,13. 
Контакт SC меняется в параметрах (по умолчанию 10).
Динамик подключить к ШИМ выводам.

pl- возпроизвести файл.

 

Блок для Расширение GPIO с помощью MCP23017 (CJMCU-2317)
БЛОК ВВОДА_ВЫВОДА MCP23017.
------------------------------------------------------------------------------------------------------------------------------------
Блок осуществляет обмен с регистрами mcp23017 через шину i2c по адресу=addr.
    Может быть установлен любой адрес. Если адрес <0, устройство не используется, 
    Обычно mcp23017 выпускаются с базовым адресом 0x20 (32 десятичный). 
    Это адрес по умолчанию установлен в библиотеке как "базовый адрес".
    Пространство адресов может меняться входами a0,a1,a2 mcp23017 - всего восемь адресов.
    Если аddr в диапазоне 0-7, то к этому значению будет прибавлено значение базового адреса.
---------------------------------------------------------------------------------------------------------------------------------
Блок может работать с библиотекой RT_HW_MAIN.h и без неё. 
    Если до вызова блока шина i2c не инициализирована, блок инициализирует её. 
--------------------------------------------------------------------------------------------------------------------------------- 
Блок содержит два регистра A и B, кадый из которых может настроен на вывод или ввод - всего шесть режимов:
Настройка регистров определяется параметрами пользователя РЕГИСТР_А и РЕГИСТР_B (char):
    'U'    - вход с подтяжкой внутренним регистром к Vcc и с инверсией;
     'u'    - вход с подтяжкой внутренним регистром к Vcc без инверсии;
    'I'    - вход без подтяжки  к Vcc и с инверсией;
    'i'    - вход без подтяжки  к Vcc без инверсии;
    'O'    - выход прямой;
    'o'     - выход с инверсией.
--------------------------------------------------------------------------------------------------------------------------------------
Обмен с устройством осуществляется периодически с периодом, определяемый параметром "ПЕРИОД В ТИКАХ".
Один тик =50мс. Если ПЕРИОД В ТИКАХ = -1, устанавливается значения периода =10 (соотвествует 500 мс).
При обмене с устройством избыточные операции  обмена (не изменились входные данные или регистр не настроен на соответствующий режим) 
    пропускаются. Этим достигается разгрузка шины i2c.
--------------------------------------------------------------------------------------------------------------------------------------
Алгоритм поиска устройства на шине i2c:
    1.При инициализации устанавливается параметр состояния устройства="поиск устройства не оуществлялось" (=0). 
      2. При первом запуске осуществляется поиск устройства на шине i2c. 
         Если устройство найдено, вчерез 50мс) выполняется дополнительный (контрольный) поиск 
               и устанавливается  параметр состояния устройства="устройство обнаружено и готово к работе"(=2).
      3. Если устройство не найдено, то делается дополнительные 4-попытки обнаружения с периодом 100мс.
      4. Если устройство после дополнительных попыток не обнаружено, 
        то устанавливается  параметр состояния устройства="после поиска устройство не обнаружено"(=1).
     5. В дальнейшем поиск устройства осуществляется с периодичностью 1 сек. 
           Эти запросы на шине i2c по длительности минимально короткие и шину не перегружают.

 

Блок для PID регулятора

Расчет мощности идет по формуле PWR = Kp*E(t)+сумма(E(t)/Ki), где
E(t) -рассогласование (уставка - вход),
Kp,Ki - коэфф ПИ.

Параметры блока:
period - период ПИ и ШИМ в милисекундах

Входы блока:
Value - входная величина
Set - уставка
Kp - коэффициент пропорциональной составляющей >= 0
Ki - коэффициент интегральной составляющей > 0

Выходы блока:
PWR - выходная мощность 0..1000 (0..+100,0%)
pwm - ШИМ на нагреватель

Регулятор может управлять нагревателем (ТЭН).
Автор: Boroda.

Блок для фазового регулятора

Блок фазового регулятора.
Дата создания: 12.2016г.
*****************************************************************
Используется Timer2, поэтому этот блок нельзя использовать в схемах, где также используется этот таймер, например для формирования ШИМ с выводов 3 и 11 в Arduino Uno или Nano.
-------------------------------------------------------------------

Краткий алгоритм работы блока:
- при наступлении внешнего прерывания от детектора нуля синусоиды отключается выход на симмистор и начинается отсчёт времени паузы (значение со входа "Value", в условных единицах), по истечении которой произойдёт прерывание от переполнения таймера
- в момент прерывания от таймера (окончания паузы), включается выход на симмистор и он остаётся открытым (включенным) до конца полупериода сети, т.е. до возникновения прерывания от детектора нуля синусоиды
- далее всё повторяется "по кругу"
--------------------------------------------------------------------

Вход "Value" - задаёт уровень мощности.
Значения можно задавать от 0 до 255 (byte). 0 - минимальная, 255 - максимальная мощность.
При "Value" = 0 - выход на симмистор постоянно отключен, внешнее прерывание и прерывание от переполнения таймера запрещены,
при "Value" = 255 - выход на симмистор постоянно включен, внешнее прерывание и прерывание от переполнения таймера запрещены.
 
В реальности блок имеет около 156 (точнее будет равно 255 - "Val_Zero") значений градации мощности.
Для приведения к более удобному заданию значения уровня мощности использованно "внутреннее" масштабирование с "Val_Zero"...255 к 0...255 (без применения Long-чисел и операции деления, в отличии от стандартного пользовательского блока "Scale"). 
--------------------------------------------------------------------
Вход "Val_Zero" - корректировка "нулевого" значения мощности.
Обычно это значение равно 99 (byte), но возможно понадобиться эксперементальный подбор в небольших пределах этого значения для устранения мерцания лампы или "дёргания" двигателя при минимальных значениях на входе "Level" (кроме нуля, т.к. при нуле - выход на симмистор постоянно отключен).
***************************************************************************


--------------------------------------------------------------------
Параметры "N_Int" - номер внешнего прерывания и "Pin_Int" - номер ножки Arduino, к которому подключен детектор "нуля синусоиды":
Эти параметры необходимо менять совместно.

Прерывание Int0:
N_Int = 0 / Pin_Int = 2 - для Diecimila, Duemilanove, Nano, Pro, Uno и Mega2560
N_Int = 0 / Pin_Int = 3 - для Leonardo и Micro

Прерывание Int1:
N_Int = 1 / Pin_Int = 3 - для Diecimila, Duemilanove, Nano, Pro, Uno и Mega2560
N_Int = 1 / Pin_Int = 2 - для Leonardo и Micro

Прерывание Int2:
N_Int = 2 / Pin_Int = 0 - для Leonardo и Micro
N_Int = 2 / Pin_Int = 21 - для Mega2560

Прерывание Int3:
N_Int = 3 / Pin_Int = 1 - для Leonardo и Micro
N_Int = 3 / Pin_Int = 20 - для Mega2560
  
Прерывание Int4:
N_Int = 4 / Pin_Int = 7 - для Leonardo и Micro
N_Int = 4 / Pin_Int = 19 - для Mega2560

Прерывание Int5:
N_Int = 5 / Pin_Int = 18 - для Mega2560
--------------------------------------------------------------------
Параметр "Mode_Int" - режим возникновения внешнего прерывания от детектора "нуля синусоиды"
 "False" = FALLING прерывание возникает при переходе с лог. 1 на 0 
 "True" = RISING  прерывание возникает при переходе с лог. 0 на 1 
--------------------------------------------------------------------
Параметр "R_Inpt" - "подтягивающий" резистор на входе с прерыванием 
"False"- не подключен, 
"True" - подключен
--------------------------------------------------------------------
Параметр "Pin_Out" - № ножки Arduino, которая подключенна в цепь управления коммутации нагрузки
--------------------------------------------------------------------
Параметр "Invert_Out" инвертирует состояние выхода "Pin_Out"
Например, если выход Arduino подключен к Аноду оптосиммистора, а Катод оптосиммистора к Gnd, то "Invert_Out" = False. 
Если Анод оптосиммистора подключен к +Vdd, а Катод к выходу Arduino, то "Invert_Out" = True.

 

 

Блок для модуля тока и напряжения INA219 (CJMCU-219)
Сопротивление шунта указывать в сотых долях милиома
т.е. на плате стоит 100 милиом, 0,1 Ома, пишем 1000,
Для шунта 10А 75 мВ сопротивление 7,5 милиома - пишем 75
Вход:
R_shunt - Сопротивление шунта в сотых миллиома.На плате из али - R100=1000
Выходы:
Voltage - Вольты
Current - Амперы
V_Shunt - Напряжение на шунте, мВ
MAX_Current - Максимальное значение на шунте!!!
Автор Sancho.

 

Опрос

Вам нравится наш сайт?

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