Centralina irrigazione arduino aggiungi i pulsanti

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.

centralina irrigazione pulsanti

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.

centralina irrigazione Arduino pulsanti collegati

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:

keypad LCD

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.

centralina irrigazione pulsanti connessione A0
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:

lettura dei 5 pulsanti da arduino

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 !!!

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/centralina-irrigazione-arduino-pulsanti.html

1 commento

    • nicola usai il 13 Ottobre 2016 alle 16:51
    • Rispondi

    Ciao Mauro, utilissimo questo semplice e pratico trucchetto grazie. In teoria non dovrebbe cambiare la sostanza se uso una resistenza da 220 giusto?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.