Termostato wifi con Arduino e miuPanel

Ciao a tutti!

Il progetto che realizzeremo oggi è un termostato wifi controllabile con una applicazione per smartphone.
In pratica da dovunque voi siate potrete controllare un dispostivo tramite la chiusura di un contatto di un relè (una caldaia, un ventilatore, una scaldiglia,etc)






I componenti di cui avremo bisogno sono:

  • una scheda Arduino
  • un modulo wifi miuPanel SCF-01 (acquistabile qui)
  • un sensore di temperatura DHT11
  • un modulo relè 
  • breadboard e cavetteria varia.



Ecco il video del primo prototipo, in cui potete vedere il funzionamento del sistema:




Schematizzando il principio di funzionamento di questo sistema è il seguente:

  •  la scheda wifi miuPanel si collega alla vostra rete wifi di casa
  •  la scheda Arduino invia, via seriale, le informazioni al modulo miuPanel per generare il pannello grafico che vedrete sul vostro smartphone.
  •  scaricate poi l'app miuPanel sul vostro smartphone e riconoscete il pannello (se non sapete come si fa o se volete muovere i primi passi con questo fantastico dispositivo leggete qui)
  •  agendo sull'app generata sul vostro smartphone il modulo wifi restituirà all'Arduino delle stringhe di testo in base a ciò che avete fatto (ad esempio attivato o disattivato uno switch).
  •  leggendo queste informazioni poi, l'Arduino, comanderà ciò che è collegato alle porte di uscita.



A questo punto siamo pronti a realizzare lo schema elettrico:



A questo punto abbiamo quasi finito, sarà sufficiente caricare il seguente sketch per iniziare ad utilizzare il nostro sistema.

Assicuratevi di avere la libreria DHT11 per il sensore di temperatura e ricordatevi di scollegare il cavetto dal pin 0 di Arduino durante il caricamento!


In pratica tutto quello che vedete sul pannello è contenuto nelle righe inviate dall'Arduino al miuPanel via seriale (quindi sulle righe 22,23 - 50,51 e 55,56)


Questi sono gli screenshot del pannello che apparira sull'app se tutto sarà andato a buon fine:





         




Il funzionamento è molto intuitivo, nella "modalità manuale" (primo screenshot) controllerete lo stato del relè manualmente agendo sullo switch, mentre nella "modalità automatica" (secondo e terzo screen) andrete ad inserire la temperatura che vorrete raggiungere nel campo "ins_t", se la temperatura impostata è più alta di quella attuale il relè si attiverà, quando la temperatura attuale raggiungerà quella impostata il rele si spegnerà.

Finito!
e ricordate che potete personalizzare il pannello come vorrete,
tutte le info necessarie su www.miupanel.com

Per qualsiasi info su questo progetto lasciate pure un commento qui sotto,
ciao!
Segui Daniele Alberti su Google+!

14 commenti:

  1. Ciao come hai fatto ad inserire il codice in maniera cosi corretta a con la grafica di arduino? Grazie

    RispondiElimina
  2. ciao, cosa intendi? per la grafica del pannello trovi un simulatore sul sito di miuPanel dal quale puoi fare tutte le prove che vuoi,
    spero intendessi questo, ciao!

    RispondiElimina
  3. Ciao, sono Angelo e non ci capisco più nulla.
    Vorrei alienare il cavo USB che ora collega il mio PC con Arduino Uno, con una connessione wifi.
    Ho acquistato il relativo modulo ed il suo adattatore di tensione, dato che i comandi ad Arduino vengono passati da basic col PC, è necessario l'uso di miupanel??? Grazie

    RispondiElimina
    Risposte
    1. Il cavo USB è necessario per programmare l'arduino UNO, l'uso di miuPanel è vincolato al modulo WiFi miuPanel

      Elimina
  4. Scusa ma il quesito è un altro ovvero : per far vedere Arduino al PC l'uso di miuPanel è vincolante o ci si riesce in altro modo.
    Grazie

    RispondiElimina
    Risposte
    1. Il collegamento tra Arduino e PC lo fai tramite USB. Il collegamento tra smartphone e Arduino lo fai con miuPanel

      Elimina
    2. Il collegamento tra Arduino e PC lo fai tramite USB. Il collegamento tra smartphone e Arduino lo fai con miuPanel

      Elimina
  5. Scusa ma non capisco, per impartire comandi ad Arduino Uno dal PC in modo wireless cosa devo praticamente fare?????

    RispondiElimina
  6. Ciao io uso un arduino mega 2560 rev3 quando uso i pin tx0 e rx0 funziona tutto bene ma quando cambio questi pin e uso tx2 e rx2 non funziona più nulla perchè?

    RispondiElimina
    Risposte
    1. Ciao Luca,
      hai modificato anche lo sketch per la seriale 2?
      se non sbaglio sulla mega per usare la seriale 2 devi sostituire tutti i "Serial" con "Serial2". Prova così, fammi sapere, ciao!

      Elimina
    2. Si adesso funziona. peró ho notato che nello schema di collegamento il pin tx del modulo va al pin rx di arduino e il pin rx del modulo va al pin tx di arduino, perchè di solito il pin tx va al tx e l'rx va all'rx perchè qua è il contrario?

      Elimina
    3. io di solito vedo il pin tx che entra nell'rx, perchè uno trasmette e l'altro riceve. Non saprei, magari in alcune schede sono state invertite le scritte per facilitare l'utente. Comunque in questo caso il collegamento corretto è TX con RX e viceversa. Ciao

      Elimina
  7. ciao,volevo sapere nella riga 84 cosa significa il (0,4);
    poi anche questa non riesco a capire :
    temperatura_impostata = Msg.substring(4, 6).toInt();

    RispondiElimina
    Risposte
    1. Ciao Alex,
      la funzione "substring" serve a dividere la stringa. in pratica scrivendo "Msg.substring(4,6).toInt();" sto andando a leggere solo i caratteri 4 e 5 di quella stringa, e poi li trasformo in un unico numero.

      ciao!

      Elimina

Lascia un commento qui sotto, ti risponderò il prima possibile!

Related Posts Plugin for WordPress, Blogger...