Il potenziometro è una resistenza sulla quale scorre un cursore mobile che permette di spostarsi sul materiale resistivo e variare quindi la resistenza vista tra un estremo del potenziometro e il cursore.
Il potenziometro può essere rotativo o a slitta. Quello rotativo può funzionare da trasduttore angolare, mentre quello a slitta come trasduttore di posizione. Cioè la resistenza misurata tra il cursore e uno dei due morsetti può essere messa in corrispondenza con un angolo o con una distanza.
Inoltre i potenziometri possono essere a variazione lineare o a variazione logaritmica, a seconda se a uguali spostamenti corrispondono uguali variazioni di resistenza oppure al variare della posizione la resistenza varia secondo una funzione potenza. Un potenziometro logaritmico fa corrispondere ad ogni spostamento di un angolo di x radianti una variazione di resistenza di xn Ω, esempio: ad un angolo di x radianti R=10 Ω, ad un angolo di 2·x radianti la resistenza vale 100 Ω, ad un angolo di 3·x radianti la resistenza vale 1000 Ω.
Il potenziometro viene usato come partitore di tensione, perchè anzichè misurare la resistenza si misura la d.d.p. tra il cursore e un morsetto.
Il convertitore analogico digitale divide la tensione di alimentazione di +5.12V in 1024 parti e ad ogni intervallo associa un numero. Ogni intervallo risulta essere largo 5 mV. Il dispositivo possiede un ingresso sul quale si applica un valore di tensione compreso tra 0 V e 5.12 V e possiede un'uscita di 10 bit. Per ogni valore applicato sull'ingresso l'ADC produce in uscita la rappresentazione binaria del numero dell'intervallo entro cui è compresa la tensione di ingresso. L'intervallo numero 0 corrisponde ad una Vi compresa tra 0 e 5 mV, l'intervallo numero 1 corrisponde ad una Vi compresa tra 5 e 10 mV, l'intervallo numero 2 corrisponde ad una Vi compresa tra 10 e 15 mV, …, l'intervallo numero 1023 corrisponde ad una Vi compresa tra 4.995 e 5 mV.
Applicando in ingresso all'ADC la d.d.p. prelevata sul cursore del potenziometro, in uscita dall'ADC si preleva un numero corrispondente all'angolo di rotazione del potenziometro. Questo numero viene usato per stabilire il ritardo nella funzione delay(). Collegare il pin centrale del potenziometro al piedino A0 di Arduino. Collegare un pin esterno del potenziometro a +5 V e l'altro pin esterno a 0 V.
int sensorPin =0 ; // pin analogico 0int ledPin =13 ; // pin digitale 13void setup() {pinMode( ;ledPin ,OUTPUT )} void loop() {int sensorValue ;sensorValue =analogRead( ;sensorPin )digitalWrite( ;ledPin ,HIGH )delay( ; // PausasensorValue )digitalWrite( ;ledPin ,LOW )delay( ; // PausasensorValue )}
Usare il monitor seriale per leggere il valore prodotto dall'ADC. A tale scopo, nella funzione setup() inserire la riga: Serial.begin(9600) per programmare la velocità della porta seriale a 9600 bit/sec. Nella funzione loop() inviare il valore letto dall'ADC al monitor seriale con la funzione: Serial.println(sensorValue).
Per ogni valore numerico fornito dall'ADC calcolare la corrispondente tensione applicata sul pin A0 ed, eventualmente, verificarla con uno strumento.
generare un ritardo per far lampeggiare il LED moltiplicando il valore letto dall'ADC per 2 e aggiungendo la costante 50.