Arduino – Leggere una tensione analogica

 



 Arduino – Come leggere una tensione su una porta analogica

Questo esempio mostra come leggere un ingresso sul pin analogico 0.
L’ingresso viene convertito da analogRead () in tensione e stampato sul monitor seriale del software Arduino (IDE).

Vediamo cos’è un potenziometro

Un potenziometro è un semplice trasduttore elettromeccanico. Converte il movimento rotatorio o lineare dall’operatore di input in un cambio di resistenza. Questo cambiamento è (o può essere) utilizzato per controllare qualsiasi cosa, dal volume di un sistema hi-fi alla direzione di un’enorme nave porta container.

Il potenziometro era originariamente conosciuto come reostato (essenzialmente un resistore a filo avvolto variabile). La varietà di potenziometri disponibili ora è abbastanza sorprendente, e può essere molto difficile per il principiante (in particolare) capire quale tipo è adatto per un determinato compito.

Procediamo con questo tutorial. Abbiamo necessità di un po’ di hardware elettronico:

  • 1 breadboard
  • 1 potenziometro da 5K Ohm
  • filo elettrico per breadboard
  • ed ovviamente Arduino
PROCEDURA
– Collegare il pin 5V di Arduino ad un’estremità del potenziometro
– Collegare il pin GND (ground) di Arduino all’altra estremità del potenziometro
– Collegare il pin A0 (analogico 0) di Arduino al gambo centrale del potenziometro

Inserire il codice su Arduino tramite il software IDE. Se non lo avete scaricato seguite questa guida su come installare il software di Arduino.

/* 

   Visita ArduinoFacile su: 
   https://arduinofacile.altervista.org 
   
   La Pagina Facebook di ArduinoFacile su: 
   https://www.facebook.com/ArduinoFacile/

   ReadAnalogVoltage
   Legge un ingresso analogico sul pin 0, lo converte in tensione,
   e stampa il risultato sul monitor seriale.
   La rappresentazione grafica è disponibile utilizzando
   il monitor seriale.
   Attaccare il pin centrale di un potenziometro 
   al pin A0 e i pin esterni a + 5 V e terra.
*/
 
// the setup routine runs once when you press reset:
 
void setup() {
   // initialize serial communication at 9600 bits per second:
   Serial.begin(9600);
}
 
// the loop routine runs over and over again forever:
 
void loop() {
   // read the input on analog pin 0:
   int sensorValue = analogRead(A0);
   // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
   float voltage = sensorValue * (5.0 / 1023.0);
   // print out the value you read:
   Serial.println(voltage);
}

Codice da notare

Nel programma o nello sketch forniti di seguito, la prima cosa che fai nella funzione di configurazione è iniziare le comunicazioni seriali, a 9600 bit al secondo, tra la tua scheda e il tuo computer con la linea –

Serial.begin (9600);

Nel loop principale del tuo codice, devi stabilire una variabile per memorizzare il valore di resistenza (che sarà tra 0 e 1023, perfetto per un tipo di dati int) proveniente dal tuo potenziometro

int sensorValue = analogRead (A0);

Per cambiare i valori da 0 a 1023 in un intervallo che corrisponde alla tensione, è necessario creare un’altra variabile, un float e fare un piccolo calcolo. Per ridimensionare i numeri tra 0.0 e 5.0, dividere 5.0 per 1023.0 e moltiplicarlo per SensorValue

float voltage = sensorValue * (5.0 / 1023.0);

Infine, è necessario stampare queste informazioni nella monitor seriale. Puoi farlo con il comando Serial.println () nell’ultima riga di codice

Serial.println (voltage)

Ora apri Serial Monitor nell’IDE di Arduino facendo clic sull’icona a destra della barra verde in alto o premendo Ctrl + Maiusc + M.

 

Risultato

Vedrai un flusso costante di numeri che vanno da 0.0 a 5.0. Quando si ruoterà il potenziometro, i valori sul monitor cambiano, corrispondenti alla tensione sul pin A0.