Video: Digitaalne Arduino voltmeeter: 3 sammu
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Voltmeeter või pingemõõtur on mõõtevahend, mida kasutatakse pinge mõõtmiseks.
Tarvikud
Riistvara komponendid
Arduino Uno
LCD - 16x2
Ühe pöördega potentsiomeeter- 10k oomi
Takisti 100k oom
Takisti 10k oom
Tarkvara komponendid
Arduino IDE
Samm: projekti kohta
Vooluahela disain
Analoogvoltmeetrite puuduste kõrvaldamiseks on esitatud digitaalsed voltmeetrid. Selle asemel, et skaleerida ja osutada mõõdetud pinget nagu analoogvoltmeetrit, kuvavad digitaalsed voltmeetrid mõõdetud pinget otse digitaalsel ekraanil.
Vooluahela disain LCD -toiteploki tihvtid 1 ja 2 (Vss ja Vdd) on ekraanipoldid. Need on kinnitatud vastavalt maapinnale ja +5V toiteallikale. LCD tihvt 3 (Vee) on ühendatud 10KΩ POT -i klaasipuhasti klemmiga ja teised POT -i klemmid on ühendatud vastavalt +5V toite ja maandusega. Järgmised 3 LCD -tihvti on juhtnupud.
LCD -i tihvtid 4 ja 6 on kinnitatud vastavalt Arduino digitaalsete sisend-/väljundpistikutega 2 ja 3. LCD -i tihvt 5 (RW) on maapinna külge kinnitatud. LCD -i tihvt 15 (LED +) on ühendatud +5 V toitega 220Ω voolu piirava takisti kaudu. LCD-i tihvt 16 (LED-) on maapinna külge kinnitatud.
Pinge jagaja vooluahela väljund, mis koosneb 100KΩ takistist ja 10KΩ takistusest, on ühendatud Arduino UNO analoogsisendpistikuga A0, kusjuures 100KΩ takisti teine ots on ühendatud arvutatava pingega ja 10KΩ takisti teine ots on ühendatud maapind.
Töötab
Digitaalses voltmeetris lülitatakse analoogvormis olevad hinnatavad pinged digitaalsele vormile analoog -digitaalmuundurite (ADC) abil.
Seetõttu kasutatakse selles projektis Arduino UNO ADC eriala. Arduino Uno analoogsisendi pingevahemik on 0V kuni 5V.
Seetõttu tuleb selle vahemiku parandamiseks kasutada pingejaotusahelat. Pingejaotusahela abil viiakse arvutatud sisendpinge Arduino UNO analoogsisendi vahemikku.
Samm: käivitage programm
/*
Alalisvoolu voltmeeter
*/ #kaasas LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
int analoogSisend = 0;
ujuk vout = 0,0;
ujuk vin = 0,0;
ujuk R1 = 100000,0; // vastupanu R1 (100K)
ujuk R2 = 10000,0; // vastupanu R2 (10K)
int väärtus = 0;
tühine seadistus ()
{pinMode (analoogsisend, INPUT);
lcd.algus (16, 2);
lcd.print ("DC VOLTMETER");
}
tühine tsükkel ()
{// loe väärtust analoogsisendi väärtusel = analogRead (analogInput);
vout = (väärtus * 5,0) / 1024,0;
vin = vout / (R2 / (R1+R2));
kui (vin <0,09)
{vin = 0.0; // avaldus soovimatu lugemise tühistamiseks
lcd.setCursor (0, 1);
lcd.print ("INPUT V =");
lcd.print (vin);
viivitus (500);
}
3. samm:
Lugege lisateavet Interneti Interneti -koolituse kohta, mille abil saate hõlpsasti luua tööstuslikke IoT -lahendusi.