- Material necesar
- Diagrama circuitului
- Grafic cu bare LED
- Program Arduino pentru monitorizarea tensiunii bateriei:
- Funcționarea indicatorului de tensiune a bateriei
Bateriile au o anumită limită de tensiune și dacă tensiunea depășește limitele prescrise în timpul încărcării sau descărcării, durata de viață a bateriei va fi afectată sau redusă. Ori de câte ori folosim un proiect alimentat cu baterie, uneori trebuie să verificăm nivelul de tensiune al bateriei, dacă este necesar să fie încărcat sau înlocuit. Acest circuit vă va ajuta să monitorizați tensiunea bateriei. Acest indicator de tensiune a bateriei Arduino indică starea bateriei prin aprinderea LED-urilor pe un grafic cu bare LED cu 10 segmente în funcție de tensiunea bateriei. De asemenea, arată tensiunea bateriei pe ecranul LCD conectat la Arduino.
Material necesar
- Arduino UNO
- Grafic cu bare LED cu 10 segmente
- LCD (16 * 2)
- Potențiometru-10k
- Rezistor (100ohm-10; 330ohm)
- Baterie (de testat)
- Conectarea firelor
- Adaptor 12v pentru Arduino
Diagrama circuitului
Grafic cu bare LED
Graficul cu bare LED este disponibil în dimensiuni standard industriale, cu un consum redus de energie. Bara este clasificată pentru intensitatea luminoasă. Produsul în sine rămâne în versiunea conformă RoHS. Are o tensiune înainte de până la 2,6v. Disiparea puterii pe segment este de 65mW. Temperatura de funcționare a graficului cu bare LED este de -40 ℃ la 80 ℃. Există multe aplicații pentru graficul cu bare LED, cum ar fi echipamentele audio, panourile de instrumente și afișajul citirii digitale.
Diagrama Pin
Configurare pin
Program Arduino pentru monitorizarea tensiunii bateriei:
Complet cod Arduino și video este dat la sfârșitul acestui articol. Aici am explicat câteva părți importante ale codului.
Aici, definim biblioteca LCD și specificăm pinii LCD pentru a fi utilizați cu Arduino. Intrarea analogică este preluată de la pinul A4 pentru verificarea tensiunii bateriei. Am setat valoarea ca Float pentru a obține tensiunea până la două zecimale.
#include
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // o serie de numere de pin la care sunt atașate LED-uri în pinCount = 10; // numărul de pini (adică lungimea tabloului)
Configurarea ecranului LCD și a pinilor analogici (A0, A1, A2, A3) ca pini OUTPUT.
void setup () {Serial.begin (9600); // deschide portul serial, setează rata de date la 9600 bps lcd.begin (16, 2); //// configurați numărul LCD de coloane și rânduri: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Nivel de tensiune"); }
Aici, realizăm o funcție pentru utilizarea graficului cu bare LED pentru a fi utilizat într-o manieră simplă, puteți chiar să aprindeți LED-urile programându-le unul câte unul, dar codul devine lung.
void LED_function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } for (int i = 1, l = 2; i <= stage; i ++, l ++) {digitalWrite (l, HIGH); // întârziere (30); }} În această parte, am citit valoarea tensiunii folosind pinul analogic. Apoi, convertim valoarea analogică într-o valoare de tensiune digitală utilizând formula de conversie analogică în digitală și o afișăm în continuare pe ecranul LCD.
// Formula de conversie pentru tensiune analogValue = analogRead (A4); Serial.println (analogValue); întârziere (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Tensiune ="); lcd.print (input_voltage); Serial.println (input_voltage); întârziere (100);
În funcție de valoarea tensiunii de intrare, am dat unele condiții pentru a controla LED-urile cu grafic cu bare. Condiția pe care o puteți verifica mai jos în cod:
if (input_voltage <0.50 && input_voltage> = 0.00) {digitalWrite (2, HIGH); întârziere (30); digitalWrite (2, LOW); întârziere (30); // când tensiunea este zero sau scăzută, primul LED va indica intermitent} else if (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } else if (input_voltage <1,50 && input_voltage> = 1,00) {LED_function (3); } else if (input_voltage <2.00 && input_voltage> = 1.50) {LED_function (4); } else if (input_voltage <2.50 && input_voltage> = 2.00) {LED_function (5); } else if (input_voltage <3.00 && input_voltage> = 2.50) {LED_function (6); } else if (input_voltage <3.50 && input_voltage> = 3.00) {LED_function (7); } else if (input_voltage <4.00 && input_voltage> = 3.50) {LED_function (8);} else if (input_voltage <4.50 && input_voltage> = 4.00) {LED_function (9); } else if (input_voltage <5.00 && input_voltage> = 4.50) {LED_function (10); }}
Funcționarea indicatorului de tensiune a bateriei
Indicatorul de tensiune a bateriei trebuie doar să citiți valoarea de la pinul Arduino Analog și să o convertiți într-o valoare digitală utilizând formula de conversie analogică la digitală (ADC). Arduino Uno ADC este de rezoluție de 10 biți (deci valorile întregi de la 0 - 2 ^ 10 = 1024 valori). Aceasta înseamnă că va mapa tensiunile de intrare între 0 și 5 volți în valori între 0 și 1023. Deci, dacă înmulțim anlogValue de intrare la (5/1024), atunci obținem valoarea digitală a tensiunii de intrare. Aflați aici cum să utilizați intrarea ADC în Arduino. Apoi, valoarea digitală este utilizată pentru a aprinde graficul cu bare LED în consecință.
De asemenea, verificați acest monitor simplu de nivel al bateriei fără microcontroler