- Необходим материал
- Електрическа схема
- LED стълбовидна графика
- Програма Arduino за наблюдение на напрежението на батерията:
- Работа на индикатора за напрежение на батерията
Батериите се доставят с определено ограничение на напрежението и ако напрежението надхвърли предписаните граници по време на зареждане или разреждане, животът на батерията се повлиява или намалява. Винаги, когато използваме проект, захранван от батерии, понякога трябва да проверим нивото на напрежението на батерията, независимо дали е необходимо да се зареди или замени. Тази схема ще ви помогне да наблюдавате напрежението на вашата батерия. Този индикатор за напрежение на батерията Arduino показва състоянието на батерията чрез светещи светодиоди на 10-сегментна LED диаграма според напрежението на батерията. Той също така показва напрежението на батерията на LCD дисплея, свързан към Arduino.
Необходим материал
- Arduino UNO
- 10 сегментна LED диаграма
- LCD (16 * 2)
- Потенциометър-10k
- Резистор (100ohm-10; 330ohm)
- Батерия (за тестване)
- Свързващи проводници
- 12v адаптер за Arduino
Електрическа схема
LED стълбовидна графика
Светодиодната диаграма се предлага в стандартни индустриални размери с ниска консумация на енергия. Лентата е категоризирана по интензитет на светлината. Самият продукт остава в съответствие с RoHS версията. Той има напрежение до 2.6v. Разсейването на мощността на сегмент е 65mW. Работната температура на LED диаграмата е от -40 ℃ до 80 ℃. Има много приложения за LED диаграмата като аудио оборудване, инструментални панели и цифров дисплей за отчитане.
Pin диаграма
Конфигурация на ПИН
Програма Arduino за наблюдение на напрежението на батерията:
Най- пълен Arduino код и видео демонстрация се дава в края на тази статия. Тук обяснихме някои важни части от кода.
Тук дефинираме LCD библиотеката и посочваме щифтовете на LCD, които да се използват с Arduino. Аналоговият вход е взет от щифт A4 за проверка на напрежението на батерията. Задали сме стойността като Float, за да получим напрежението до два десетични знака.
#include
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // масив от номера на щифтове, към които са прикрепени светодиодите int pinCount = 10; // броят на щифтовете (т.е. дължината на масива)
Настройване на LCD и аналоговите щифтове (A0, A1, A2, A3) като ИЗХОДНИ щифтове.
void setup () {Serial.begin (9600); // отваря сериен порт, задава скорост на предаване на данни на 9600 bps lcd.begin (16, 2); //// задаване на броя на колоните и редовете на LCD: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Ниво на напрежение"); }
Тук ние правим функция за използване на LED диаграмата, която да се използва по прост начин, дори можете да светите светодиодите, като ги програмирате един по един, но кодът става дълъг.
void LED_function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } за (int i = 1, l = 2; i <= етап; i ++, l ++) {digitalWrite (l, HIGH); // забавяне (30); }} В тази част прочетохме стойността на напрежението, използвайки аналоговия щифт. След това преобразуваме аналоговата стойност в цифрова стойност на напрежението, като използваме формулата за аналогово в цифрово преобразуване и я показваме допълнително на LCD.
// Формула за преобразуване за напрежение analogValue = analogRead (A4); Serial.println (analogValue); забавяне (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Напрежение ="); lcd.print (входно_напрежение); Serial.println (входно_напрежение); забавяне (100);
Според стойността на входното напрежение ние сме дали някакво условие за управление на светодиодите с диаграми на LED. Условието, което можете да проверите по-долу в кода:
ако (входно_напрежение <0,50 && входно_напрежение> = 0,00) {digitalWrite (2, HIGH); забавяне (30); digitalWrite (2, LOW); забавяне (30); // когато напрежението е нула или ниско, първият светодиод ще покаже чрез мигане} else if (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } иначе ако (входно_напрежение <1,50 && входно_напрежение> = 1,00) {LED_функция (3); } иначе ако (входно_напрежение <2,00 && входно_напрежение> = 1,50) {LED_функция (4); } иначе ако (входно_напрежение <2,50 && входно_напрежение> = 2,00) {LED_функция (5); } иначе ако (входно_напрежение <3,00 && входно_напрежение> = 2,50) {LED_функция (6); } иначе ако (входно_напрежение <3,50 && входно_напрежение> = 3,00) {LED_функция (7); } иначе ако (входно_напрежение <4,00 && входно_напрежение> = 3,50) {LED_функция (8);} иначе ако (входно_напрежение <4,50 && входно_напрежение> = 4,00) {LED_функция (9); } иначе ако (входно_напрежение <5,00 && входно_напрежение> = 4,50) {LED_функция (10); }}
Работа на индикатора за напрежение на батерията
Индикатор за напрежение на батерията просто прочетете стойността от аналоговия щифт Arduino и я преобразувайте в цифрова стойност, като използвате формулата за аналогово-цифрово преобразуване (ADC). В Arduino Uno ADC е 10-битова резолюция (така стойности на цяло число от 0 - 2 ^ 10 = 1024 стойности). Това означава, че ще преобразува входните напрежения между 0 и 5 волта в целочислени стойности между 0 и 1023. Така че, ако умножим входното anlogValue на (5/1024), тогава получаваме цифровата стойност на входното напрежение. Научете тук как да използвате ADC въвеждане в Arduino. След това цифровата стойност се използва за съответно светене на LED лентовата графика.
Също така проверете този прост монитор за нивото на батерията без микроконтролер