- Tarvittava materiaali
- Piirikaavio
- LED-pylväskaavio
- Arduino-ohjelma akun jännitteen seurantaan:
- Akun jännitteen ilmaisimen toiminta
Paristoissa on tietty jänniteraja, ja jos jännite ylittää määrätyt rajat lataamisen tai purkamisen aikana, akun käyttöikä kärsii tai lyhenee. Aina kun käytämme akkukäyttöistä projektia, meidän on joskus tarkistettava akun jännitetaso, onko se tarpeen ladata tai vaihtaa. Tämä piiri auttaa sinua seuraamaan akun jännitettä. Tämä Arduino-akun jännitteen ilmaisin osoittaa akun tilan hehkuvilla LEDeillä 10 segmentin LED-pylväskaaviossa akun jännitteen mukaan. Se näyttää myös akun jännitteen Arduinoon liitetyllä LCD-näytöllä.
Tarvittava materiaali
- Arduino UNO
- 10 segmentin LED-pylväskaavio
- LCD (16 * 2)
- Potentiometri-10k
- Vastus (100ohm-10; 330ohm)
- Akku (testattava)
- Johtojen liittäminen
- 12v: n sovitin Arduinolle
Piirikaavio
LED-pylväskaavio
LED-pylväskaavio on saatavana teollisuuden vakiokokoisena ja pienellä virrankulutuksella. Palkki on luokiteltu valovoiman mukaan. Tuote itsessään pysyy RoHS-yhteensopivassa versiossa. Sen eteenpäin suuntautuva jännite on enintään 2,6 V. Tehohäviö segmenttiä kohti on 65 mW. LED-pylväskaavion käyttölämpötila on -40 ℃ - 80 ℃. LED-pylväskaavioon on monia sovelluksia, kuten äänilaitteet, kojetaulut ja digitaalinen lukunäyttö.
Pin-kaavio
Pin-määritys
Arduino-ohjelma akun jännitteen seurantaan:
Täydellinen Arduino koodi ja esittelyvideo annetaan lopussa tämän artikkelin. Tässä olemme selittäneet joitain tärkeitä koodin osia.
Tässä määritellään LCD-kirjasto ja määritetään LCD-nastat Arduinon kanssa käytettäväksi. Analogiatulo otetaan nastasta A4 paristojännitteen tarkistamiseksi. Olemme asettaneet arvon Float saadaksesi jännitteen kahteen desimaaliin.
#sisältää
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // joukko pin-numeroita, joihin LEDit on kiinnitetty int pinCount = 10; // nastojen lukumäärä (eli matriisin pituus)
LCD-näytön ja analogisten nastojen (A0, A1, A2, A3) asettaminen OUTPUT-nastoiksi.
void setup () {Sarja.alku (9600); // avaa sarjaportin, asettaa datanopeudeksi 9600 bps lcd.begin (16, 2); //// määritä nestekidenäytön sarakkeiden ja rivien määrä: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Jännitetaso"); }
Täällä teemme toiminnon LED-pylväsdiagrammin käyttämiseksi yksinkertaisella tavalla, voit jopa hehkua LED-valoja ohjelmoimalla ne yksi kerrallaan, mutta koodi pidentyy.
void LED_function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } for (int i = 1, l = 2; i <= vaihe; i ++, l ++) {digitalWrite (l, HIGH); // viive (30); }} Tässä osassa olemme lukeneet jännitteen arvon analogisella tapilla. Sitten muunnamme analogisen arvon digitaaliseksi jännitearvoksi käyttämällä analogisesta digitaaliseen muuntokaavaa ja näyttämällä sen edelleen LCD-näytöllä.
// Muunnoskaava jännitteelle analogValue = analogRead (A4); Serial.println (analogiarvo); viive (1000); syöttöjännite = (analogiarvo * 5,0) / 1024,0; lcd.setCursor (0, 1); lcd.print ("Jännite ="); lcd.print (syöttöjännite); Serial.println (syöttöjännite); viive (100);
Tulojännitteen arvon mukaan olemme asettaneet jonkin ehdon LED-pylväsdiagrammin LEDien ohjaamiseen. Ehto, jonka voit tarkistaa alla olevasta koodista:
if (syöttöjännite <0,50 && tulojännite> = 0,00) {digitalWrite (2, HIGH); viive (30); digitalWrite (2, LOW); viive (30); // kun jännite on nolla tai matala, 1. LED ilmoittaa vilkkumalla} muuten, jos (tulojännite <1,00 && tulojännite> = 0,50) {LED-toiminto (2); } else if (tulojännite <1,50 && tulojännite> = 1,00) {LED-toiminto (3); } else if (tulojännite <2,00 && tulojännite> = 1,50) {LED-toiminto (4); } else if (tulojännite <2,50 && tulojännite> = 2,00) {LED-toiminto (5); } else if (tulojännite <3,00 && tulojännite> = 2,50) {LED-toiminto (6); } else if (tulojännite <3,50 && tulojännite> = 3,00) {LED-toiminto (7); } else if (tulojännite <4,00 && tulojännite> = 3,50) {LED-toiminto (8);} else if (tulojännite <4,50 && syöttöjännite> = 4,00) {LED-toiminto (9); } else if (tulojännite <5,00 && tulojännite> = 4,50) {LED-toiminto (10); }}
Akun jännitteen ilmaisimen toiminta
Akkujännitteen ilmaisin lukee arvon vain Arduino Analog -tapista ja muuntaa sen digitaaliseksi arvoksi käyttämällä analogista digitaalimuunnosta (ADC) -kaavaa. Arduino Uno ADC on 10-bitin resoluutio (niin kokonaisluku arvot 0-2 ^ 10 = 1024 arvoja). Tämä tarkoittaa, että se kartoittaa 0 - 5 voltin syöttöjännitteet kokonaislukuiksi välillä 0 - 1023. Joten jos kerrotaan tulon anlogValue arvoon (5/1024), saadaan tulojännitteen digitaalinen arvo. Opi täältä, kuinka ADC-syötettä käytetään Arduinossa. Sitten digitaaliarvoa käytetään hehkumaan LED-pylväskaavio vastaavasti.
Tarkista myös tämä yksinkertainen akun varaustason näyttö ilman mikro-ohjainta