Conversia analogului în digital (Serial de citire analogică) - Noțiuni de bază despre Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În aceste elemente de bază Arduino încercăm să înțelegem procedura de implementare a codului în care un semnal analogic extern este alimentat la intrarea analogică Arduino și tradus sau convertit într-o citire digitală corespunzător proporțională. Aici folosim o rezistență variabilă sub forma unui pot ca sursă de semnal analog.

Serial de citire analogică

În acest exemplu, învățăm metoda de citire a unei intrări analogice de la un dispozitiv extern, un astfel de potențiometru, care este un dispozitiv n electromecanic conceput pentru implementarea unei rezistențe variabile într-un circuit prin operare manuală.



Un Arduino poate fi utilizat pentru măsurarea magnitudinii tensiunii care iese dintr-un potențiometru, în scopul citirii și identificării rezistenței variabile corespunzătoare. Acest lucru se poate face prin alimentarea tensiunii în portul de intrare analogic Arduino ca valoare analogică.

Aici vom vedea cum se aplică cele de mai sus după stabilirea comunicării seriale pe Arduino și computerul conectat.



Hardware necesar

Placa Arduino

Potențiometru de 10 kilograme

Funcționarea circuitului

După cum este descris în diagrama de mai sus, conectați cele trei fire care ies din pot la porturile Arduino.

Sârmele de la unul dintre cablurile exterioare ale potului sunt atribuite cu solul sau cu linia negativă a plăcii.

Celălalt cablu exterior extrem de liber se conectează la + 5V al plăcii.

Ceea ce a rămas este cablul central al potului, care se termină la intrarea analogică a plăcii Arduino.

Când arborele de ghiveci este rotit, rezistența de-a lungul cablului central și terminalul exterior se deplasează de la mai mare la inferior și invers, în funcție de ce parte se apropie brațul glisant.

De exemplu, când brațul glisor este rotit spre cablul + 5V, cablul central se apropie de 5V și tinde să dobândească întreaga valoare pe măsură ce atinge cablul atribuit de 5V. În mod similar, atunci când arborele glisant este deplasat către cablul de gheață al solului, cablul central tinde să atingă un potențial zero.

Tensiunea de alimentare cu variație liniară de mai sus peste cablul central al potului este citită de intrarea analogică arduino pentru interpretarea acesteia într-o rezistență a potului variabilă corespunzător.

Arduino conține un circuit intern de convertor analog-digital care interpretează în mod eficient mișcarea potului de mai sus și îl convertește în numere între 0 și 1023.

O poziție specială peste arborele potului are ca rezultat un număr proporțional între 0 și 1023 fiind tradus de Arduino, iar pentru valorile finale de 5V și zero volți, interpretările sunt evident 0 și 1023.

În programul menționat, funcția de configurare trebuie să fie declanșată numai pentru inițierea comunicațiilor seriale, rata fiind de 9600 de biți de date pe secundă, pe placa Arduino și computer.

Comanda așteptată este sub forma:

Serial.begin (9600)

Ulterior, în bucla principală a codului dvs., aplicăm o variabilă pentru a stabili valoarea rezistenței (care ar fi așa cum s-a discutat între 0 și 1023, potrivită doar pentru un tip de date int) primită de la potențialii pot:

int sensorValue = analogRead (A0)

Pentru a încheia, imprimați aceste informații în fereastra dvs. de serie ca valoare zecimală (DEC). Puteți utiliza comanda Serial.println () pentru implementarea acesteia în ultima linie de cod:

Serial.println (sensorValue, DEC)

După aceasta, ori de câte ori este inițiat Serial Monitor în domeniul de dezvoltare Arduino (acest lucru se face făcând clic pe butonul aflat imediat în partea dreaptă a butonului „Încărcare” din antetul programului).

am vedea un lanț consistent de cifre care variază de la 0-1023, corespunzător poziției variabile de rotație a arborelui de ghiveci.

Dacă oprim rotația arborelui potului la un moment dat, numărul instantaneu corespunzător va fi afișat pe ecranul Arduino, acest lucru s-ar schimba din nou proporțional pe măsură ce vom continua să schimbăm poziția arborelui potului.

Codul

/ *
AnalogReadSerial
Citește o intrare analogică pe pinul 0, imprimă rezultatul pe monitorul serial.
Atașați știftul central al unui potențiometru la știftul A0, iar știfturile exterioare la + 5V și la masă.

Acest exemplu de cod se află în domeniul public.
* /

// rutina de instalare rulează o dată când apăsați reset:
configurare nulă () {
// inițializați comunicația serială la 9600 biți pe secundă:
Serial.begin (9600)
}

// rutina de buclă rulează iar și iar pentru totdeauna:
bucla nulă () {
// citiți intrarea pe pinul analogic 0:
int sensorValue = analogRead (A0)
// tipăriți valoarea pe care ați citit-o:
Serial.println (sensorValue)
delay (1) // întârziere între citiri pentru stabilitate
}




Precedent: Monitorizarea stării unui comutator (serial de citire digitală) - Noțiuni de bază despre Arduino Următorul: Circuitul regulatorului de tensiune reglabil de la 1,25V la 120V