CONTENUTO ►
La funzione analogRead() di Arduino IDE è utilizzato per leggere il segnale analogico dalle porte contrassegnate come Ananlog In sulle schede Arduino. Questa funzione viene utilizzata per interrogare i sensori analogici collegati al microcontrollore, come ad esempio: termistore, fotoresistore, sensore di temperatura LM35, ecc. Consideriamo l’uso di analogRead() nello sketch su un semplice esempio con il collegamento di un resistore variabile.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- LED e resistenza
- resistore variabile
- breadboard
- cavi di collegamento
Come si usa analogRead() di Arduino IDE?
Arduino analogRead() legge il valore di tensione dell’ingresso specificato. La scheda Arduino Uno dispone di 6 ingressi analogici collegati all’ADC (convertitore analogico-digitale) a 10 bit del microcontrollore. Ciò significa che la tensione di ingresso sulla scheda da 0 a 5 Volt viene convertita in un valore digitale intero da 0 a 1023. La risoluzione di misura risultante è: 5 Volt / 1024, in altre parole, la precisione di misura è pari a 0,0049 Volt.
Sintassi della funzione analogRead Arduino IDE
analogRead(pin);
- pin – numero dell’ingresso analogico da monitorare
Nell’esempio seguente, si collega un potenziometro (resistenza variabile) all’ingresso analogico A1 del microcontrollore Arduino. Ruotando la manopola del potenziometro, la variabile val verrà modificata nel programma e quindi visualizzata sul monitor della porta IDE di Arduino. A seconda del valore della variabile, il comando analogWrite modificherà la luminosità del LED collegato al pin 10, che supporta la modulazione PWM.
Programma Arduino con la funzione analogRead()
void setup() { Serial.begin(9600); pinMode(10, OUTPUT); pinMode(A1, INPUT); } void loop() { int val = analogRead(A1); // leggere i dati dall'ingresso A1 val = val / 4; Serial.println(val); // visualizzare i dati sul monitor della porta analogWrite(10, val); // cambiare la luminosità del LED delay(100); }
Spiegazione del codice per utilizzare funzione analogRead significato
- I pin analogici sono utilizzati come ingressi per impostazione predefinita. Pertanto, non è necessario configurarli con pinMode() prima di chiamare analogRead(), a differenza del comando digitalWrite();
- il valore della porta A1 (variabile val) viene inviato al monitor della porta.
Nota: Se l’ingresso analogico del microcontrollore Arduino non è collegato, il valore restituito da analogRead() può essere casuale. I valori fluttueranno in base a molti fattori: il valore di altri ingressi analogici, i campi elettromagnetici, ecc. La tensione di riferimento predefinita è di 5 Volt: se necessario, è possibile utilizzare un valore diverso.
Conclusioni. Abbiamo esaminato il significato del comando analogRead nel linguaggio di programmazione Arduino e abbiamo mostrato come utilizzare la funzione analog Read in uno sketch di un potenziometro. Ma è possibile utilizzare qualsiasi altro sensore analogico, come un fotoresistore o un sensore d’acqua. La conversione analogico-digitale (ADC) richiede circa 100 µs, quindi la velocità massima di misurazione è di circa 10.000 volte al secondo.
Lascia un commento