4G / NRF24L01 ESP32 ESP8266 Блок PID регулятора составлен на базе библиотеки Arduino PID Library - Version 1.1.1 Блок графически отображает уровень сигнала на входе mysignal Блок для DS3231 Sleep Timer - спящий режим и пробуждение по будильнику через прерывание DS3231 Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для FM стерео Радио модуль RDA5807M Блок для INA219 - вольтметр и амперметр с протоколом i2c Блок для Max72xx бегущая строка Блок для детектирования попадания текущего времени в указанный временной интервал Блок для одна кнопка 3 возможных состояния. 1. Одно нажатие (на выходе 1 Click короткий импульс) 2. Блок для очистка дисплея ардуино flprog Блок для плавного включения шим потребителей Блок для распознает жесты вариант на 6 жестов Блок для снятия показаний с трансформатора переменного тока Блок для создание Mesh сети между ESP32 и NodeMCU ESP8266 Блок для таймер обратного отсчёта Блок для телеграмм бот ESP-8266 ESP-32 Telegram Bot Блок для установки соединения с программой Virtuino Блок для энкодера EC11E Блок переводит WiFi модуль ESP в указанный режим работы доступные режимы WIFI_STA WIFI_AP Блок преобразует секунды во время Д:Ч:М:С Блок служит для создания бегущей строки Блок чтение выбранного файла из файовой системы и открытие существующего для записи Блоки для SIM800L И M590 Блоки для организации двустороннего обмена данными (четыре байта) через UART по типу клиент-сервер с Блоки разные (прочее блоки) Блоки разных датчиков DHT22 HTU21 DS18B20 BME280 MAX6675 HC-SR04 ДОКУМЕНТАЦИЯ Запись значения переменной в EEPROM по указанному адресу ESP-8266 Отправка писем через gmail ESP-32 Чтобы послать письмо через gmail используйте порт 465 (SSL) и SMTP Просто блок регулировки от кнопок ТАЙМЕР ТВЕРДОТЕЛЬНОЕ РЕЛЕ Х9С104 блок для счетчик включенных последовательно захода отсчёт в секундах переданного по UART.

AVGN Блок "Датчик тока SCT-013-030" до 100А
На библотеке EmonLib.h
Некоторые пояснения к тексту программы.
Функция emon1.current(0, 30) имеет два параметра. Первый – номер аналогового порта, куда подключен датчик (А0). Второй – калибровочный коэффициент, который получается делением максимального значения измеряемого тока на максимальное значение выходного напряжения датчика. У нас 30/1=30.

Функция emon1.calcIrms(1480), которая выдает действующее значение тока Irms (от англ. root-mean-square), имеет в параметре число 1480. Это означает, что измерения производятся 1480 раз за 14 периодов изменения тока, что составляет примерно 106 измерений за один период. Менять этот параметр не стоит.

 

Вход "Ch_Gain" устанавливает номер канала и коэффициент усиления:
Ch_Gain = 1 - канал А с усилением 128;
Ch_Gain = 2 - канал В с усилением 32;
Ch_Gain = 3 - канал А с усилением 64  
------------------------------------------------------------------------------------------------------------------------------------------
Вход "N_Read" - задаётся число опросов АЦП. Значения АЦП суммируются N_Read раз,
затем эта сумма делиться на N_Read, т.е. получается усреднение выходного сигнала.
Тем больше число опросов, тем стабильнее показания, но увеличивается время реакции.
Значения можно задавать в пределах от 1 до 255. 
При N_Read = 1, сигнал с входа "проходит напрямую", без суммирования и деления.
Для увеличения стабильности выходного сигнала и ускорения времени реакции рекомендуется 
вывод 15 HX711 (вход Rate) подключить к 16 выводу HX711 (DVDD) (это актуально для модуля
на основе "зелёной" платы). "Красная" плата за счёт экранирования и того, что Rate = DVDD
(соответственно N_Read можно увеличить) - имеет немного более стабильные показания, чем 
"зелёная" плата.
----------------------------------------------------------------------------------------------------------------------------------------------
Вход "Zero" - задание нуля или установка тары. 
На выходе сигнал Out = Out - Zero.
Можно задавать значения от 0 до 4294967295.
-----------------------------------------------------------------------------------------------------------------------------------------------
Вход "Scale" - задание диапазона измерений или задание коэффициента пропорциональности.
Данные с АЦП делятся на коэффициент Scale, т.е. преобразуются в "удобный вид".
Out = Out / Scale.
Можно задавать значения от -3.4028235e38 до 3.4028235e38 (числа с плавающей запятой).
------------------------------------------------------------------------------------------------------------------------------------------------
Дискретный вход "Sleep" - перевод АЦП в "спящий" режим (режим пониженного энергопотребления).
0 - нормальная работа АЦП, 1 - режим "сна".
Следует учитывать, что после "просыпания" и при Gain = 2 или 3 (канал Вх32 или Ах64),
первое значение на выходе блока (Out) будет с канала А с усилением 128 (см. DataSheet).
--------------------------------------------------------------------------------------------------------------------------------------------------
Дискретный вход "En" - разрешение на включение (En=1) и выключение (En=0) блока.
***********************************************************************************************
Дискретные выхода "Err_Min" и "Err_Max" - превышение минимального и максимального 
допустимых значений на входе АЦП. При этом на соответствующем выходе появляется 
лог. "1", а на выходе Out (если Zero=0 и Scale=1) будут установлены значения 
800000h (Min) или 7FFFFFh  (Мax).
---------------------------------------------------------------------------------------------------------------------------------------------------
Выход "Out" - выход блока. Тип выхода - float (плавающая запятая).
==========================================================================

==========================================================================
Рекомендуется следующий порядок настройки:
1 - установить следующие параметры: N_Read = 1; Zero = 0; Scale = 1
2 - установкой значения "N_Read" подобрать стабильность показаний и нужную скорость
изменения данных. Лучше ориентироваться на приемлемую скорость изменения, исходя из 
того, что чем медленнее - тем стабильней будут показания (после дальнейших преобразований) 
3 - установить значение нуля или тары (при ненагруженном тензодатчике) на входе "Zero"
Zero = Out
4 - положить известный груз на тензодатчик и вычислить коэффициент преобразования по формуле:
Scale = Out / m
где:
Scale - коэффициент пропорциональности
Out - показания на выходе блока 
m - масса известного груза на тензодатчике
Вход "Ch_Gain" устанавливает номер канала и коэффициент усиления:
Ch_Gain = 1 - канал А с усилением 128;
Ch_Gain = 2 - канал В с усилением 32;
Ch_Gain = 3 - канал А с усилением 64  
------------------------------------------------------------------------------------------------------------------------------------------
Вход "N_Read" - задаётся число опросов АЦП. Значения АЦП суммируются N_Read раз,
затем эта сумма делиться на N_Read, т.е. получается усреднение выходного сигнала.
Тем больше число опросов, тем стабильнее показания, но увеличивается время реакции.
Значения можно задавать в пределах от 1 до 255. 
При N_Read = 1, сигнал с входа "проходит напрямую", без суммирования и деления.
Для увеличения стабильности выходного сигнала и ускорения времени реакции рекомендуется 
вывод 15 HX711 (вход Rate) подключить к 16 выводу HX711 (DVDD) (это актуально для модуля
на основе "зелёной" платы). "Красная" плата за счёт экранирования и того, что Rate = DVDD
(соответственно N_Read можно увеличить) - имеет немного более стабильные показания, чем 
"зелёная" плата.
----------------------------------------------------------------------------------------------------------------------------------------------
Вход "Zero" - задание нуля или установка тары. 
На выходе сигнал Out = Out - Zero.
Можно задавать значения от 0 до 4294967295.
-----------------------------------------------------------------------------------------------------------------------------------------------
Вход "Scale" - задание диапазона измерений или задание коэффициента пропорциональности.
Данные с АЦП делятся на коэффициент Scale, т.е. преобразуются в "удобный вид".
Out = Out / Scale.
Можно задавать значения от -3.4028235e38 до 3.4028235e38 (числа с плавающей запятой).
------------------------------------------------------------------------------------------------------------------------------------------------
Дискретный вход "Sleep" - перевод АЦП в "спящий" режим (режим пониженного энергопотребления).
0 - нормальная работа АЦП, 1 - режим "сна".
Следует учитывать, что после "просыпания" и при Gain = 2 или 3 (канал Вх32 или Ах64),
первое значение на выходе блока (Out) будет с канала А с усилением 128 (см. DataSheet).
--------------------------------------------------------------------------------------------------------------------------------------------------
Дискретный вход "En" - разрешение на включение (En=1) и выключение (En=0) блока.
***********************************************************************************************
Дискретные выхода "Err_Min" и "Err_Max" - превышение минимального и максимального 
допустимых значений на входе АЦП. При этом на соответствующем выходе появляется 
лог. "1", а на выходе Out (если Zero=0 и Scale=1) будут установлены значения 
800000h (Min) или 7FFFFFh  (Мax).
---------------------------------------------------------------------------------------------------------------------------------------------------
Выход "Out" - выход блока. Тип выхода - float (плавающая запятая).
Выход "Out2" - выход блока. Тип выхода - Long Integer.
==========================================================================

==========================================================================
Рекомендуется следующий порядок настройки:
1 - установить следующие параметры: N_Read = 1; Zero = 0; Scale = 1
2 - установкой значения "N_Read" подобрать стабильность показаний и нужную скорость
изменения данных. Лучше ориентироваться на приемлемую скорость изменения, исходя из 
того, что чем медленнее - тем стабильней будут показания (после дальнейших преобразований) 
3 - установить значение нуля или тары (при ненагруженном тензодатчике) на входе "Zero"
Zero = Out
4 - положить известный груз на тензодатчик и вычислить коэффициент преобразования по формуле:
Scale = Out / m
где:
Scale - коэффициент пропорциональности
Out - показания на выходе блока 
m - масса известного груза на тензодатчике
 
Блок для TFT дисплея ST7735
Библиотека TFT идет в комплекте с Arduino IDE.
Библиотеку с кириллицей поставьте сюда   C:\Users\User\Documents\Arduino\libraries\TFT.
Или удалите с Arduino IDE, куда компилируется проект из FLProg и поставьте прилагаемую.

Библиотека TFT идет в комплекте с Arduino IDE. Для латиницы ничего устанавливать не надо.

 

Основной блок. Для дислеев 128х64 с адресом 0х3С.
 Должен распологатся перед блоками вывода строк (можно на первой плате). 
Единица на входе "invert" инвертирует изображение на всём экране.
Шрифт 10x14, 4 строки по 10 символов.
Шаг строк 1/2 знака, таким образом:
1-я строка будет под номером 2
2-я под номером 4
3-я под номером 6
4-я под номером 8
Входа:
    EN - показать/скрыть текст блока. 
    invert - инвертировать текст блока.
Шрифт 5х7, 8 строк по 21 символу.
Входа:
    EN - показать/скрыть текст блока. 
    invert - инвертировать текст блока.

 

записывает время в модуль
год указывается без учёта века, в формате 0-99
часы указываются в 24-часовом формате, от 0 до 23
если предыдущий параметр надо оставить без изменений, то можно указать отрицательное или заведомо большее значение

функция получает и выводит строку заменяя описанные ниже символы на текущее время
----------------------------------------------------------------------
     пример: "d-m-Y, H:i:s, D"
                    ответит строкой "01-10-2015, 14:00:05, Thu"
     пример: "s"
                    ответит строкой "05"
---------------------------------------------------------------------- 
 s   секунды                       от      00    до       59  (два знака)
 i   минуты                        от      00    до       59  (два знака)
 h   часы в 12-часовом формате     от      01    до       12  (два знака)
 H   часы в 24-часовом формате     от      00    до       23  (два знака)
 d   день месяца                   от      01    до       31  (два знака)
 w   день недели                   от       0    до        6  (один знак: 0-воскресенье, 6-суббота)
 D   день недели наименование      от     Mon    до      Sun  (три знака: Mon Tue Wed Thu Fri Sat Sun)
 m   месяц                         от      01    до       12  (два знака)
 M   месяц наименование            от     Jan    до      Dec  (три знака: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
 Y   год                           от    2000    до     2099  (четыре знака)
 y   год                           от      00    до       99  (два знака)
 a   полдень                               am   или       pm  (два знака, в нижнем регистре)
 A   полдень                               AM   или       PM  (два знака, в верхнем регистре)

 

Опрос

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

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