La centralina irrigazione per il tuo impianto ha ora un display LCD 16×2 come hai letto nel precedente articolo e in questo articolo aggiungerai cinque pulsanti che ti serviranno a sfogliare i menu e definire le impostazioni.
Come sai ad arduino puoi collegare un pulsante sia ai pin analogici sia ai pin digitali tuttavia in questo progetto i pin digitali rimasti a disposizione sono solo il pin 0 ed il pin 1, che solitamente sconsiglio di utilizzare perchè ti impedirebbe di poter utilizzare il Serial Monitor per eseguire il DEBUG del tuo progetto.
Ti restano quindi 6 input di tipo analogici che potresti utilizzare per i pulsnati.
Considera che avrai bisogno almeno di 5 pulsnati con le seguenti funzioni:
SU o PRECEDENTE
GIU o SUCCESSIVO
DESTRA o PIU
SINISTRA o MENO
INVIO o CONFERMA
con cinque pulsnati sulla centralina irrigazione puoi gestire i principali comandi e spostamti tra i menu certo che la maggior parte delle funzioni potrai gestirle.
Ogni pulsnate avrà una funzione specifica in base al contesto di menu in cui sarai.
Purtroppo se collegassi ciascun pulsante ad un pin analogico ti troveresti ad utilizzare cinque dei sei pin analogici solo per controllare l’input dei pulsanti e non ti resterebbero pin analogici disponibili per collegare eventuali sensori di controllo della temperatura o dell’umidità del terreno.
Per questo motivo puoi creare un circuito di collegamento dei pulsanti simile a quello utilizzato dalla KeyPad LCD in modo da poter collegare tutti i cinque pulsanti ad uno solo dei pin analogici della tua centralina irrigazione.
Lista della spesa
Ecco l’elenco del materiale necessario:
n.1 arduino uno
n.5 resistenze da 330ohm
n.5 pulsanti N/A
n.1 breadboard
n.3 cavetti per breadboard
Schema pulsanti per centralina irrigazione
Puoi seguire lo schema seguente per collegare i pulsanti e le resistenze:
in pratica ciascun pulsante si interpone tra il terminale comune ( Gnd ) e una connessione tra le resistenze ed il pin A0 di arduino ( o altro pin che deciderai di usare per leggere i pulsanti ) è collegato dopo la prima resistenza da 330ohm.
Puoi utilizzare per il tuo circuito resistenze di uguale valore (330ohm ) perchè la legge di Ohm fa in modo che la resistenza misurata alla pressione del secondo pulsante sia la metà di quella misurata alla pressione del terzo ed un terzo di quella misurata alla pressione del quarto; così a seguire fino all’ultimo pulsante.
La connessione dei pulsanti su una breadboard saranno simili alla figura seguente:
Sketch di test dei pulsanti della centralina irrigazione
Collegati i pulsanti e le resistenze tra loro puoi usare questo semplice sketch per testare sia la qualità dei collegamenti sia i valori che Arduino legge alla pressione di ciascun pulsante, in questa fase non è importante stabilire quale pulsante assegnerai ad una determinata funzione è più interessante verificare che la pressione di un pulsante corrisponda alla lettura di un valore differente dagli altri.
/* AnalogReadSerial Reads an analog input on pin 0, prints the result to the serial monitor. Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground. This example code is in the public domain. */ void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); Serial.println(sensorValue); delay(500); }
Per eseguire il test collega i pulsanti al pin A0 di arduino, carica lo sketch e apri il Monitor Seriale dell’IDE Arduino, inizierai a leggere una serie di righe che riportano il valore 1023.
Inizia a premere in seguenza i pulsanti partendo dal pulsante A al pulsante E della centralina irrigazione e osserverai il variare dei valori come riportato nella figura:
I valori che leggerai sul tuo monitor seriale potrebbero essere leggermente differenti, segnati i valori e la rispondenza ad ogni singolo pulsante, questa informazione ti servirà quando scriverai lo sketch definitivo della centralina irrigazione.
Buon weekend !!!
1 commento
Ciao Mauro, utilissimo questo semplice e pratico trucchetto grazie. In teoria non dovrebbe cambiare la sostanza se uso una resistenza da 220 giusto?