AM2302 DHT-22 EEPROM ESP32 ESP8266 flprog блоки для конвертация типов FLprog блоки запись в GOOGLE ТАБЛИЦЫ HMINEXTION HMI integer. LCD 20X4 MCU RDA5807M STM32F1 WS2818 БЛОК ДЛЯ ОТПРАВКИ ПИСЕМ НА ПОЧТУ И ЗАПИСЬ ДАННЫХ НА ХОСТИНГ ФАЙЛЫ В АРХИВЕ get.php people.txt cgi-b БЛОКИ ДЛЯ РАДИО ПЕРЕДАТЧИКА LORA RH_RF95 Блок PID регулятора составлен на базе библиотеки Arduino PID Library - Version 1.1.1 Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для OLED дисплея на чипе ST7920 Блок для SD модуля проигрывания vaw файла Блок для АЦП двухканальный 24 bit HX711 Блок для Консоль Блок для Ультразвуковой сенсор V1.0 Блок для ардуино RDA5807M Блок для взвешенное скользящее среднее Блок для генератора частоты - выдаёт меандр с возможностью регулировки частоты Блок для датчика температуры и влажности BME280 Блок для детектирования попадания текущего времени в указанный временной интервал Блок для дисплея OLED SSD1306 ESP8266 rus Блок для дисплея на чипе TFT7735 Ushakov Блок для измерения температуры термистором Блок для компаратор с гистерезисом для нагревателя и холодильника Блок для модуля SIM800L Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для установки соединения с программой Virtuino Блок служит для создания бегущей строки Блоки разные (прочее блоки) включенных последовательно отсчёт в секундах
Вход "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 - инвертировать текст блока.

 

***********************************************************************************************
****  Блок опроса одного выбранного канала АЦП типа НХ711,                         ***   
****  работающий по внешнему прерыванию (Arduino) от DOUT (pin 12 HX711).     *** 
****  Дата создания блока: 11.2016г.                                                                     ***
***********************************************************************************************
---------------------------------------------------------------------------------------------------------------------------------------------
Вход "Ch_Gain" устанавливает номер канала и коэффициент усиления:
Ch_Gain = 1 - канал А с усилением 128;
Ch_Gain = 2 - канал В с усилением 32;
Ch_Gain = 3 - канал А с усилением 64  
---------------------------------------------------------------------------------------------------------------------------------------------
Вход "Zero" - задание нуля или установка тары. 
На выходе сигнал Out = Out - Zero.
Тип входа - Long Integer. Можно задавать значения от -2147483648 до 2147483647.
--------------------------------------------------------------------------------------------------------------------------------------------------
Вход "Scale" - задание диапазона измерений или задание коэффициента пропорциональности.
Данные с АЦП делятся на коэффициент Scale, т.е. преобразуются в "удобный вид".
Out = Out / Scale.
Тип входа - Unsigned Long Integer. Можно задавать значения от 0 до: 4294967295
-----------------------------------------------------------------------------------------------------------------------------------------------------
Дискретный вход "En" - разрешение на включение (En=1) и выключение (En=0) блока.
***************************************************************************************************
Дискретные выхода "Err_Min" и "Err_Max" - превышение минимального и максимального 
допустимых значений на входе АЦП. При этом на соответствующем выходе появляется 
лог. "1", а на выходе Out (если Zero=0 и Scale=1) будут установлены значения 
-8 388 608d = 80 00 00h (Min) или 8 388 607d = 7FFFFFh  (Мax).
---------------------------------------------------------------------------------------------------------------------------------------------------
Выход "HX711_Out" - выход блока. Тип выхода - Long Integer.
==========================================================================
==========================================================================
Параметр "PD_SCK" - задаётся номер выхода Arduino подключенного к в.11 НХ711
---------------------------------------------------------------------------------------------------------------------------------------------------
Параметр "DOUT" - задаётся номер входа Arduino (с внешним прерыванием) подключенный к в.12 НХ711 
Параметр "N_Interrupt" - задаётся номер № внешнего прерывания при изменении сигнала с высокого уровня на низкий.
Задавать надо (0...5 для Mega2560) или (0 или 1 - для остальных Arduinо-к) 
Параметры "DOUT" и "N_Interrupt" - менять только совместно!!!
---------------------------------------------------------------------------------------------------------------------------------------------------
Параметр "N_Read_n2" - задаёт количество опросов АЦП (значение должно быть кратное степени двойки). 
Значения АЦП суммируются "N_Read_n2" раз, по окончании накопления данных
эта сумма делиться на "N_Read_n2", т.е. получается усреднение выходного сигнала.
Чем больше число опросов, тем стабильнее показания, но увеличивается время реакции.
Числа устанавливать только из ряда byte = 1, 2, 4, 8, 16, 32, 64, 128.
При всех других значениях этого параметра - на выходе блока может быть "мусор"!
Такие значения выбранны для того, чтобы исключить "трудную" для Arduino операцию деления
накопленных результатов измерения. Т.е. операция деления реализована сдвигами вправо. 
При N_Read_n2 = 1, сигнал с входа "проходит напрямую".
Время обновления данных = N_Read_n2 * t,
где t=12,5ms (если вывод 15 НХ711 (Rate) соединён с выводом 16 НХ711 (DVDD)
или t=100ms (если вывод 15 НХ711 (Rate) соединён с выводом 3 НХ711 (АVDD).
 
***Для увеличения стабильности выходного сигнала и ускорения времени реакции рекомендуется 
вывод 15 HX711 (вход Rate) подключить к 16 выводу HX711 (DVDD) (это актуально для модуля
на основе "зелёной" платы). "Красная" плата за счёт экранирования и того, что Rate = DVDD
(соответственно N_Read можно увеличить) - имеет немного более стабильные показания, чем 
"зелёная" плата.
**********************************************************************************************
=======================================================================
***********************************************************************************************
Рекомендуется следующий порядок настройки:
1 - установить следующие параметры: "N_Read_n2" = 1; "Zero" = 0; "Scale" = 1
2 - установкой значения "N_Read_n2" подобрать стабильность показаний и нужную скорость
изменения данных. Лучше ориентироваться на приемлемую скорость изменения, исходя из 
того, что чем медленнее - тем стабильней будут показания (после дальнейших преобразований) 
3 - установить значение нуля или тары (при ненагруженном тензодатчике) на входе "Zero"
Zero = Out
4 - положить известный груз на тензодатчик и вычислить коэффициент преобразования по формуле:
Scale = Out / m
где:
Scale - коэффициент пропорциональности
Out - показания на выходе блока 
m - масса известного груза на тензодатчике

***********************************************************************************************
****  Блок поочерёдного опроса обоих каналов АЦП типа НХ711,                         ***   
****  работающий по внешнему прерыванию (Arduino) от DOUT (pin 12 HX711).     *** 
****  Дата создания блока: 11.2016г.                                                                     ***
***********************************************************************************************
Согласно DataSheet на HX711: после смены № канала и коэффициента усиления нужно 
выждать определённое время (параметр из DataSheet "Output settling time" 
("Время установления данных") = 400ms, при RATE (pin15) = 0 или равно 50ms,
при RATE (pin15) = DVDD), поэтому для уменьшения времени обработки блока 
в одном цикле программы, реализован следующий алгоритм опроса НХ711:
- в каждом новом цикле опроса блока считывается только один канал и только один раз.
Расчётное время одного цикла преобразования АЦП = 100ms при RATE (pin15) = 0
или 12,5ms при RATE (pin15) = DVDD.
- первые 4 цикла опроса блока - "пустые" считывания канала А 
- 5-й цикл - считывание канала А с суммированием (если параметр "N_Read_n2" >1)
- 6..9 циклы - "пустые" считывания канала В 
- 10-й цикл - считывание канала В с суммированием (если параметр "N_Read_n2" >1),
затем деление суммы на количество опросов и вывод результатов измерения на выхода.
Деление суммы выполняется операцией "сдвиг вправо", это сделанно для того, чтобы 
исключить "трудную" для Arduino операцию деления накопленных результатов измерения. 
Поэтому в параметре "N_Read_n2" следует задавать числа, только кратные степени двойки. 
- далее циклы повторяются сначала
Рассчётное время обновления данных с одного канала будет равно:
Т[ms] = N_Read_n2 * t * 5,
где:
N_Read_n2 - параметр, задающий число опросов АЦП (числа должны быть кратными степени 2) 
t=12,5ms (если вывод 15 НХ711 (Rate) соединён с выводом 16 НХ711 (DVDD)
или t=100ms (если вывод 15 НХ711 (Rate) соединён с выводом 3 НХ711 (АVDD),
коэф. 5 - число циклов опроса АЦП, после которого "нормализуются" выходные данные
***********************************************************************************************
------------------------------------------------------------------------------------------------------------------------------------------
Дискретный вход "ChА_Gain" устанавливает коэффициент усиления канала А:
ChА_Gain = 0 (false) - канал А с усилением 128;
ChA_Gain = 1 (true) - канал А с усилением 64  
--------------------------------------------------------------------------------------------------------------------------------------------------
Дискретный вход "En" - разрешение на включение (En=1) и выключение (En=0) блока.
***********************************************************************************************
Дискретные выхода "Err_Min" и "Err_Max" - превышение минимального и максимального 
допустимых значений на входе АЦП. При этом на соответствующем выходе появляется 
лог. "1", а на выходах Out_A и Out_B будут установлены значения 
-8 388 608d = 80 00 00h (Min) или 8 388 607d = 7FFFFFh  (Мax).
---------------------------------------------------------------------------------------------------------------------------------------------------
Выходa "Out_A" и "Out_В" - выхода блока. Тип выхода - Long Integer.
==========================================================================
==========================================================================
Параметр "PD_SCK" - задаётся номер выхода Arduino подключенного к в.11 НХ711
---------------------------------------------------------------------------------------------------------------------------------------------------
Параметр "DOUT" - задаётся номер входа Arduino (с внешним прерыванием) подключенный к в.12 НХ711 
Параметр "N_Interrupt" - задаётся номер № внешнего прерывания при изменении сигнала с высокого уровня на низкий.
Задавать надо (0...5 для Mega2560) или (0 или 1 - для остальных Arduinо-к) 
Параметры "DOUT" и "N_Interrupt" - менять только совместно!!!
---------------------------------------------------------------------------------------------------------------------------------------------------
Параметр "N_Read_n2" - задаёт количество опросов АЦП (значение должно быть кратное степени двойки). 
Значения АЦП суммируются "N_Read_n2" раз, по окончании накопления данных
эта сумма делиться ("сдвиг вправо") на "N_Read_n2", т.е. получается усреднение выходного сигнала.
Чем больше число опросов, тем стабильнее показания, но увеличивается время реакции.
Числа устанавливать только из ряда byte = 1, 2, 4, 8, 16, 32, 64, 128.
При всех других значениях этого параметра - на выходе блока будет "мусор"!
При N_Read_n2 = 1, сигналы с входов "проходят напрямую".
//////////////////////////////////////////////////////////////////////////
 
***Для увеличения стабильности выходного сигнала и ускорения времени реакции рекомендуется 
вывод 15 HX711 (вход Rate) подключить к 16 выводу HX711 (DVDD) (это актуально для модуля
на основе "зелёной" платы). " "Красная" плата за счёт экранирования и того, что Rate = DVDD
(соответственно N_Read можно увеличить) - имеет немного более стабильные показания, чем 
"зелёная" плата.

 

GY-85 IMU объединяет ADXL345 (3-осевой акселерометр), HMC5883L (3-осевой цифровой компас) и ITG3205 (3-осевой гироскоп)
Подключение:
  VCC_IN -> 5V;
   SCL -> A5;
   SDA -> A4;
   GND -> GND.

GY-85 IMU объединяет ADXL345 (3-осевой акселерометр), HMC5883L (3-осевой цифровой компас) и ITG3205 (3-осевой гироскоп)

Библиотека:sqrtmo/GY-85-arduino
https://github.com/sqrtmo/GY-85-arduino

 

Компаратор с гистерезисом для нагревателя и холодильника (set+/-hys).
Hot = 1
Out=0, если in>(set+hys).
Out=1, если in<(set-hys).
Hot = 0
Out=1, если in>(set+hys).
Out=0, если in<(set-hys).
Автор: Boroda.

 

Опрос

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

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