1 Ома 5 кнопок на одном аналоговом входе BMP 280 DS1302 ESP32 ESP8266 Блок "Кнопка" (Button) Это обработчик различных нажатий. Блок TFT дисплея Adafruit ST7735 mod karens4 v3 Блок для 3-осевой акселерометр HMC5883L 3-осевой цифровой компас и ITG3205 3-осевой гироскоп Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для ESP-8266 IR приемник3.0 Блок для GPS Блок для Ina226 двунаправленное Напряжение Тока Блок для NRF24L01 модуль беспроводной передачи данных 2 Блок для PID регулятора Блок для Servo Управление Блок для Время числом - в часы Блок для детектирования попадания текущего времени в указанный временной интервал Блок для модуля тока и напряжения INA219 (CJMCU-219) Сопротивление шунта указывать в сотых долях мил Блок для основной блок MQTT на базе ESP8266 Блок для парсинга погоды из интернета сайт openweathermap.org Блок для пользовательский WEB интерфейс на ESPUI для esp8266 esp32 Блок для радиомодуля nRF24L01+ Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для таймер обратного отсчёта отсчёт в секундах Блок для управления электронными потенциометрами Х9Сххх Блок для установки соединения с программой Virtuino Блок для энкодера Блок парсит погоду с сайта api.openweathermap.org Блок преобразует данные с датчика MPC9700 в градусы. Блок для передача данных по UART Блок служит для опроса одного датчика (только один датчик на один пин). Реализован контроль работосп Блок служит для создания бегущей строки Блоки разные (прочее блоки) Этот блок предназначен для работы с программой CANHacker V2.00.01 и работает в связке с модулем MCP2 блок используется для передачи и приема данных с помощью ESP8266 и ESP32 без создания WiFi сети включенных последовательно которая оптимизированна для контроллеров STM32 отсчёт в секундах при которой содержащийся в нём пар достигает состояния насыщения и начинает конденсироваться в росу.
Блок предназначен для конвертации переменная в виде (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.

 

 

Опрос

Откуда Вы узнали о нашем сайте?

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