Passa ai contenuti principali

Arduino - Utilizzo potenziometro e display LCD

Leggere il valore di un poteziometro (parte 1)

Il potenziometro è un componente molto utilizzato in elettronica in quanto il suo uso permette di regolare una tensione variabile (in questo caso 0 - 5 Volt) in ingresso al microcontrollore.

Il potenziometro va collegato secondo lo schema qui sotto al pin analogico A0 di Arduino.


Questo è il codice da caricare su Arduino:

riga 17 variabile per memorizzare la lettura del potenziometro
riga 18 variabile per memorizzare il valore mappato del potenziometro
riga 19 variabile per memorizzare il valore mappato invertito

Cosè la mappatura?
la funzione map() consente di rappresentare un valore variabile su un'altra scala
ad esempio la lettura del potenziometro sull'ingresso analogico viene letto dal convertitore ADC del microcontrollore come un numero che va da 0 a 1023 in base alla tensione che va da 0 a 5 Volt.
la sintassi della funzione map() è questa:
map(nome variabile ingresso, valore minimo ingresso, valore massimo ingresso, valore minimo scalato, valore massimo scalato) come si può vedere alla riga 43.
Questa funzione è molto utile anche se vogliamo invertire il valore mappato come si può vedere la differenza alla riga 44.

Il video mostra chiaramente la differenza.


ruotando il potenziometro 
- verso destra: POT VAL diminuisce, POT MAPPED diminuisce e POT INV_MAP cresce
- verso sinistra: POT VAL cresce, POT MAPPED cresce e POT INV_MAP diminuisce


In questo modo usando map() è possibile cambiare il valore in base alla rotazione del potenziometro indifferentemente da com'è alimentato il potenziometro.

Esperimento:
Provate ora ad invertire i fili rosso e nero che alimentano il potenziometro e vedrete il cambiamento.


Per dubbi o informazioni non esitate a lasciare un commento.



Commenti

  1. Buongiorno signori!
    Non riesco a reperire la libreria LCD.h da utilizzare su "POT LCD"
    grazie e buon lavoro

    RispondiElimina
    Risposte
    1. Chiedo scusa per il ritardo nella risposta. In questo articolo https://davidetech.blogspot.com/2016/08/prova.html puoi trovare il link da cui scaricare la libreria necessaria per il corretto funzionamento del display LCD I2C

      Elimina
  2. Questo commento è stato eliminato dall'autore.

    RispondiElimina

Posta un commento

Post popolari in questo blog

Arduino - Lampeggio Led (delay vs. millis)

Cosa sono delay() e millis()? Delay() è una funzione che mette in pausa il programma per un determinato tempo espresso in millisecondi, così facendo viene interrotta l'esecuzione del programma e se abbiamo un dispositivo in ingresso che durante il tempo di pausa cambia di stato il programma non se ne accorge fino a quando non ricomincia l'esecuzione dall'inizio. La struttura di delay è: delay(1000);   da inserire nel punto dello sketch in qui si vuole interrompere il programma in questo modo il programma viene messo in pausa per 1000 millisecondi = 1 secondo. Per saperne di più Millis() è una funzione che permette di sapere da quanto tempo è in funzione il microprocessore di Arduino UNO. In questo modo il programma non andrà mai in pausa ed è sempre in esecuzione, perché millis memorizza il tempo trascorso dall'avvio e poi per eseguire una determinata funzione si fa un controllo del tempo iniziale e il tempo trascorso. Per saperne di più Vediamo un esempi

Arduino - Lettura tensione potenziometro e display LCD

Leggere il valore di un poteziometro (parte 2) Oggi vedremo come leggere il valore in tensione di un potenziometro collegato al pin Analogico A0 di Arduino.