di ESP32 ESP8266 ESPUI flprog блоки для управления сервоприводом HC-06HC-SR501 KEYPAD MAX6675 MOC3061 SCADA singl.wav UART Датчик давления и температуры БЛОК ДЛЯ РАБОТЫ С МОДУЛЕМ SIM800L GSM_NEW 0.6b ЭТО ГЛАВНЫЙ БЛОК ДЛЯ SIM800L Блок (в сочетании с HTML+JS кодом) позволяет обнаруживать свои есп в локальной сети.  С помощью брау Блок Русифицированная изменяемая "бегущая строка" для светодиодных матриц 8х8 с чипом MAX7 Блок для 8-и разрядного 7-и сегментного дисплея на 2-х сдвиговых регистрах 74НС595 с 16-разрядным (8 Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для ESP8266 MCP23017 - Расширитель портов 16 бит I2C Блок для GPS-Block v0.5 NEO-6M Блок для Выбор тестовых параметров Блок для Расширение GPIO с помощью MCP23017 Блок для автомобильного бортового компьютера Блок для бегущая строка адресной светодиодной ленты Блок для вывода даты и времени Data Time Блок предназначен для совместного использования с блоками M Блок для датчик температуры и влажности HDC1080 на шине I2C Блок для детектирования попадания текущего времени в указанный временной интервал Блок для дисплея ST7920 TM1637D6 LCD12864 SSD1306 Блок для записи и чтения ЕЕПРОМ Блок для инициализирует указанный цифровой порт высоким сигналом при включении контроллера Блок для модуль MAX6675 + модуль датчика термопары типа K Блок для настройки радиомодуль HC-12 433Mhz на SI4463 c UART интерфейсом. Блок для относительная влажность Блок для передачи mail почты ESP8266 ESP32 Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для установки соединения с программой Virtuino Блок служит для создания бегущей строки Блоки разные (прочее блоки) включенных последовательно отсчёт в секундах
Блок предназначен для конвертации переменная в виде (HEX) на выходе будет виде (Dec)
Блок предназначен для конвертации строковых символов, которые несут в себе цифровую информацию, записанную в шестнацатеричном виде.
Блок способен преобразовать 4 байта информации на входе, представленной в шестнацатеричном виде.
Пример:
На вход подается переменная в виде (HEX) 0A1B2C3D, на выходе будет значение 169552957 в десятичном виде (Dec).
Внимание, блок "понимает" латинские прописные и заглавные символы, но не будет работать с кирилицей !
Блок предназначен для конвертации строковых символов, которые несут в себе цифровую информацию, записанную в шестнацатеричном виде.
Блок способен переработать только 1 байт информации на выходе.
На вход подается переменная в виде 0A, на выходе будет числовое значение в шестнацатеричном виде (Byte).
Внимание, блок "понимает" латинские прописные и заглавные символы но не будет работать с кирилицей !

 

Блок для проигрывания 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.

 

 

Опрос

Вам пригодился материал с нашего сайта?

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