Sisukord:
- Samm: riistvaranõue
- 2. samm: CloudX M633 mikrokontroller
- 3. samm: ühendage ühendused
- 4. samm: vooluahela skeem
- 5. samm: toimimispõhimõte
- 6. samm: tarkvaraprogramm
Video: Digitaalne voltmeeter CloudX -iga: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Patareid tagavad vooluahelates kasutamisel puhtama alalisvoolu (alalisvoolu). Nende madal müratase muudab need alati ideaalseks mõne väga tundliku vooluahela jaoks. Kuid aegadel, mil nende pingetase langeb alla teatud lävepunkti, võivad vooluahelad - (mis on mõeldud toiteks) - ebaregulaarselt toimima; eriti kui nad ei ole selle jaoks hästi ette valmistatud.
Seetõttu tekib vajadus regulaarselt jälgida aku laetuse taset, et saada nõuetekohast juhist selle kohta, millal peaks see täielikult vahetama või laetava aku korral laadima. Seetõttu kavandame selles isetegemisel (tee seda ise) lihtsa akupinge mõõturi, kasutades CloudX -i - kasutades meie ekraanina 7 -segmenti.
Samm: riistvaranõue
CloudX mikrokontrolleri moodul
CloudX USB
SoftCard
7 Segmendi kuva
Takistid
Toiteplokk
Leivalaud
Jumper (ühendavad) juhtmed
2. samm: CloudX M633 mikrokontroller
CloudX mikrokontrolleri moodul
CloudX -moodul on elektroonikaseadmete riistvaratööriist, mis võimaldab lihtsa mikrokontrolleri kaudu palju mugavamalt ja hõlpsamalt liituda füüsilise maailmaga. Kogu platvorm põhineb avatud lähtekoodiga füüsilisel andmetöötlusel. Selle IDE (integreeritud arenduskeskkond) lihtsus muudab selle ideaalselt sobivaks algajatele, säilitades samas piisavalt funktsioone, mis võimaldavad edasijõudnutel lõppkasutajatel navigeerida. Pähklikoorena pakub CloudX mikrokontrolleri käsitsemise palju lihtsustatud protsessi, eemaldades sellega seotud tavalised keerukad detailid; pakkudes samal ajal väga rikkalikku kasutajakogemuse platvormi. See leiab laiaulatuslikke rakendusi: koolid kui suurepärane õppevahend, tööstus- ja kaubandustooted ning suurepärane abivahend harrastaja käes.
3. samm: ühendage ühendused
7-segmendilised tihvtid: A, B, C, D, E, F, G, 1, 2 ja 3 on ühendatud CloudX-MCU tihvtidega 1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 ja pin11 vastavalt.
4. samm: vooluahela skeem
Siin keskmes olevat mikrokontrollerimoodulit saab sisse lülitada:
kas tahvli Vin ja Gnd punktide kaudu (st ühendades need vastavalt oma välise toiteploki +ve ja –ve klemmidega);
või oma CloudX USB pehmekaardimooduli kaudu
. Veelgi enam, nagu ülaltoodud skeemilt hõlpsasti näha, on sisendaku pinge ühendatud MCU (mikrokontrolleri) mooduliga nii, et pingejaotusvõrgu (moodustatud ja) punkt on ühendatud MCU tihvti A0 -ga.
ja need valitakse järgmiselt:
piirata vooluhulka, mis voolab läbi võrgu;
MCU jaoks ohutu vahemiku (0–5) V piires.
Kasutades valemit: VOUT = (R2/(R1+R2)) * VIN; ja seda on lihtne hinnata.
Voutmax = 5 V.
ja selle projekti jaoks valime: Vinmax = 50V;
5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Võttes näiteks R2 = 10 kΩ; R1 = 45/5 * 10 = 90 kΩ
5. samm: toimimispõhimõte
Kui sisendist mõõdetud pinget loetakse pingejaotusvõrgu VOUT -punkti kaudu, töödeldakse andmeid MCU -s edasi, et hinnata segmendi ühikul kuvatavat lõplikku tegelikku väärtust. See (süsteemi ülesehitus) on automaatne kümnendkohtade paigutaja, kuna see (komakoht) tegelikult muudab kuvari enda positsiooni vastavalt sellele, mida ujukväärtus igal ajahetkel dikteerib. Seejärel ühendatakse kogu riistvara 7-segmendiline kuvar multipleksrežiimis. See on eriline korraldus, mille kohaselt sama andmesiin (8-andmelised tihvtid) MCU-st toidab kuvari kolme aktiivset 7-segmenti. Andmemustri saatmine igasse komponenti saavutatakse protsessi abil, mida nimetatakse skannimiseks. Skaneerimine on tehnika, mis hõlmab andmete saatmist kõigi komponentide 7 segmenti; ja võimaldades (st sisselülitamisel) neid kiiresti järjest, kui nende andmed saabuvad. Igaühe poole pöördumine toimub nii, et õnnestub eksitada inimese nägemus, uskudes, et kõik need (komponendid) on lubatud (käsitletud) korraga. See (skaneerimine) kasutab tegelikult nähtust, mida nimetatakse visiooni püsivuseks.
6. samm: tarkvaraprogramm
#kaasake
#kaasake
#kaasake
#define segment1 pin9
#define segment2 pin10
#define segment3 pin11
float batt_voltage;
int decimalPoint, batt;
/*massiivid, mis salvestavad iga antud numbri jaoks segmendimustri*/
sümbol CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
sümbol CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
int disp0, disp1, disp2;
kuva () {
allkirjastamata char i;
if (kümnendkoht <10) {
disp0 = (int) batt_voltage /100; // toob MSD (kõige olulisem number)
// olles kõige suurema kaaluga
/* toob järgmise kaalutud numbri; ja nii edasi */
disp1 = ((int) batt_voltage % 100)/10;
disp2 = ((int) batt_voltage % 10);
}
muu {
disp0 = (int) batt_voltage /1000;
disp1 = ((int) batt_voltage % 1000)/100;
disp2 = ((int) batt_voltage % 100)/10;
}
/*Mustrid valatakse välja kuvamiseks; ja 0x80 tähemärki, lisades kümnendkoha
kui seotud tingimus vastab tõele*/
jaoks (i = 0; i <50; i ++) {
pin9 = pin10 = pin11 = HIGH;
kui (kümnendkoht <10)
portWrite (1, CCathodeDisp [disp0] | 0x80);
else portWrite (1, CCathodeDisp [disp0]);
segment1 = LOW;
segment2 = KÕRGE;
segment3 = KÕRGE;
delayMs (5);
pin9 = pin10 = pin11 = HIGH;
if ((decimalPoint> = 10) && (decimalPoint <100))
portWrite (1, CCathodeDisp [disp1] | 0x80);
else portWrite (1, CCathodeDisp [disp1]);
segment1 = KÕRGE;
segment2 = LOW;
segment3 = KÕRGE;
delayMs (5);
pin9 = pin10 = pin11 = HIGH;
kui (kümnendpunkt> = 100)
portWrite (1, CCathodeDisp [disp2] | 0x80);
else portWrite (1, CCathodeDisp [disp2]);
segment1 = KÕRGE;
segment2 = KÕRGE;
segment3 = LOW;
delayMs (5);
}
}
setup () {// setup siin
analogSetting (); // analoogport lähtestatud
portMode (1, VÄLJUND); // Nööpnõelad 1 kuni 8 on konfigureeritud väljundpistikutena
/ * skaneerimisnõelad, mis on konfigureeritud väljundnõeltena */
pin9Mode = VÄLJUND;
pin10Mode = VÄLJUND;
pin11Mode = VÄLJUND;
portWrite (1, LOW);
pin9 = pin10 = pin11 = HIGH; // skannimisnõelad (mis on aktiivsed-madalad)
// on alguses keelatud
loop () {// Programmeerige siin
batt_voltage = analogRead (A0); // võtab mõõdetud väärtuse
batt_voltage = ((batt_voltage * 5000) / 1024); // 5Vini teisendustegur
batt_voltage = (batt_voltage * 50)/5000; // teisendustegur 50Vin
kümnendpunkt = batt_voltage; // tähistab kohta, kus on kümnendkoht
// algväärtus enne andmetega manipuleerimist
kuva ();
}
}
Soovitan:
Waveshare'i e-tindi ekraan Täpne voltmeeter (0-90v DC) Arduino Nanoga: 3 sammu
Waveshare'i e-tindi ekraan Täpne voltmeeter (0-90v DC) Arduino Nanoga: selles juhendis kasutan 2,9-tollist Waveshare'i e-paberi ekraani koos Arduino Nano, pingejaguri ja ADS1115-ga, et kuvada täpseid pingeid kuni 90 volti alalisvoolu E-paberi ekraanil. See juhendab ühendab need kaks eelmist projekti:- Ardui
Lihtne CloudX M633 digitaalne stopper: 4 sammu
Lihtne CloudX M633 digitaalne stopper: Selles projektis valmistame digitaalse kella versiooni, mis suudab salvestada tunde, minuteid ja sekundeid, nagu teie mobiiltelefoni stopper! Me kasutame aja kuvamiseks LCD -ekraani
Digitaalne Arduino voltmeeter: 3 sammu
Digitaalne Arduino voltmeeter: Voltmeeter või pingemõõtur on mõõtevahend, mida kasutatakse pinge mõõtmiseks
Laetav digitaalne voltmeeter ICL7107 ADC abil: 7 sammu (piltidega)
Laetav digitaalne voltmeeter ICL7107 ADC abil: selles õpetuses näitan teile, kuidas valmistada ülilihtne digitaalne voltmeeter, millega saab mõõta pingeid vahemikus 20 mV kuni 200 V. See projekt ei kasuta ühtegi mikrokontrollerit nagu arduino. Selle asemel kasutatakse mõne passiga ADC -d, st ICL7107
Digitaalne voltmeeter: 5 sammu
Digitaalne voltmeeter: see on lihtne kasutada ja odav DIY voltmeeter. Selle projekti tegemise kogumaksumus on alla 200 INR või ainult 2,5 dollarit