- Reikalinga medžiaga
- Grandinės schema
- LED juostos grafikas
- „Arduino“ programa akumuliatoriaus įtampos stebėjimui:
- Baterijos įtampos indikatoriaus veikimas
Baterijose yra tam tikra įtampos riba, o jei įkrovimo ar iškrovimo metu įtampa viršija nustatytas ribas, baterijos tarnavimo laikas sutrinka arba sutrumpėja. Kai mes naudojame projektą su baterijomis, kartais turime patikrinti akumuliatoriaus įtampos lygį, ar jį reikia įkrauti, ar pakeisti. Ši grandinė padės jums stebėti akumuliatoriaus įtampą. Šis „ Arduino“ akumuliatoriaus įtampos indikatorius rodo akumuliatoriaus būseną šviečiant šviesos diodams 10 segmentų LED juostų grafike pagal akumuliatoriaus įtampą. Tai taip pat rodo jūsų baterijos įtampą LCD, prijungtame prie „Arduino“.
Reikalinga medžiaga
- „Arduino UNO“
- 10 segmentų LED juostų grafikas
- Skystųjų kristalų ekranas (16 * 2)
- Potenciometras-10k
- Rezistorius (100ohm-10; 330ohm)
- Baterija (bus išbandyta)
- Jungiamieji laidai
- 12v adapteris „Arduino“
Grandinės schema
LED juostos grafikas
Šviesos diodų juostų diagrama yra standartinio dydžio ir sunaudoja mažai energijos. Juosta yra klasifikuojama pagal šviesos intensyvumą. Pats produktas lieka RoHS reikalavimus atitinkančioje versijoje. Jo priekinė įtampa yra iki 2,6v. Galios išsklaidymas segmente yra 65mW. LED juostų grafiko veikimo temperatūra yra nuo -40 ℃ iki 80 ℃. Šviesos diodų juostų diagramai yra daugybė programų, tokių kaip garso įranga, prietaisų skydeliai ir skaitmeninis rodmenų ekranas.
Smeigtukų schema
Smeigtuko konfigūracija
„Arduino“ programa akumuliatoriaus įtampos stebėjimui:
Visas „ Arduino“ kodas ir demonstracinis vaizdo įrašas pateikiami šio straipsnio pabaigoje. Čia mes paaiškinome keletą svarbių kodo dalių.
Čia mes apibrėžiame LCD biblioteką ir nurodome LCD kaiščius, kurie bus naudojami su „Arduino“. Analoginis įėjimas paimamas iš A4 kaiščio, kad būtų galima patikrinti akumuliatoriaus įtampą. Mes nustatėme vertę kaip „Float“, kad gautume įtampą iki dviejų skaičių po kablelio.
# įtraukti
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // kaiščių skaičių masyvas, prie kurio pritvirtinti šviesos diodai int pinCount = 10; // kaiščių skaičius (ty masyvo ilgis)
LCD ir analoginių kaiščių (A0, A1, A2, A3) nustatymas kaip OUTPUT kaiščius.
negaliojanti sąranka () {Serial.begin (9600); // atidaro nuoseklųjį prievadą, nustato duomenų perdavimo spartą iki 9600 bps lcd.begin (16, 2); //// nustatykite LCD stulpelių ir eilučių skaičių: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print („Įtampos lygis“); }
Čia mes atliekame funkciją, skirtą naudoti šviesos diodų juostos diagramą, kad būtų paprasta naudoti. Jūs netgi galite švytėti šviesos diodais, programuodami juos po vieną, tačiau kodas ilgėja.
void LED_funkcija (int stadija) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } for (int i = 1, l = 2; i <= etapas; i ++, l ++) {digitalWrite (l, HIGH); // vėlavimas (30); }} Šioje dalyje įtampos reikšmę perskaitėme naudodami analoginį kaištį. Tada mes konvertuojame analoginę vertę į skaitmeninę įtampos vertę, naudodami analoginės į skaitmeninę konversijos formulę ir toliau rodydami ją LCD.
// Įtampos „analogValue“ = analogRead (A4) perskaičiavimo formulė; Serial.println (analogValue); vėlavimas (1000); įvesties įtampa = (analoginė vertė * 5,0) / 1024,0; lcd.setCursor (0, 1); lcd.print ("Įtampa ="); lcd.print (įvesties_įtampa); Serial.println (įvesties_įtampa); vėlavimas (100);
Pagal įvesties įtampos vertę mes suteikėme tam tikrą sąlygą valdyti šviesos diodų juostos diagramos šviesos diodus. Sąlyga, kurią galite patikrinti žemiau kode:
if (įvesties įtampa <0,50 && įvesties įtampa> = 0,00) {digitalWrite (2, HIGH); vėlavimas (30); „digitalWrite“ (2, LOW); vėlavimas (30); // kai įtampa lygi nuliui arba žema, 1-asis šviesos diodas parodys mirksėdamas} else if (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } else if (įėjimo įtampa <1,50 && įvesties įtampa> = 1,00) {LED_funkcija (3); } else if (įvesties_įtampa <2,00 && įvesties_įtampa> = 1,50) {LED_funkcija (4); } else if (įvesties įtampa <2,50 && įvesties įtampa> = 2,00) {LED_funkcija (5); } else if (įvesties_įtampa <3,00 && įvesties_įtampa> = 2,50) {LED_funkcija (6); } else if (įvesties_įtampa <3,50 && įvesties_įtampa> = 3,00) {LED_funkcija (7); } else if (įvesties_įtampa <4,00 && įvesties_įtampa> = 3,50) {LED_funkcija (8);} else if (įvesties įtampa <4,50 && įvesties įtampa> = 4,00) {LED_funkcija (9); } else if (įvesties įtampa <5,00 && įvesties įtampa> = 4,50) {LED_funkcija (10); }}
Baterijos įtampos indikatoriaus veikimas
Akumuliatoriaus įtampos indikatorius tiesiog perskaitykite vertę iš „Arduino Analog“ kaiščio ir konvertuokite ją į skaitmeninę vertę naudodamas „Analog to Digital Conversion“ (ADC) formulę. „ Arduino Uno ADC“ yra 10 bitų skiriamoji geba (taigi sveikojo skaičiaus reikšmės nuo 0 iki 2 ^ 10 = 1024 vertės). Tai reiškia, kad jis įvesties įtampas nuo 0 iki 5 voltų suskirstys į sveiko skaičiaus reikšmes nuo 0 iki 1023. Taigi, jei įvesties „ anlogValue“ padauginsime iš (5/1024), gausime skaitmeninę įėjimo įtampos vertę. Sužinokite, kaip naudoti ADC įvestį „Arduino“. Tada skaitmeninė vertė naudojama atitinkamai apšviesti LED juostos grafiką.
Be to, patikrinkite šį paprastą akumuliatoriaus lygio monitorių be mikrovaldiklio