Arduino: Termometro / igrometro digitale con display

sketch e schemi elettrici per assemblare il vostro termometro/igrometro digitale, con visualizzazione istantanea su display.
Guarda il video:

Qui lo schema di collegamento da realizzare:



Qui lo schema elettrico:

ed ecco lo sketch:

  1. #include <LiquidCrystal.h>
  2. #include "DHT.h"
  3. #define DHTPIN 8
  4. // 8 è il pin di Arduino a cui collego il sensore di temperatura
  5. #define DHTTYPE DHT11
  6. // dht11 è il tipo di sensore che uso
  7. DHT dht(DHTPIN, DHTTYPE);
  8. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  9. // connessione display (pin)
  10.  
  11. void setup() {
  12. lcd.begin(16, 2);
  13. // imposto il tipo di display (colonne, righe)
  14. lcd.print("Temperatura");
  15. lcd.setCursor(0,1);
  16. lcd.print("Umidita'");
  17. }
  18. void loop() {
  19. int t = dht.readTemperature();
  20. int h = dht.readHumidity();
  21. // posiziono il cursore alla colonna 12 e riga 0
  22. lcd.setCursor(14, 0);
  23. lcd.print(t);
  24. lcd.setCursor(14, 1);
  25. lcd.print(h);
  26. }

per poter compilare lo sketch è necessario scaricare la libreria dht.h.
dopo averla scricata dovete estrarla e metterla nella cartella "libraries" di Arduino. Ciao!


Segui Daniele Alberti su Google+

19 commenti:

  1. ciao Daniele,secondo te è possibile impostare una temperatura e una umidità ed avere due uscite relè per poter pilotare due carichi al variare delle condizioni?
    ciao e grazie,Giorgio

    RispondiElimina
    Risposte
    1. Si, per pilotare il relè puoi guardare il post che ho pubblicato, mentre per farlo intervenire al variare della temperatura bisogna mettere un
      if ( t > 30 ) digitalWrite (RELETEMPERATURA, HIGH);
      dove 30 è la temperatura a cui scatta il relè.
      Ciao, se hai bisogno di chiarimenti chiedi pure!

      Elimina
    2. Grazie mille Daniele, per poterla cambiare da scheda,si può?
      nel senso, impostare una temperatura senza ogni volta usare un pc.
      ed è possibile anche per l'umidità?
      grazie ancora,Giorgio.

      Elimina
    3. La tua domanda è molto interessante,
      credo si possa fare anche se non ci ho mai provato.
      Appena ho un po' di tempo mi metto lì e vediamo cosa esce fuori.
      Ciao!

      Elimina
    4. Grazie mille Daniele !!
      praticamente voglio migliorare la mia cella di lietazione,attualmente ho un termostato ambiente classico collegato a due lampadine per scaldare,ma mi piacerebbe un cntrollo più accurato e sopratutto riuscire a controllare anche un'umidificatore !!
      grazie ancora !!

      Elimina
    5. lievitazione,pardon...

      Elimina
    6. ciao, guarda questo video, ho fatto qualche modifica al progetto.
      http://youtu.be/ERseQel9SCw
      Prossimamente pubblicherò un post con gli schemi e la descrizione, Ciao!

      Elimina
    7. ecco il post con l'aggiunta dei set point e dei relè. Al superamento della soglia impostata scatterà il relè della temperatura o quello dell'umidità!
      http://danielealberti.blogspot.it/2013/11/arduino-termostato-igrostato-regolabile.html

      Elimina
  2. Ciao Daniele, io non riesco a farlo compilare ho eseguito la procedura ma mi dice
    Progetto_lettore_ultrasuoni_sensore_temp.cpp.o: In function `__static_initialization_and_destruction_0':
    C:\Documents and Settings\Giangy_Home\Desktop\PROGETTAZIONE\Arduino & Components\arduino-1.5.1r2/Progetto_lettore_ultrasuoni_sensore_temp.ino:7: undefined reference to `DHT::DHT(unsigned char, unsigned char, unsigned char)'
    Progetto_lettore_ultrasuoni_sensore_temp.cpp.o: In function `loop':
    C:\Documents and Settings\Giangy_Home\Desktop\PROGETTAZIONE\Arduino & Components\arduino-1.5.1r2/Progetto_lettore_ultrasuoni_sensore_temp.ino:19: undefined reference to `DHT::readTemperature(bool)'
    C:\Documents and Settings\Giangy_Home\Desktop\PROGETTAZIONE\Arduino & Components\arduino-1.5.1r2/Progetto_lettore_ultrasuoni_sensore_temp.ino:20: undefined reference to `DHT::readHumidity()'

    RispondiElimina
    Risposte
    1. Ciao, assicurati di aver messo la libreria nella cartella giusta, di cartelle "libraries" ce ne sono due, quella in cui mettere le librerie è quella interna alla cartella Arduino1.0.5

      Elimina
  3. ciao, potrei sostituire il display lcd con un 7 segmenti ?

    RispondiElimina
    Risposte
    1. Ciao, il problema del display a 7 segmenti è che necessita di molte porte per essere collegato, e per leggere la temperatura te ne servono 2. comunque in questo blog c'è un post relativo al 7 segmenti, prova a darci un'occhiata!

      Elimina
  4. Risposte
    1. Ciao, è un trimmer da 10 kOhm, deve a regolare il contrasto del display. In alternativa puoi collegare una resistenza da 2.2 kOhm tra lo stesso pin del display e gnd.

      Elimina
  5. Daniele mi potresti dire come è possibile farlo senza potenziometro??

    RispondiElimina
    Risposte
    1. ciao, devi mettere uma resistenza da 2.2kohm tra il pin 2 del display e gnd.

      Elimina
  6. Ciao, Prima di tutto Ottimo lavoro, secondo , mi da valore 0 sia temperatura che umidita, cosa sbaglio?!

    RispondiElimina
  7. Ciao.premetto che sono alle prime armi.volevo farlo funzionare con display i2c con 4 pin.ho installato la libreria ma non riesco a vedere nulla.puoi aiutarmi?grazie.

    RispondiElimina

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

Altri Post