Thermohygrometer med klocka och LCD-display på Arduino UNO (1 / 7 steg)
Steg 1: Gör ditt DHT22 arbete
Ladda ner och installera DHT22 biblioteket
Det första steget ladda ner och installera biblioteket behövs av DHT22 sensorer.
Ladda ner zip-filen bifogas i detta steg. I denna mapp finns två filer som måste stanna i undermappen \DHT. Om du är på Windows, installera biblioteket genom att sätta mappen \DHT i katalogen:
C:\Program filer (x86) \Arduino\libraries
Så de två filerna dht.cpp och dht.h måste finnas i en mapp med namnet DHT och inga andra undermappar måste göras. Klicka här för mer information om att lägga till nya bibliotek.
DHT22 anslutningar
Innan du överför koden till din Arduino, måste du ansluta DHT22 sensorn korrekt.
VCC---> 10 k ohms motstånd---> 5V
DATA---> 10 k ohms motstånd---> Pin 9
NC (inte ansluten)
GND---> GND
Anyway, se Fritzing systemet bifogas ovan för en bättre förståelse.
KOLLA ALLTID TVÅ GÅNGER DINA ANSLUTNINGAR INNAN DU SLÅR PÅ ARDUINO!
Tips: Om du vill snabbt kan identifiera funktionen av en tråd, använda en standard för färger. Röd och svart bör respektive associerade till Vcc och GND. Vi använder en vit Dupont kabel för DATA stift av DHT22.
Placera exakt komponenterna som vi gör, senare det brukar vara för mycket utrymme på din skärbräda!
Ladda upp koden
Nu, Hämta filen dht22.ino och sedan dubbelklicka på den. Arduino IDE uppmanas du att spara den nya skissen i en mapp vars namn kommer att vara densamma som används för filen .ino. Spara filen där du föredrar.
Ta en titt på vår kod. Vad är skillnaden mellan koden på Arduinos officiella hemsida (finns här) och vår? Först av allt, vi bort alla rader som inte är nödvändiga: 15 och 16...
#define DHT11_PIN 4
#define DHT21_PIN 5
.. .och rader från 55 till 105:
LÄSA DATA
Serial.Print (DHT21, \t");
CHK = DHT.read21(DHT21_PIN);
Switch (chk)
{
fall DHTLIB_OK:
Serial.Print("OK,\t");
bryta;
fall DHTLIB_ERROR_CHECKSUM:
Serial.Print (Checksum error, \t");
bryta;
fall DHTLIB_ERROR_TIMEOUT:
Serial.Print ("Time out fel, \t");
bryta;
standard:
Serial.Print ("okänt fel, \t");
bryta;
}
VISA DATA
Serial.Print (DHT.humidity, 1);
Serial.Print(",\t");
Serial.println (DHT.temperature, 1);
Delay(1000);
LÄSA DATA
Serial.Print (DHT11, \t");
CHK = DHT.read11(DHT11_PIN);
Switch (chk)
{
fall DHTLIB_OK:
Serial.Print("OK,\t");
bryta;
fall DHTLIB_ERROR_CHECKSUM:
Serial.Print (Checksum error, \t");
bryta;
fall DHTLIB_ERROR_TIMEOUT:
Serial.Print ("Time out fel, \t");
bryta;
standard:
Serial.Print ("okänt fel, \t");
bryta;
}
VISA DATA
Serial.Print(DHT.humidity,1);
Serial.Print(",\t");
Serial.println(DHT.temperature,1);
Delay(1000)
I själva verket behövs de bara om du har en annan sensor från DHT22.
Den andra skillnaden består av byte av DATA PIN-koden används. Vi satt 9 istället för 6, väljs som standard (eftersom 6 PIN-koden används av LCD-skärmen).
Ladda upp koden till din Arduino och öppna Systemövervakaren (förstoringsglas i verktygsfältet Arduino IDE). Systemövervakaren bör skriva dessa rader som en utgång (se även skärmbilden ovan):
DHT TESTPROGRAM
BIBLIOTEK VERSION: 0.1.14
Typ, status, luftfuktighet (%), temperatur (C)
DHT22, OK, 52,4, 25,9
Grattis, arbetar din DHT22!
Om du inte får denna utgång, kontrollera dina anslutningar och upprepa hela proceduren igen.