- Erforderliches Material
- Schaltplan
- LED-Balkendiagramm
- Arduino-Programm zur Überwachung der Batteriespannung:
- Funktionsweise der Batteriespannungsanzeige
Batterien haben eine bestimmte Spannungsgrenze. Wenn die Spannung beim Laden oder Entladen die vorgeschriebenen Grenzen überschreitet, wird die Lebensdauer der Batterie beeinträchtigt oder verkürzt. Wenn wir ein batteriebetriebenes Projekt verwenden, müssen wir manchmal den Batteriespannungspegel überprüfen, ob er aufgeladen oder ersetzt werden muss. Diese Schaltung hilft Ihnen, die Spannung Ihrer Batterie zu überwachen. Diese Arduino-Batteriespannungsanzeige zeigt den Status der Batterie an, indem LEDs in einem 10-Segment-LED-Balkendiagramm entsprechend der Batteriespannung leuchten. Es zeigt auch Ihre Batteriespannung auf dem LCD an, das an das Arduino angeschlossen ist.
Erforderliches Material
- Arduino UNO
- 10-Segment-LED-Balkendiagramm
- LCD (16 * 2)
- Potentiometer-10k
- Widerstand (100 Ohm-10; 330 Ohm)
- Batterie (zu testen)
- Kabel anschließen
- 12V Adapter für Arduino
Schaltplan
LED-Balkendiagramm
Das LED-Balkendiagramm ist in Industriestandardgröße mit geringem Stromverbrauch erhältlich. Der Balken ist nach Lichtstärke kategorisiert. Das Produkt selbst bleibt in der RoHS-kompatiblen Version. Es hat eine Durchlassspannung von bis zu 2,6V. Die Verlustleistung pro Segment beträgt 65 mW. Die Betriebstemperatur des LED-Balkendiagramms beträgt -40 ° C bis 80 ° C. Es gibt viele Anwendungen für das LED-Balkendiagramm wie Audiogeräte, Instrumententafeln und Digitalanzeige.
Pin-Diagramm
Pin-Konfiguration
Arduino-Programm zur Überwachung der Batteriespannung:
Der vollständige Arduino-Code und das Demonstrationsvideo finden Sie am Ende dieses Artikels. Hier haben wir einige wichtige Teile des Codes erklärt.
Hier definieren wir die LCD-Bibliothek und geben die Stifte des LCD an, die mit dem Arduino verwendet werden sollen. Der Analogeingang wird von Pin A4 zur Überprüfung der Batteriespannung entnommen. Wir haben den Wert als Float festgelegt, um die Spannung auf zwei Dezimalstellen zu bringen.
#einschließen
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // ein Array von Pin-Nummern, an die LEDs angeschlossen sind int pinCount = 10; // die Anzahl der Pins (dh die Länge des Arrays)
Einrichten des LCD und der analogen Pins (A0, A1, A2, A3) als OUTPUT-Pins.
void setup () {Serial.begin (9600); // öffnet die serielle Schnittstelle und setzt die Datenrate auf 9600 bps lcd.begin (16, 2); //// Richten Sie die Anzahl der Spalten und Zeilen des LCD ein: pinMode (A0, OUTPUT); PinMode (A1, OUTPUT); PinMode (A2, OUTPUT); PinMode (A3, OUTPUT); PinMode (A4, INPUT); lcd.print ("Spannungspegel"); }}
Hier machen wir eine Funktion für die Verwendung des LED-Balkendiagramms zur einfachen Verwendung. Sie können die LEDs sogar leuchten lassen, indem Sie sie einzeln programmieren, aber der Code wird langwierig.
void LED_function (int stage) {für (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } für (int i = 1, l = 2; i <= Stufe; i ++, l ++) {digitalWrite (l, HIGH); // delay (30); }} In diesem Teil haben wir den Spannungswert mit dem analogen Pin gelesen. Dann wandeln wir den analogen Wert in einen digitalen Spannungswert um, indem wir die Analog-Digital-Umrechnungsformel verwenden und ihn weiter auf dem LCD anzeigen.
// Umrechnungsformel für Spannung analogValue = analogRead (A4); Serial.println (analogValue); Verzögerung (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Voltage ="); lcd.print (input_voltage); Serial.println (input_voltage); Verzögerung (100);
Entsprechend dem Wert der Eingangsspannung haben wir einige Bedingungen zur Steuerung der LED-Balkendiagramm-LEDs festgelegt. Die Bedingung können Sie unten im Code überprüfen:
if (Eingangsspannung <0,50 && Eingangsspannung> = 0,00) {digitalWrite (2, HIGH); Verzögerung (30); digitalWrite (2, LOW); Verzögerung (30); // wenn die Spannung Null oder niedrig ist, zeigt die 1. LED durch Blinken an} else if (Eingangsspannung <1,00 && Eingangsspannung> = 0,50) {LED-Funktion (2); } else if (Eingangsspannung <1,50 && Eingangsspannung> = 1,00) {LED_Funktion (3); } else if (Eingangsspannung <2,00 && Eingangsspannung> = 1,50) {LED_Funktion (4); } else if (Eingangsspannung <2,50 && Eingangsspannung> = 2,00) {LED_Funktion (5); } else if (Eingangsspannung <3,00 && Eingangsspannung> = 2,50) {LED_Funktion (6); } else if (Eingangsspannung <3,50 && Eingangsspannung> = 3,00) {LED_Funktion (7); } else if (Eingangsspannung <4,00 && Eingangsspannung> = 3,50) {LED_Funktion (8);} else if (Eingangsspannung <4,50 && Eingangsspannung> = 4,00) {LED_Funktion (9); } else if (Eingangsspannung <5,00 && Eingangsspannung> = 4,50) {LED_Funktion (10); }}
Funktionsweise der Batteriespannungsanzeige
Die Batteriespannungsanzeige liest einfach den Wert vom Arduino Analog-Pin und wandelt ihn mithilfe der ADC-Formel (Analog to Digital Conversion) in einen digitalen Wert um. Der Arduino Uno ADC hat eine Auflösung von 10 Bit (also die ganzzahligen Werte von 0 - 2 ^ 10 = 1024 Werte). Dies bedeutet, dass Eingangsspannungen zwischen 0 und 5 Volt auf ganzzahlige Werte zwischen 0 und 1023 abgebildet werden. Wenn wir also den anlogValue- Wert mit (5/1024) multiplizieren, erhalten wir den digitalen Wert der Eingangsspannung. Erfahren Sie hier, wie Sie ADC-Eingaben in Arduino verwenden. Dann wird der digitale Wert verwendet, um das LED-Balkendiagramm entsprechend zu leuchten.
Überprüfen Sie auch diesen einfachen Batteriestandsmonitor ohne Mikrocontroller