- Potreben material
- Shema vezja
- LED grafikon
- Arduino program za nadzor napetosti akumulatorja:
- Delovanje indikatorja napetosti akumulatorja
Baterije so opremljene z določeno mejo napetosti in če med polnjenjem ali praznjenjem napetost presega predpisane meje, se življenjska doba baterije poslabša ali zmanjša. Kadarkoli uporabimo projekt na akumulator, moramo včasih preveriti raven napetosti akumulatorja, ali ga je treba napolniti ali zamenjati. To vezje vam bo pomagalo spremljati napetost baterije. Ta indikator napetosti akumulatorja Arduino prikazuje stanje akumulatorja s svetlečimi diodami na 10-segmentnem grafikonu LED glede na napetost akumulatorja. Prikazuje tudi napetost baterije na LCD-prikazovalniku, priključenem na Arduino.
Potreben material
- Arduino UNO
- 10-segmentni LED-grafikon
- LCD (16 * 2)
- Potenciometer-10k
- Upor (100ohm-10; 330ohm)
- Baterija (za testiranje)
- Priključne žice
- 12v adapter za Arduino
Shema vezja
LED grafikon
LED grafikon je v industrijski standardni velikosti z majhno porabo energije. Palica je razvrščena po jakosti svetlobe. Izdelek sam ostaja v različici, skladni z RoHS. Ima napetost naprej do 2,6 v. Odvajanje moči na segment je 65mW. Delovna temperatura LED-grafa je od -40 ℃ do 80 ℃. Obstaja veliko aplikacij za stolpčni graf LED, kot so avdio oprema, instrumentne plošče in digitalni prikaz branja.
Pin Diagram
Konfiguracija zatiča
Arduino program za nadzor napetosti akumulatorja:
Popolna Arduino kodo in predstavitev Video je podan na koncu tega članka. Tu smo razložili nekaj pomembnih delov kode.
Tu definiramo knjižnico LCD in določimo nožice LCD, ki jih bomo uporabljali z Arduinom. Analogni vhod je vzet iz nožice A4 za preverjanje napetosti akumulatorja. Vrednost smo nastavili kot Float, da dobimo napetost do dveh decimalnih mest.
#include
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // niz številk pinov, na katere so pritrjene LED diode int pinCount = 10; // število nožic (tj. dolžina matrike)
Nastavitev LCD-jev in analognih zatičev (A0, A1, A2, A3) kot IZHODNIh zatičev.
void setup () {Serial.begin (9600); // odpre serijska vrata, nastavi hitrost prenosa podatkov na 9600 bps lcd.begin (16, 2); //// nastavimo število stolpcev in vrstic na LCD-ju: pinMode (A0, OUTPUT); pinMode (A1, IZHOD); pinMode (A2, IZHOD); pinMode (A3, IZHOD); pinMode (A4, INPUT); lcd.print ("Voltage Level"); }
Tu naredimo funkcijo za preprosto uporabo stolpčnega grafa LED, LED lahko celo svetiš tako, da jih programiraš enega za drugim, vendar koda postane dolga.
void LED_function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } za (int i = 1, l = 2; i <= stopnja; i ++, l ++) {digitalWrite (l, HIGH); // zamuda (30); }} V tem delu smo z analognim zatičem prebrali vrednost napetosti. Nato analogno vrednost pretvorimo v vrednost digitalne napetosti z uporabo formule za pretvorbo analogne v digitalno in jo prikažemo na LCD-ju.
// Pretvorbena formula za napetost analogValue = analogRead (A4); Serial.println (analogValue); zamuda (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Voltage ="); lcd.print (vhodna_napetost); Serial.println (input_voltage); zamuda (100);
Glede na vrednost vhodne napetosti smo podali določen pogoj za nadzor LED diod v obliki diagrama Pogoj, ki ga lahko preverite spodaj v kodi:
if (input_voltage <0,50 && input_voltage> = 0.00) {digitalWrite (2, HIGH); zamuda (30); digitalWrite (2, LOW); zamuda (30); // ko je napetost enaka ali nizka, bo 1. LED utripala} else if (input_voltage <1,00 && input_voltage> = 0,50) {LED_function (2); } sicer če (vhodna_napetost <1,50 && vhodna napetost> = 1,00) {LED_funkcija (3); } sicer če (vhodna_napetost <2,00 && vhodna napetost> = 1,50) {LED_funkcija (4); } sicer če (vhodna_napetost <2,50 && vhodna napetost> = 2,00) {LED_funkcija (5); } sicer če (vhodna_napetost <3,00 && vhodna napetost> = 2,50) {LED_funkcija (6); } sicer če (vhodna_napetost <3,50 && vhodna napetost> = 3,00) {LED_funkcija (7); } sicer če (vhodna_napetost <4,00 && vhodna napetost> = 3,50) {LED_funkcija (8);} sicer če (vhodna_napetost <4,50 && vhodna napetost> = 4,00) {LED_funkcija (9); } sicer če (vhodna_napetost <5,00 && vhodna napetost> = 4,50) {LED_funkcija (10); }}
Delovanje indikatorja napetosti akumulatorja
Indikator napetosti akumulatorja samo prebere vrednost z analognega zatiča Arduino in jo pretvori v digitalno vrednost s pomočjo formule za analogno digitalno pretvorbo (ADC). Arduino Uno ADC je 10-bitno resolucijo (tako vrednostmi število od 0 - 2 ^ 10 = 1024 vrednosti). To pomeni, da bo preslikal vhodne napetosti med 0 in 5 voltov v celoštevilčne vrednosti med 0 in 1023. Če torej pomnožimo vhodno vrednost anlogValue na (5/1024), potem dobimo digitalno vrednost vhodne napetosti. Tukaj preberite, kako uporabljati vhod ADC v Arduinu. Nato se digitalna vrednost uporabi za ustrezno zasvečenje grafikona LED.
Preverite tudi ta preprost monitor stanja baterije brez kakršnega koli mikrokrmilnika