domenica 23 marzo 2014

Semplice esempio di domotica con ARDUINO UNO


Aggiornamento del 28.02.2016: Aggiornato codice e aggiunto schema collegamenti.
Alla fine il tempo l'ho trovato o meglio diversi ritagli di tempo mi hanno permesso di realizzare un progetto funzionante e praticamente completo. Nel video è possibile vedere cosa fa il mio Arduino UNO; inizialmente si doveva occupare solo del giardino ma poi, vista la disponibilità di contatti l'ho sfruttato al massimo. Ora controlla la temperatura e l'umidità dell'aria sia interna che esterna, l'umidità del terreno, il voltaggio, l'intensità di corrente e quindi la potenza assorbita. Funzione decisamente utile è la possibilità di impostare la soglia limite di potenza massima assimilabile e l'avviso acustico del superamento di tale soglia.
Se avessi avuto più spazio nei tubi avrei collegato Arduino MEGA.
Fate molta attenzione ai collegamenti elettrici, in particolare con la rete elettrica.

NON MI ASSUMO ALCUNA RESPONSABILITÀ NELLA REALIZZAZIONE DEL CIRCUITO DA ME INDICATO NELLA FIGURA SOTTOSTANTE.


Di seguito i post esempio che vi permetteranno, almeno lo spero, di comprendere il funzionamento delle diverse parti del progetto:

QUI il codice caricato su Arduino aggiornato con il collegamento ad Raspberry PI o ad un qualsiasi PC.

QUI invece un semplice programma scritto in Python 3 da caricare sul PC collegato via USB con Arduino per la visualizzazione dei dati e dello stato dei sensori/attuatori.

12 commenti:

  1. Bel colpo Marco! Penso che ci sia parecchio lavoro (sia hardware che software ) dietro di esso.
    Quando posterai le varie fasi di realizzazione, sara' molto utile a tutti.

    Ciao

    RispondiElimina
  2. Ciao Marco, bel lavoro Complimenti :). Gentilmente potresti postare gli schemi ?
    P.s Grazie in anticipo

    RispondiElimina
    Risposte
    1. Grazie Davide, tempo fa avevo cominciato a postare schemi e spiegazioni ma poi mi sono interrotto... Appena mi è possibile posto tutto quanto comprese le correzioni ad alcuni bug del programma.

      Elimina
  3. Grazie Davide... una sola curiosità quanto possono essere distanti i sensori dall'arduino?

    RispondiElimina
  4. Ciao, sinceramente non so quale sia il limite, i miei distano massimo 5/6 metri.

    RispondiElimina
  5. ciao Marco, volevo integrare sul tuo bellissimo programma un crepuscolare.
    Ho provato a scriverlo io sulla falsa riga dell'igrometro, ma mi da diversi errori.
    Magari gli potresti dare uno sguardo ed aiutarmi???
    Grazie in anticipo.

    RispondiElimina
  6. Ciao, posta il codice o inviamelo via email a vincoio75(chiocciola)gmail.com, appena posso gli do un'occhiata.

    RispondiElimina
  7. ciao marco, ma l rtc nel codice completo dell esempio domotico va comunque inizializzato o lo si puo fare direttamente con il codice completo?

    RispondiElimina
  8. Ciao, direttamente dal codice completo.

    RispondiElimina
  9. grazie per la pronta risposta, ho usato il tuo codice, l ho in buona parte stravolto ed ho eliminato tutti i delay usando la millis per non bloccare i vari cicli, ho usato un display 20x4 con la creazione di icone personalizzate, inoltre ho inserito diverse funzioni ed ho implementato il whatchdog per il riavvio automatico in caso di blocchi ed inserito un sistema di luci di cortesia che si attivano attivano solo di notte in presenza di movimento (sono disabilitabili). tutto funziona alla perfezione per ora, mi manca solo la modifica della misura della potenza (vorrei assumere la tensione come fissa a 220 volt anzichè usare alimentatore ac per misurarla) e poi sarà pronto per il test finale ed il montaggio in casa. mi hai fornito un grandissimo spunto di lavoro anche se devo dire che è stato non proprio facile.Grazie... a lavoro finito posterò un video

    RispondiElimina
    Risposte
    1. dato che ho inserito svariati sensori noto un abbassamento dell intensità dell illuminazione del display, secondo te mi converrebbe alimebtare tutti i sensori e gli attuatori a parte lasciando ad arduino solo il compito di leggere gli input ed output, vero? quello che assorbe tanto sembra essere un piccolo shield buzzer che quando bippa oltre a distorcere sembra quasi arrestare il sistema...

      Elimina
  10. Ciao, mi fa piacere esserti stato di aiuto. Io ho alimentato Arduino con un trasformatore a 12v oltre al fatto che è collegato ad un Raspberry con cui tengo sotto controllo tutti i valori tramite grafici caricati ogni 10 minuti in un mio sito web. L'abbassamento l'ho notato solo quando viene alimentato via usb. Attendo il video ;)

    RispondiElimina