- Potrebný materiál
- Schéma zapojenia
- LED stĺpcový graf
- Program Arduino na monitorovanie napätia batérie:
- Fungovanie indikátora napätia batérie
Batérie majú určitý limit napätia a ak napätie počas nabíjania alebo vybíjania prekročí predpísané limity, životnosť batérie sa ovplyvní alebo zníži. Kedykoľvek použijeme projekt napájaný z batérie, niekedy musíme skontrolovať úroveň napätia batérie, či je potrebné ju nabiť alebo vymeniť. Tento obvod vám pomôže sledovať napätie batérie. Tento indikátor napätia batérie Arduino indikuje stav batérie svietiacimi LED diódami na 10-segmentovom LED stĺpcovom grafe podľa napätia batérie. Zobrazuje tiež vaše napätie batérie na LCD displeji pripojenom k Arduinu.
Potrebný materiál
- Arduino UNO
- 10-segmentový LED stĺpcový graf
- LCD (16 * 2)
- Potenciometer - 10k
- Rezistor (100ohm-10; 330ohm)
- Batéria (bude testovaná)
- Pripojovacie vodiče
- 12V adaptér pre Arduino
Schéma zapojenia
LED stĺpcový graf
Stĺpcový graf LED je dodávaný v štandardnej priemyselnej veľkosti s nízkou spotrebou energie. Lišta je kategorizovaná podľa intenzity svetla. Samotný produkt zostáva vo verzii vyhovujúcej smernici RoHS. Má dopredné napätie až 2,6v. Strata výkonu na segment je 65 mW. Prevádzková teplota stĺpcového grafu LED je -40 80 až 80 ℃. Existuje veľa aplikácií pre stĺpcový graf LED, ako napríklad zvukové zariadenie, prístrojové panely a digitálny displej.
Schéma pripnutia
Konfigurácia špendlíka
Program Arduino na monitorovanie napätia batérie:
Kompletné Arduino kód a demonštračné video je uvedený na konci tohto článku. Tu sme vysvetlili niektoré dôležité časti kódu.
Tu definujeme knižnicu LCD a špecifikujeme piny LCD, ktoré sa majú použiť s Arduino. Analógový vstup je prevzatý z kolíka A4 na kontrolu napätia batérie. Nastavili sme hodnotu ako Float, aby sme dostali napätie až na dve desatinné miesta.
#include
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // pole čísel pinov, ku ktorým sú pripojené LED diódy int pinCount = 10; // počet pinov (tj. dĺžka poľa)
Nastavenie LCD a analógových pinov (A0, A1, A2, A3) ako výstupných pinov.
void setup () {Serial.begin (9600); // otvorí sériový port, nastaví dátový tok na 9600 bps lcd.begin (16, 2); //// nastavenie počtu stĺpcov a riadkov LCD: pinMode (A0, OUTPUT); pinMode (A1, VÝSTUP); pinMode (A2, VÝSTUP); pinMode (A3, VÝSTUP); pinMode (A4, VSTUP); lcd.print ("Úroveň napätia"); }
Tu vytvoríme funkciu jednoduchého použitia stĺpcového grafu LED. Môžete dokonca svietiť LED tak, že ich naprogramujete jeden po druhom, ale kód bude zdĺhavý.
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); // oneskorenie (30); }} V tejto časti sme načítali hodnotu napätia pomocou analógového kolíka. Potom prevádzame analógovú hodnotu na digitálnu hodnotu napätia pomocou analógového na digitálny prevod a ďalej ju zobrazujeme na LCD displeji.
// Prepočítavací vzorec pre napätie analogValue = analogRead (A4); Serial.println (analogValue); oneskorenie (1 000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Napätie ="); lcd.print (input_voltage); Serial.println (input_voltage); oneskorenie (100);
Podľa hodnoty vstupného napätia sme dostali podmienku na ovládanie LED stĺpcového grafu LED. Stav, ktorý môžete skontrolovať nižšie v kóde:
if (input_voltage <0,50 && input_voltage> = 0,00) {digitalWrite (2, HIGH); oneskorenie (30); digitalWrite (2, LOW); oneskorenie (30); // keď je napätie nulové alebo nízke, prvá LED bude blikať} iné 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); }}
Fungovanie indikátora napätia batérie
Indikátor napätia batérie iba prečíta hodnotu z analógového kolíka Arduino a prevedie ju na digitálnu hodnotu pomocou vzorca Analog to Digital Conversion (ADC). Arduino Uno ADC je 10-bitové rozlíšenie (takže hodnoty celé číslo od 0 - 2 ^ 10 = 1024 hodnôt). To znamená, že bude mapovať vstupné napätie medzi 0 a 5 voltami na celočíselné hodnoty medzi 0 a 1023. Takže ak vynásobíme vstupnú hodnotu anlogValue na (5/1024), dostaneme digitálnu hodnotu vstupného napätia. Naučte sa tu, ako používať vstup ADC v Arduine. Potom sa digitálna hodnota použije na príslušné rozsvietenie LED stĺpca Graph.
Skontrolujte tiež tento jednoduchý monitor úrovne nabitia batérie bez mikrokontroléra