La shield I/O si presta bene anche a realizzare un primo progetto domotico per il tuo laboratorio o per una parte della tua abitazione. Sulla base di questa idea ho realizzato il tutorial che stai per leggere e che ti mostrerà come collegare la shield agli interruttori di casa.
Non è molto differente da quello che hai letto in questo articolo “Tutorial: Shield I/O comandare luci esterne” ho apportato alcune modifiche allo sketch per poter utilizzare dei normali interruttori e non dei pulsanti, così non dovrai cambiare anche i frutti già montati.
ATTENZIONE: Il collegamento va eseguito con cautela e da mani esperte per evitare di mettere in corto circuito l’impianto del tuo appartamento. Inoltre ricorda che i relè montati sulla shield sono di tipo 125V˜ 0.5 A NON COLLEGARE CARICHI MAGGIORI.
Collega il primo polo di tutti gli interruttori in comune e al terminale negativo della shield I/O, come nello schema seguente:
l’altro polo, quello che alla pressione dell’interruttore crea il contatto tra i due poli, dovrai collegarlo ad uno dei poli della shield I/O, quale interruttore colleghi a quale polo dipende solo dalla tua volontà e da quale luce vuoi che si accenda.
Eccolo lo sketch che ho scritto per questa applicazione:
int out[6]={8,9,10,11,12,13}; int in[6]={2,3,4,5,6,7}; void setup() { for (int i=0; i<6; i++){ pinMode(out[i], OUTPUT); pinMode(in[i], INPUT); } } void loop() { for (int i=0; i<6; i++){ digitalWrite(out[i], digitalRead(in[i])); } }
Rispetto allo sketch di collegamento dei pulsanti questo è notevolmente più semplice, il motivo è che c’è un unica cosa da tener presente il segnale che leggo sull’ingresso lo applico all’uscita corrispondente.
linee 01-02: definisci i pin di INPUT ed OUTPUT tra Arduino e la Shield I/O, puoi far poco i pin sono già stati definiti da chi ha progettato la shiled;
linee 04-09: definisci la funzione di setup() in cui imposti i pin di IN per funzionare come INPUT e quelli di OUT per funzionare come OUTPUT, per farlo puoi scrivere tutte le righe pin per pin o usare un ciclo for come mostrato;
linee 13-15: un nuovo ciclo all’interno della funzione loop() ti permette di verificare ad ogni LOOP di Arduino lo stato dei 6 ingressi e impostare in modo analogo lo stato delle 6 uscite con una corrispondenza 1 ad 1.
Ecco il video di cosa potrai fare:
Buon divertimento.
Prima di inserire un commento, per favore, leggi il regolamento
5 pings
[…] centralina di irrigazione fino a 6 settori usando la i/o shield già vista in progetti come I/O Shield in domotica i sensori di umidità del terreno, temperatura dell’aria, l’RTC shield, LCD e una […]