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 отсчёт в секундах при которой содержащийся в нём пар достигает состояния насыщения и начинает конденсироваться в росу.

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  (два знака, в верхнем регистре)

 

Опрос

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

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