Tutorial: Shield I/O in domotica

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.

shield i/o con interruttori 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:

interruttori da collegare alla shield i/o

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.

  • 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/tutorial-shield-domotica.html

4 commenti

1 ping

Vai al modulo dei commenti

    • Stefano il 4 Marzo 2013 alle 10:05
    • Rispondi

    Ciao Mauro sto cercando di capire quale sia la mia strada con arduino e vedo che la robotica pura per ora mi è ostica, tendenzialmente mi piacerebbe indirizzarmi verso la domotica
    e dopo aver visto questo.. http://www.youtube.com/watch?v=gYvuve5s6Bs
    beh in un modo o nell altro devo capire (è un esigenza “riuscire a capire”) quali sono i moduli che mi servirebbero e perchè… quale il ragionamento per capire le caratteristiche del modulo relè da acquistare…
    ad esempio nel simpatico progetto che avevi citato del mokaduino non si vedono/capiscono i relè che usa o uno schema esplicativo per poter “provare” (PS il carico di un utilizzatore come un bollitorecaffè è diverso da una semplice lampadina?)

    leggendo questo articolo sono andato giù di testa…nel senso che non capisco la differenza tra questa shield e la normale relay shield e come hai utilizzato gli interuttori di casa… ho visto delle shield, giusto per capire se ho fatto le mie osservazioni corrette e mi chiedo qual’è il massimo carico che posso collegare?

    1. Ciao Stefano,
      la tua buona volontà ed il tuo entusiasmo sono ammirevoli.

      Da quello che leggo non hai tante conoscenze di elettricità, lavorare e sperimentare con la corrente di rete (220v) non va fatto senza una adeguata preparazione.

      Il mio consiglio è di studiare bene come funziona un impianto elettrico, magari con l’aiuto di un professionista della materia e farti assistere sia nella parte progettuale sia in quella di montaggio.

      I relè esistono di tanti tipi e potenze trovi le caratteristiche nelle schede tecniche di ciascuno, se il produttore non lo indica è già sintomo di inadeguatezza della shield o di superficialità ed in entrambi i casi con la tensione casalinga non scherzerei.

      Sono sicuro che studiando e documentandoti adeguatamente riuscirai.

      Mauro

    • SANTO il 15 Maggio 2016 alle 10:19
    • Rispondi

    CIAO MAURO NON HO CAPITO BENE COME NON FAR RIPETERE IL CICLO SKETCH AD ARDUINO MI SPIEGO MEGLIO UNA SEQUENZA DI LUCI LED SOLO PER UNA VOLTA
    CIAO GRAZIE SANTO

    1. Ciao Santo,
      dovrai inserire un controllo nel loop() o usare la setup() e lasciare al loop() vuota.
      Il concetto stesso di loop() indica che lo sketch sarà eseguito fino a quando arduino è alimentato.

  1. […] 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 […]

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.