- Potřebný materiál
- Kruhový diagram
- Sloupcový graf LED
- Program Arduino pro monitorování napětí baterie:
- Práce s indikátorem napětí baterie
Baterie přicházejí s určitým limitem napětí a pokud napětí během nabíjení nebo vybíjení překročí předepsané limity, životnost baterie bude ovlivněna nebo snížena. Kdykoli použijeme projekt napájený z baterie, někdy musíme zkontrolovat úroveň napětí baterie, zda je třeba ji nabít nebo vyměnit. Tento obvod vám pomůže sledovat napětí baterie. Tento indikátor napětí baterie Arduino indikuje stav baterie zářícími LED na 10 segmentovém LED sloupcovém grafu podle napětí baterie. Ukazuje také napětí baterie na LCD displeji připojeném k Arduinu.
Potřebný materiál
- Arduino UNO
- 10 segmentový LED sloupcový graf
- LCD (16 * 2)
- Potenciometr - 10k
- Rezistor (100ohm-10; 330ohm)
- Baterie (k testování)
- Připojovací vodiče
- 12V adaptér pro Arduino
Kruhový diagram
Sloupcový graf LED
Sloupcový graf LED je dodáván v průmyslové standardní velikosti s nízkou spotřebou energie. Lišta je kategorizována podle intenzity světla. Samotný produkt zůstává ve verzi vyhovující směrnici RoHS. Má dopředné napětí až 2,6 V. Ztrátový výkon na segment je 65 mW. Provozní teplota sloupcového grafu LED je -40 ℃ až 80 ℃. Existuje mnoho aplikací pro sloupcový graf LED, jako je audio zařízení, přístrojové panely a digitální displej.
Pinový diagram
Konfigurace kolíků
Program Arduino pro monitorování napětí baterie:
Kompletní Arduino kód a demonstrační video je uveden na konci tohoto článku. Zde jsme vysvětlili některé důležité části kódu.
Zde definujeme knihovnu LCD a specifikujeme piny LCD, které mají být použity s Arduino. Analogový vstup je převzat z kolíku A4 pro kontrolu napětí baterie. Nastavili jsme hodnotu jako Float, abychom dostali napětí až na dvě desetinná místa.
#zahrnout
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // pole čísel pinů, ke kterým jsou připojeny LED diody int pinCount = 10; // počet pinů (tj. délka pole)
Nastavení LCD a analogových pinů (A0, A1, A2, A3) jako výstupních pinů.
void setup () {Serial.begin (9600); // otevírá sériový port, nastavuje rychlost dat na 9600 bps lcd.begin (16, 2); //// nastavit počet sloupců a řádků na LCD: pinMode (A0, OUTPUT); pinMode (A1, VÝSTUP); pinMode (A2, VÝSTUP); pinMode (A3, VÝSTUP); pinMode (A4, VSTUP); lcd.print ("Úroveň napětí"); }
Zde vytváříme funkci pro jednoduché použití sloupcového grafu LED, můžete dokonce rozsvítit diody LED tím, že je programujete jeden po druhém, ale kód bude zdlouhavý.
void LED_function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } for (int i = 1, l = 2; i <= fáze; i ++, l ++) {digitalWrite (l, HIGH); // zpoždění (30); }} V této části jsme načetli hodnotu napětí pomocí analogového pinu. Poté převádíme analogovou hodnotu na digitální hodnotu napětí pomocí vzorce převodu analogového na digitální a zobrazujeme ji dále na LCD.
// Převodní vzorec pro napětí analogValue = analogRead (A4); Serial.println (analogValue); zpoždění (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Napětí ="); lcd.print (input_voltage); Serial.println (input_voltage); zpoždění (100);
Podle hodnoty vstupního napětí jsme dostali nějakou podmínku pro ovládání LED sloupcového grafu LED. Stav, který můžete zkontrolovat níže v kódu:
if (input_voltage <0,50 && input_voltage> = 0,00) {digitalWrite (2, HIGH); zpoždění (30); digitalWrite (2, LOW); zpoždění (30); // když je napětí nulové nebo nízké, první LED bude blikáním ukazovat} 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); }}
Práce s indikátorem napětí baterie
Indikátor napětí baterie pouze načte hodnotu z analogového kolíku Arduino a převede ji na digitální hodnotu pomocí vzorce převodu analogového na digitální (ADC). Arduino Uno ADC je 10-bitové rozlišení (takže hodnoty celé číslo od 0 - 2 ^ 10 = 1024 hodnot). To znamená, že bude mapovat vstupní napětí mezi 0 a 5 volty na celočíselné hodnoty mezi 0 a 1023. Pokud tedy vynásobíme vstupní anlogValue na (5/1024), získáme digitální hodnotu vstupního napětí. Naučte se zde, jak používat vstup ADC v Arduinu. Poté se digitální hodnota použije k odpovídajícímu rozsvícení LED sloupcového grafu.
Zkontrolujte také tento jednoduchý monitor stavu baterie bez mikrokontroléru