Блок читает карту RFID и выдает ее ID на выход CardID.
Пока карта в поле зрения на выходе Card единица.
Автор: Boroda
Вход "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 - масса известного груза на тензодатчике
GPS-Block v0.5 NEO-6M
Слимпер by Ernesto edition 2016 v 0.5
Внимание!
Работает на IDE 1.0.5 работа на других версиях не гарантированна.
Блок для 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