Arduino analogRead ( )
On octombrie 31, 2021 by adminFuncția analogRead( ) citește valoarea de la pinul analogic specificat prezent pe placa Arduino respectivă.
AdC (Analog to Digital Converter) de pe placa Arduino este un convertor multicanal. Acesta mapează tensiunea de intrare și tensiunea de funcționare între valorile 0 și 1023. Tensiunea de funcționare poate fi de 5V sau 3,3V.
Valorile de la 0 la 1023 sunt valori întregi. De asemenea, poate fi scrisă ca de la 0 la (2^10) -1.
Durata de timp pentru a citi un semnal de intrare analogică pe plăcile (UNO, Mega, Mini și Nano) este de aproximativ 100 microsecunde sau 0,0001 secunde.
În consecință, rata maximă de citire a intrării analogice este de aproximativ 10000 de ori pe secundă.
Să discutăm despre tensiunea de funcționare și rezoluția unor plăci Arduino.
- Tensiunea de funcționare a Arduino UNO, Mini, Mega, Nano, Leonardo și Micro este de 5 V, iar rezoluția este de 10 biți.
- Tensiunea de funcționare a plăcilor din familia MKR, Arduino Due și Zero este de 3 V, iar rezoluția este de 12 biți.
Modificarea tensiunii de intrare și a rezoluției
- Pe o anumită placă, putem modifica tensiunea de intrare folosind funcția analogReference( ).
analogReference( )
Tensiunea de referință utilizată pentru intrarea analogică este configurată de analogReference( ).
Sintaxa este:
Nota: Tensiunea de referință externă de pe pinul AREF nu trebuie să depășească mai mult de 5V sau mai puțin de 0V. Trebuie să setăm Referința analogică ca Externă în timp ce lucrăm pe pinul AREF.
În caz contrar, se poate deteriora microcontrolerul prezent pe placa Arduino.
- Potem schimba rezoluția doar pentru familia MKR, Zero și placa Due folosind funcția analogReadResolution( ).
analogReadResolution( )
Familia MKR, Zero și Due au rezoluția ADC de 12 biți.
Funcția analogReadResolution( ) va returna valorile întregi între 0 și 4095 de la funcția analogRead( ).
Sintaxa este:
unde,
bits: Semnifică biții de rezoluție returnați de funcția analogRead( ). Putem seta valoarea biților între 1 și 32.
Nota: Dacă sunt specificați biți de rezoluție mai mari decât capacitățile plăcii, Arduino va umple biții suplimentari cu zerouri.
De exemplu, analogReadResolution (14)
Funcția de mai sus va da un număr aproximat de 14 biți cu primii doi 12 biți (care includ citirea ADC) și ultimii doi biți umpluți.
Sintaxa funcției analogRead ( )
Sintaxa este:
unde,
pin: Include numele pinului analogic particular de la care se citește.
Tipul de date este int.
Un pin analogic neconectat poate, de asemenea, să returneze o anumită valoare. O astfel de valoare depinde de poziția mâinii noastre pe placă și de alte intrări analogice din apropiere.
Cod Exemplu de cod
Să înțelegem conceptul de analogRead cu un exemplu.
Considerați codul de mai jos:
Codul de mai sus citește tensiunea de la pinul analogic specificat (AnaPin) și o afișează.
Lasă un răspuns