Përmbajtje:

Voltmetri dixhital me CloudX: 6 hapa
Voltmetri dixhital me CloudX: 6 hapa

Video: Voltmetri dixhital me CloudX: 6 hapa

Video: Voltmetri dixhital me CloudX: 6 hapa
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Nëntor
Anonim
Voltmetri dixhital me CloudX
Voltmetri dixhital me CloudX

Bateritë sigurojnë një formë më të pastër të fuqisë DC (rrymë direkte) kur përdoren në qarqe. Niveli i tyre i ulët i zhurmës i bën ata gjithmonë një përshtatje perfekte për disa qarqe shumë të ndjeshme. Megjithatë, në rastet kur niveli i tensionit të tyre zbret nën një pikë pragu të caktuar, qarqet - (të cilat ata kanë për qëllim të fuqizohen), mund të hyjnë në një sjellje të çrregullt; veçanërisht kur ato nuk janë të dizajnuara mirë për ta trajtuar atë.

Prandaj, lind nevoja për të monitoruar rregullisht nivelin e fuqisë së baterisë për të na udhëzuar siç duhet se kur duhet të zëvendësohet ose karikohet në rast të një baterie të rimbushshme. Prandaj, në këtë DIY (Bëni Vetë), ne do të hartojmë një matës të thjeshtë të tensionit të baterisë duke përdorur CloudX - duke përdorur 7Segmentin si ekranin tonë.

Hapi 1: Kërkesa për harduer

Moduli i Mikrokontrolluesit CloudX

CloudX USB

Kartë Soft

7 Shfaqja e Segmentit

Rezistencat

Njësia e Furnizimit me Energji

Breadboard

Jumper (Lidhja) Telat

Hapi 2: Mikrokontrolluesi CloudX M633

Mikrokontrolluesi CloudX M633
Mikrokontrolluesi CloudX M633

Moduli i Mikrokontrolluesit CloudX

Moduli CloudX është një mjet harduerik i dizajnit elektronik që ju lejon një mënyrë shumë të përshtatshme dhe të lehtë të ndërlidhjes me botën fizike përmes një bordi të thjeshtë mikrokontrollues. E gjithë platforma bazohet në një llogaritje fizike me burim të hapur. Thjeshtësia e tij e një IDE (Mjedisi i Zhvillimit të Integruar) e bën atë vërtet një përshtatje të përsosur për fillestarët, por duke ruajtur një funksionalitet të mjaftueshëm për të lejuar përdoruesit përfundimtarë të përparuar të lundrojnë në rrugën e tyre. Në një guaskë arre, CloudX siguron një proces shumë të thjeshtuar të trajtimit të mikrokontrolluesit-duke hequr detajet komplekse normale që lidhen me të; ndërsa në të njëjtën kohë ofron një platformë shumë të pasur të përvojës së përdoruesit. Ajo gjen aplikime të gjera që preken në të gjithë fushën: shkollat, si një mjet i shkëlqyeshëm arsimor; produkte industriale dhe tregtare; dhe si një mjet i shkëlqyeshëm i dobisë në duart e një hobiisti.

Hapi 3: lidhni lidhjet

Lidhjet Pin
Lidhjet Pin

Kunjat me 7 segmente: A, B, C, D, E, F, G, 1, 2 dhe 3 janë të lidhur me pin1, pin2, pin3, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 dhe pin11 respektivisht.

Hapi 4: Diagrami i Qarkut

Diagrami i qarkut
Diagrami i qarkut

Moduli i mikrokontrolluesit, duke qenë në fazën qendrore këtu, mund të ndizet:

ose përmes pikave Vin dhe Gnd (dmth. lidhja e tyre me terminalet +ve dhe –ve përkatësisht në njësinë tuaj të furnizimit me energji përkatësisht) në tabelë;

ose përmes modulit tuaj të kartës së butë USB CloudX

Me Për më tepër, siç mund të shihet lehtësisht nga diagrami i qarkut më sipër, tensioni i baterisë hyrëse është i ndërlidhur me modulin MCU (mikrokontrollues) ashtu që –pika e rrjetit ndarës të tensionit (e formuar nga dhe) lidhet me A0 të kunjit MCU Me

dhe zgjidhen në mënyrë të tillë që:

kufizoni sasinë e rrymës që rrjedh përmes rrjetit;

limit brenda një diapazoni të sigurt prej (0 - 5) V për MCU.

Duke përdorur formulën: VOUT = (R2/(R1+R2)) * VIN; dhe lehtë mund të vlerësohet.

Voutmax = 5V

dhe për këtë projekt, ne zgjedhim: Vinmax = 50V;

5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Duke marrë R2 = 10kΩ për shembull; R1 = 45/5 * 10 = 90kΩ

Hapi 5: Parimi i funksionimit

Kur tensioni i matur i hyrjes lexohet përmes pikës VOUT të rrjetit ndarës të tensionit, të dhënat përpunohen më tej në MCU për të vlerësuar në vlerën aktuale përfundimtare që shfaqet në njësinë e segmentit. Ai (dizajni i sistemit) është një vendosës automatik i pikave dhjetore, në atë që ai (pika dhjetore) në fakt zhvendos pozicionin në vetë njësinë e ekranit në përputhje me atë që dikton vlera e notit në çdo pikë të caktuar në kohë. Pastaj, e gjithë njësia e ekranit të harduerit 7-segment është lidhur në modalitetin multiplex. Shtë një aranzhim i veçantë ku i njëjti autobus i të dhënave (kunjat me 8 të dhëna) nga MCU ushqen tre segmentet aktive 7 në njësinë e ekranit. Dërgimi i modelit të të dhënave në secilën prej pjesëve përbërëse arrihet me një proces të referuar si Skanimi. Skanimi është një teknikë që përfshin dërgimin e të dhënave në secilin prej segmenteve 7 përbërës; dhe mundësimin (dmth. ndezjen) e tyre në mënyrë të njëpasnjëshme pasi të mbërrijnë të dhënat e tyre përkatëse. Shkalla e adresimit të secilës prej tyre është bërë në mënyrë që të ketë sukses të mashtrojë vizionin njerëzor duke besuar se të gjitha ato (pjesët përbërëse) janë të aktivizuara (adresuara) në të njëjtën kohë. Ai (skanimi) thjesht, në fakt, përdor një fenomen të njohur si Persistence Of Vision.

Hapi 6: Programi i Softuerit

#përfshi

#përfshi

#përfshi

#përcakto segmentin1 pin9

#përcakto segmentin2 pin10

#përcakto segmentin3 pin11

float batt_voltage;

int decimalPoint, batt;

/*vargjet që ruajnë model-segment për secilën shifër të dhënë*/

char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};

char CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};

int disp0, disp1, disp2;

shfaq () {

pa shenjë char i;

nëse (pika dhjetore <10) {

disp0 = (int) batt_voltage /100; // merr MSD (Shifra më e rëndësishme)

// duke qenë më i peshuari

/* merr shifrën tjetër të ponderuar; dhe kështu me radhë */

disp1 = ((int) batt_voltage % 100)/10;

disp2 = ((int) batt_voltage % 10);

}

tjeter {

disp0 = (int) batt_voltage /1000;

disp1 = ((int) batt_voltage % 1000)/100;

disp2 = ((int) batt_voltage % 100)/10;

}

/*Modelet derdhen për tu shfaqur; dhe karakter 0x80 duke shtuar një pikë dhjetore

nëse gjendja e lidhur është e vërtetë*/

për (i = 0; i <50; i ++) {

pin9 = pin10 = pin11 = HIGH;

nëse (pika dhjetore <10)

portWrite (1, CCathodeDisp [disp0] | 0x80);

tjetër portWrite (1, CCathodeDisp [disp0]);

segmenti 1 = I UL;

segment2 = LART;

segment3 = LART;

vonesaMs (5);

pin9 = pin10 = pin11 = HIGH;

nëse ((pika dhjetore> = 10) && (pikë dhjetore <100))

portWrite (1, CCathodeDisp [disp1] | 0x80);

tjetër portWrite (1, CCathodeDisp [disp1]);

segmenti 1 = LART;

segment2 = I UL;

segment3 = LART;

vonesaMs (5);

pin9 = pin10 = pin11 = HIGH;

nëse (pikë dhjetore> = 100)

portWrite (1, CCathodeDisp [disp2] | 0x80);

tjetër portWrite (1, CCathodeDisp [disp2]);

segmenti 1 = LART;

segment2 = LART;

segmenti3 = I UL;

vonesaMs (5);

}

}

setup () {// konfiguro këtu

analogSetting (); // porti analog i inicializuar

modaliteti i portës (1, OUTPUT); // Kunjat 1 deri në 8 të konfiguruar si kunja dalëse

/ * kunjat e skanimit të konfiguruar si kunja dalëse */

pin9Mode = dalje;

pin10Mode = dalje;

pin11Mode = dalje;

portWrite (1, LOW);

pin9 = pin10 = pin11 = HIGH; // skanoni kunjat (të cilat janë aktive-të ulëta)

// janë të çaktivizuara në fillim

loop () {// Programi këtu

batt_voltage = analogRead (A0); // merr vlerën e matur

tension_batt = = ((tension_batt * * 5000) / 1024); // faktori i konvertimit për 5Vin

tension_batt = = (tension_batt * 50)/5000; // faktori i konvertimit për 50Vin

decimalPoint = tensioni_bat; // shënon se ku shfaqet pika dhjetore në

// vlera origjinale para manipulimit të të dhënave

shfaqje ();

}

}

Recommended: