Come usare gli ADC in Arduino

Come usare gli ADC in Arduino

ADC è un acronimo di Convertitore da analogico a digitale. ADC viene utilizzato per convertire i dati analogici in tempo reale da sensori, dispositivi analogici e attuatori in un segnale digitale per l'elaborazione. Gli ADC sono ovunque dai telefoni cellulari alle telecamere di registrazione video e persino in più controller. Le schede Arduino sono una di queste. Arduino ha un ADC integrato che consente agli utenti di interfacciarsi Arduino con il mondo reale. Arduino senza ADC è limitato al mondo digitale. Qui vedremo come possiamo usare ADC in Arduino per costruire il nostro prossimo progetto.

ADC in Arduino

L'ADC in Arduino viene utilizzato per convertire dati analogici come tensione, valori del sensore analogico in forma digitale. Il microcontrollore all'interno di una scheda Arduino può leggere questo segnale digitale. Arduino e altri lavori elettronici su dati binari noti anche come linguaggio della macchina. ADC converte i dati analogici in forma binaria (segnale digitale). La maggior parte delle schede Arduino ha un ADC all'interno di un microcontrollore, ma può anche essere aggiunto un ADC esterno per elaborare più dati.

  • Quando interfacciamo i sensori analogici con Arduino, la maggior parte di essi ha un'uscita in forma analogica ADC li convertisce in digitale
  • L'ADC viene utilizzato tra il sensore analogico e il microcontrollore Arduino
  • Arduino ADC ha molteplici applicazioni come il sistema di monitoraggio meteorologico, allarme antincendio, biometrico e riconoscimento vocale ecc.

Come usare ADC in Arduino Uno

Arduino Uno ha 6 pin analogici Per leggere i dati analogici. Questi pin analogici leggono i dati tra 0-5V. L'ADC utilizzato nelle schede Arduino è 10 bit. Può dividere i valori analogici in dati digitali con un intervallo di 0-1023. Questo intervallo può anche essere descritto come Risoluzione che mostra la capacità di Arduino di mappare i dati analogici in valori discreti.

Per chiarire, prendiamo un esempio:

Per valore VREF 5V:

  • Se l'ingresso analogico è 0 V, l'output digitale sarà 0
  • Se l'ingresso analogico è 2.5V quindi l'output digitale sarà 512 (10 bit)
  • Se l'ingresso analogico è 5 V, l'uscita digitale sarà 1023 (10 bit)

Analogread () La funzione viene utilizzata per leggere i dati analogici utilizzando un pin specificato da A0 a A5. In Arduino Uno ci vogliono 100 microsecondi per leggere i dati utilizzando pin di ingresso analogici, il che significa che può richiedere un massimo di 10.000 letture analogiche per sec.

Analogread (spillo) utilizza un parametro "spillo" che indica il nome del pin analogico in cui vengono letti i dati. Il numero di pin analogici varia in base ai tipi di scheda:

  • A0-A5 sulla maggioranza di schede come Uno
  • A0-A15 su Mega Board
  • A0-A7 su mini e nano
  • A0-A6 nelle schede della famiglia MKR


Esempio: lettura del valore analogico usando Arduino

Per rendere le cose più chiare, iniziamo un esempio utilizzando un potenziometro che invia dati analogici al pin Arduino analogico A0. Per vedere il nostro output digitale, useremo un monitor seriale disponibile all'interno di Arduino IDE.

Materiale richiesto:

  • Arduino
  • Ide
  • Potenziometro
  • Breadboard
  • Fili jumper

Schema elettrico


Collegare la scheda Arduino al PC utilizzando il cavo USB B. Un potenziometro ci fornirà dati analogici. Collegare il potenziometro a tre gambe terminali come segue:

  • Pins 5v e GND di Arduino alle gambe esterne di potenziometro
  • A0 Ingresso analogico Arduino Pin con terminale di ingresso centrale di potenziometro

Codice

int inputAnalogPin = A0; // Pin di ingresso analogico per potenziometro
int digitalOutput = 0; // Variabile che archivia il valore di input da potenziometro
void setup ()
Seriale.Inizia (9600);

void loop ()
DigitalOutput = Analogread (inputAnalogPin); // Leggi il valore del canale analogico
Seriale.print ("digitalutput =");
Seriale.println (digitaleutput); // Stampa l'output digitale sul monitor seriale
ritardo (1000);



In questo codice abbiamo inizializzato due variabili: inputanalogpin leggerà i dati del sensore di input e output digitale memorizzerà i dati digitali in uscita, che possono essere stampati su monitor seriale utilizzando Seriale.println () funzione.

I dati digitali di output possono essere visualizzati su Monitor seriale.


Utilizzando Arduino ADC, abbiamo completato il nostro programma che converte i dati analogici provenienti da potenziometro in dati digitali.

Conclusione

ADC è un tipo di strumento che collega il mondo analogico con il digitale. Le schede Arduino sono progettate per studenti, insegnanti e principianti in modo che possano gestire facilmente hardware utilizzando dati in tempo reale. Per collegare Arduino con i sensori ADC farà il lavoro. Qui usando un esempio, abbiamo dimostrato il funzionamento di un Arduino ADC.