- Material krävs
- Kretsschema
- LED-stapeldiagram
- Arduino-program för övervakning av batterispänning:
- Arbeta med batterispänningsindikator
Batterierna har en viss spänningsgräns och om spänningen överskrider de föreskrivna gränserna under laddning eller urladdning påverkas eller minskas batteriets livslängd. När vi använder ett batteridrivet projekt måste vi ibland kontrollera batteriets spänningsnivå, oavsett om det behövs för att laddas eller bytas ut. Denna krets hjälper dig att övervaka batteriets spänning. Denna Arduino-batterispänningsindikator anger batteriets status genom att lysa lysdioder på en 10-segments LED-stapeldiagram enligt batterispänningen. Det visar också din batterispänning på LCD-skärmen ansluten till Arduino.
Material krävs
- Arduino UNO
- 10-segment LED-stapeldiagram
- LCD (16 * 2)
- Potentiometer-10k
- Motstånd (100ohm-10; 330ohm)
- Batteri (testas)
- Anslutande ledningar
- 12v adapter för Arduino
Kretsschema
LED-stapeldiagram
LED-stapeldiagrammet finns i industriell standardstorlek med låg strömförbrukning. Baren är kategoriserad för ljusstyrka. Produkten i sig förblir i RoHS-kompatibel version. Den har en framspänning på upp till 2,6V. Effektförlusten per segment är 65mW. Driftstemperaturen för LED-stapeldiagrammet är -40 ℃ till 80 ℃. Det finns många applikationer för LED-stapeldiagram som ljudutrustning, instrumentpaneler och digital avläsningsdisplay.
Stiftdiagram
Pin-konfiguration
Arduino-program för övervakning av batterispänning:
Den kompletta Arduino-koden och demonstrationsvideoen ges i slutet av denna artikel. Här har vi förklarat några viktiga delar av koden.
Här definierar vi LCD-biblioteket och specificerar stift på LCD som ska användas med Arduino. Den analoga ingången hämtas från stift A4 för att kontrollera batterispänningen. Vi har ställt in värdet som Float för att få spänningen upp till två decimaler.
#omfatta
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // en uppsättning pin-nummer till vilka lysdioder är anslutna int pinCount = 10; // antalet stift (dvs. längden på matrisen)
Ställa in LCD och analoga stift (A0, A1, A2, A3) som OUTPUT-stift.
ogiltig installation () {Serial.begin (9600); // öppnar seriell port, ställer in datahastighet till 9600 bps lcd.begin (16, 2); //// ställa in LCD: s antal kolumner och rader: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Voltage Level"); }
Här gör vi en funktion för att använda LED-stapeldiagrammet för att använda på ett enkelt sätt, du kan till och med lysa lysdioderna genom att programmera dem en efter en, men koden blir lång.
ogiltig LED_funktion (int-steg) {för (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } för (int i = 1, l = 2; i <= steg; i ++, l ++) {digitalWrite (l, HIGH); // fördröjning (30); }} I den här delen har vi läst spänningsvärdet med den analoga stiftet. Sedan konverterar vi det analoga värdet till ett digitalt spänningsvärde genom att använda den analoga till digitala omvandlingsformeln och visa det vidare på LCD.
// Konverteringsformel för spänning analogValue = analogRead (A4); Serial.println (analogVärde); fördröjning (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Voltage ="); lcd.print (input_voltage); Serial.println (input_voltage); fördröjning (100);
Enligt värdet på ingångsspänningen har vi gett ett visst villkor för att kontrollera LED-stapeldiagrammet. Villkoret du kan kontrollera nedan i koden:
if (input_voltage <0.50 && input_voltage> = 0.00) {digitalWrite (2, HIGH); fördröjning (30); digitalWrite (2, LOW); fördröjning (30); // när spänningen är noll eller låg kommer den första lysdioden att indikera genom att blinka} annat om (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } annat om (input_voltage <1.50 && input_voltage> = 1.00) {LED_function (3); } annat om (input_voltage <2.00 && input_voltage> = 1.50) {LED_function (4); } annat om (input_voltage <2.50 && input_voltage> = 2.00) {LED_function (5); } annat om (input_voltage <3.00 && input_voltage> = 2.50) {LED_function (6); } annat om (input_voltage <3.50 && input_voltage> = 3.00) {LED_function (7); } annat om (input_voltage <4.00 && input_voltage> = 3.50) {LED_function (8);} annat om (input_voltage <4.50 && input_voltage> = 4.00) {LED_function (9); } annat om (input_voltage <5.00 && input_voltage> = 4.50) {LED_function (10); }}
Arbeta med batterispänningsindikator
Batterispänningsindikator läser bara värdet från Arduino Analog pin och konverterar det till ett digitalt värde med hjälp av Analog till Digital Conversion (ADC) formel. Den Arduino Uno ADC är av 10-bitars upplösning (så heltalsvärdena från 0 - 2 ^ 10 = 1024 värden). Detta innebär att det kommer att mappa inspänningar mellan 0 och 5 volt i heltalsvärden mellan 0 och 1023. Så om vi multiplicera ingångs anlogValue till (5/1024), då får vi det digitala värdet för ingångsspänningen. Lär dig här hur du använder ADC-ingång i Arduino. Då används det digitala värdet för att lysa upp LED-stapeldiagrammet.
Kontrollera också denna enkla batterinivåmonitor utan någon mikrokontroller