Temperature and humidity sensor DHT22 + Arduino + LCD display

In questo precendente articolo abbiamo visto come utilizzare il sensore DHT22 con Arduino e mandare i valori di umidità e temperatura sul Serial monitor. Ora vedremo invece come crivere i dati ricevuti dal sensore su un display LCD.INGREDIENTI: – 1x Arduino UNO – 1x Sensore DHT22 -1x Resistenza da 10 kΩ -1x Bredboard -1x Display LCD -1x Potenziometro da 10 kΩ -Cavetti vari


30 thoughts on “Temperature and humidity sensor DHT22 + Arduino + LCD display

    niklas
    on said:

    non ho capito da dove prendere il file DHT.h
    me lo potete dire?

    Gaetano Persico
    on said:

    Ho copiato e incollato tutto il file di questa pagina; credo che sia inclusa la scrittura di riferimento per la directory (spero di non sbagliare con i termini!) riferita al sensore, come il progetto precedente. Lo sketch nuovo mi dà queste scritture: ‘DHT’ does not name a type. Poi, la stringa: DHT dht(2, DHT22); //Imposta il modello … è evidenziata colorata gialla, e sotto la striscia nera dello sketch ci sono le seguenti frasi:
    sensoreTemperLCD.ino:2:17: error: DHT.h: No such file or directory
    sensoreTemperLCD:4: error: ‘DHT’ does not name a type
    sensoreTemperLCD.ino: In function ‘void setup()’:
    sensoreTemperLCD:10: error: ‘dht’ was not declared in this scope
    sensoreTemperLCD.ino: In function ‘void loop()’:
    sensoreTemperLCD:15: error: ‘dht’ was not declared in this scope.
    Dove ho sbagliato???

    Gaetano Persico
    on said:

    Ho dimenticato di dire che il circuito del sensore l’ho lasciato come era, non ho spostato nè tolto i fili. Ho solo aggiunto il potenziometro ed il display; quest’ultimo, ruotando il potenziometro cambia il contrasto, ma non si vede niente.

      Noobs
      on said:

      Ciao,
      è lo stesso problema che avevi con lo sketch che usa solo il sensore, cioè che non trova la libreria.
      lo sketch precedente funziona ancora?

        Gaetano Persico
        on said:

        Grazie per la risposta. Lo sketch precedente funziona benissimo. Non ho ancora capito come si inserisce la stringa di trasformazione da Farenight a Celsius, così come mi hai suggerito. Avevo rimandato il problema per dopo. Poi il fascino dell’impresa di vedere illuminarsi il display, mi sono lasciato andare al secondo progetto, Ma anche in quest’altro progetto, ho inserito la stringa #include “DHT.h” come seconda alla tua stringa iniziale di questa pagina e non funziona. Ma non è la stessa stringa già esistente? altrimenti dove la devo inserire? oppure mi sbaglio sul file da inserire? Ti ringrazio della pazienza. Ho pensato che se potessi allegare le immagini sarebbe più facile esporre gli errori. C’è questa possibilità comunicativa?

    Gaetano Persico
    on said:

    Questa volta ho copiato tutti dati in questa pagina, ho incollato il file di libreria #include così come vedi di seguito: //Creato da Mohamed Fadiga momodesine@hotmail.it
    #include “DHT.h”
    #include
    #include
    Mi dice “Caricamento Terminato”
    e sotto, nello spazio nero segue: Dimensione del file binario dello sketch: 5.992 bytes (su un massimo di 32.256 bytes)
    avrdude: stk500_getsync(): not in sync: resp=0x30
    Questa ultima scritta non appare se cambio la porta, ma il mio dispay non si illumina e non mi fa vedere nessun numero, tranne che, girando il potenziometro, emergono le due file di quadratini neri. Ho controllato più volta i collegamenti tra il display e arduino e stanno bene al loro posto; ho anche invertito i fili laterali del potenziometro. il contatto centrale del potenziometro l’ho messo al Vo del display (sarebbe il terzo, contanto da sinistra). Ricordo che in alcuni circuiti iniziali, con altri sensori, il display si illuminava tra il verde ed il giallo luminoso. Ora è scuro con rilievi di quadratini in nero se ruoto il potenziometro.

      Gaetano Persico
      on said:

      SCUSA! è FATTA! Ho ho chiuso tutto lo sketch, ho riaperto ed è comparsa la PORTA COM4, quella che utilizzavo anche con il solo sensore… e finalmente si è illuminato il dispay e segna la temp: 21.60 *C e Umid: 45.70 % MERAVIGLIOSO! Grazie della pazienza.

    Gaetano Persico
    on said:

    Ciao Noobs, è possibile fare apparire sul display la data e l’ora, oppure appartiene ad un altro progetto?

    Gaetano Persico
    on said:

    Grazie, a presto ti farò sapere.

      Gaetano Persico
      on said:

      Ciao Noobs, mi è arrivato il real time clock; ha 5 perni con le seguenti indicazioni: 1) VCC, 2) GND, 3) CLK, 4) DAT, 5) RST. Vorrei prendere l’iniziativa, ma riconosco solo le prime due sigle, il VCC dal display, che nel progetto del rilevatore temperatura, è collegato a +5v di arduino, ma sulla breadboard; e così il GND collegato da arduino alla breadboard. Gli altri tre perni si riferiscono all’orologio, ai dati ed al restart? dove li collego?

    pisolosempre
    on said:

    Ciao,
    ho scaricato, compilato, caricato e costruito il tutto. Il display si accende ma mi dice Temperatura 0°C e Umidità 0% !
    cosa significa? dove sto sbagliando??
    grazie per la risposta

    Hello I’m trying to build this project but the code that’s here will not run. could you e-mail me a code that will work? Thanks in advance Johnny.

    raspaol
    on said:

    mi da questo errore durante la verifica

    Arduino:1.6.5 (Windows 7), Scheda:”Arduino Uno”

    Opzioni di compilazione cambiate, ricompilo tutto

    Uso la libreria DHT nella cartella: C:\Program Files (x86)\Arduino\libraries\DHT (legacy)

    C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard -IC:\Program Files (x86)\Arduino\libraries\DHT C:\Users\Portat\AppData\Local\Temp\build2356700916758134134.tmp\sketch_aug23d.cpp -o C:\Users\Portat\AppData\Local\Temp\build2356700916758134134.tmp\sketch_aug23d.cpp.o

    sketch_aug23d.ino:3:10: error: #include expects “FILENAME” or
    sketch_aug23d.ino:6:1: error: ‘LiquidCrystal’ does not name a type
    sketch_aug23d.ino: In function ‘void setup()’:
    sketch_aug23d.ino:16:3: error: ‘lcd’ was not declared in this scope
    sketch_aug23d.ino: In function ‘void loop()’:
    sketch_aug23d.ino:36:3: error: ‘lcd’ was not declared in this scope
    #include expects “FILENAME” or

    Gabriele
    on said:

    Ciao!
    complimenti per i tutorial, chiaro e conciso! sono riuscito a fare quello con il sensore alla prima e senza problemi.
    Ora volevo aggiungere il display..potresti gentilmente linkarmi dove poter comprare il display e il potenziometro? magari su amazon, ebay o qualsiasi altro sito dove non costi troppo 🙂
    Grazie in anticipo!

      Ciao,
      per il display ti consiglierei di prenderne uno seriale oppure I2C, che usano solo 2/3 fili.
      Però se vuoi usare quello che ho usato io, perchè vuoi seguire questo tutorial, allora basta che scrivi su ebay “arduino lcd HD44780”.
      Per quanto riguarda il potenziometro, anche quello basta che lo scrivi su ebay, però in quel caso mi sa che costa talmente poco che la spedizione costerà più del potenziometro stesso 😀

    pierluigi
    on said:

    Ciao complimenti per il progetto. Ho messo nella cartella di Arduino la libreria per il sensore DHT. Poi copio e incollo lo sketch nella ide di arduino ma quando vado a fare la verifica mi viene fuori questo errore:
    Property line ” in file C:\Program Files (x86)\Arduino\libraries\DHT\library.properties is invalid

    Errore durante la compilazione

    Cosa c’è che non va? Ho provato anche a togliere il file library.property ma mi vengono fuori moltissimi errori.
    Mi potresti aiutare per favore?
    Grazie ancora per la tua pazienza.
    Ciao
    Pierluigi

    Gaetano Persico
    on said:

    Oh!… Grazie per la risposta. Mi era venuta l’idea di aprire una vecchia versione la 1.0.5 e finalmente è andato tutto bene. Grazie. Mi è rimasto sempre da inserire sul display anche data e ora. Comprai anche il circuito, ma nè sono riuscito ad inserire, nè ho avuto tempo di trovare qualcuno che avesse fatto il programma. Comunque, smanettando qua e là, ho visto che, a mio avviso, i programmi sono personalizzati. Se hai fatto anche l’inserimento dell’ora e data, mi farebbe piacere riportarlo sul mio arduino. Comunque, grazie della presenza.

    gaetanopersico@libero.it
    on said:

    Salve Noobs, è possibile collegare, a questo progetto, una ventola 12Volt presa da un pc? Ho trovato uno sketch, il seguente https://forum.arduino.cc/index.php?topic=391459.0, ma inserisce un relè perchè collegato a 220 volt, io vorrei collegarlo ad una batteria da 9volt.

Leave a Reply

Your email address will not be published.