Med en Arduino, DHT22 sensor og LCD kan du oprette en gadget til at måle og vise temperatur og relativ luftfugtighed.
Det kan være en sjov og givende oplevelse at lave din egen temperatur-/fugtighedsmålingsgadget. Ved hjælp af en Arduino-mikrocontroller kan dette gør-det-selv-projekt bruges til at overvåge din rumtemperatur og luftfugtighed, især i varme somre.
Desuden kan det også hjælpe dig med at evaluere dit klimaanlægs ydeevne. Til temperatur- og fugtføling vil vi bruge en elektronisk sensor, som bliver forbundet til en mikrocontroller, der henter data fra sensoren og præsenterer dem på et display.
Hvad du skal bruge
Til dette DIY-projekt skal vi bruge følgende komponenter:
- Arduino Mega mikrocontroller
- Tilslutningsledninger
- USB Type-A til USB Type-B kabel
- DHT22 sensor
- LCD 16x2 display
- Laptop eller computer med Arduino software installeret
- Breadboard (se vores guide til ved hjælp af et brødbræt)
- Modstande eller potentiometer
Trin 1: Tilslut Arduino Mega Microcontroller
Tilslut Arduino-kortet til din pc eller bærbare computer ved hjælp af USB-kablet. Dette kabel giver ikke kun strøm til Arduino-modulet og fungerer som dets strømforsyning, men lader også computeren kommunikere med Arduino-kortet til kodeudførelse og kommandoer. Når Arduino er tilsluttet via et USB-kabel til computeren, viser den, at den er i driftstilstand ved at tænde for dens LED-lys.
Fra menulinjen i Arduino IDE, gå til Værktøjer fanen og vælg Arduino Mega fra Bestyrelse muligheder. På samme måde skal du vælge COM-porten under samme Værktøjer fanen.
Trin 2: Klargør sensoren og LCD-skærmen
Projektet gør brug af en DHT22 temperatur/fugtighedssensor og en 16x2 LCD-skærm, hvortil du skal bruge de relevante Arduino IDE-biblioteker.
DHT22 sensor
DHT11 og DHT22 er elektroniske sensorer, der måler temperatur- og fugtighedsniveauet i omgivelserne. De fungerer efter lignende principper, men adskiller sig i deres specifikationsområder. Til dette gør-det-selv-projekt bruger vi en DHT 22-sensor (specifikt den kablede AM2302-version). DHT22 er en bedre mulighed med hensyn til bred rækkevidde og nøjagtighed til både temperatur- og fugtfølelse.
DHT22 / AM2302-modulet har tre ben med følgende konfiguration:
Pin |
Navn |
Fungere |
---|---|---|
1 |
Vcc |
+5V strøm |
2 |
Data |
Data for luftfugtighed og temperatur |
3 |
Gnd |
Fælles grundlag for signalvejen |
Den nemmeste måde at bruge DHT-sensorer med Arduino-mikrocontrollere er at installere DHT.h bibliotek, som kan bruges til både DHT11 og DHT22 sensorer. Dette bibliotek er normalt forudinstalleret i Arduino IDE. Hvis den ikke er tilgængelig, kan du installere den fra Biblioteksleder under Værktøjer fanen.
LCD 16x2 skærm
For at vise sensoraflæsningerne bruger vi en 16x2 LCD display til Arduino. Denne skærm har 16 hardwareben og har brug for en mikrocontroller-grænseflade for at styre dens funktionalitet. Følgende tabel viser hardwarebenene på LCD'et og deres funktionalitet.
Pinkode |
Navn |
Fungere |
---|---|---|
1 |
Gnd |
Common Ground |
2 |
Vdd |
+5VDC (Strømforsyning af LCD) |
3 |
Vee |
Lysstyrkekontrol |
4 |
RS |
Registrer Vælg |
5 |
R/W |
Læse skrive |
6 |
DA |
Aktivere deaktivere |
7 |
DB0 |
Databus pin 0 |
8 |
DB1 |
Databus pin 1 |
9 |
DB2 |
Databus pin 2 |
10 |
DB3 |
Databus pin 3 |
11 |
DB4 |
Databus pin 4 |
12 |
DB5 |
Databus pin 5 |
13 |
DB6 |
Databus pin 6 |
14 |
DB7 |
Databus pin 7 |
15 |
LED+ |
Baggrunds-LED (+5V) |
16 |
LED- |
Baggrunds-LED (Common Ground) |
16x2 LCD kan vise enten ved hjælp af fire databusser eller otte databusser. Her bruger vi fire databusser fra mikrocontroller til LCD. Kun fire data (DB4 til DB7) ben på 16x2 LCD er forbundet til Arduino, sammen med RS (Register Select) og EN (Enable) ben.
I 4-bit-tilstand sendes data/kommandoer i et 4-bit nibble-format. Først sender den en højere 4-bit og derefter en lavere 4-bit af data/kommando. På grund af sådanne forbindelser kan vi gemme fire GPIO-ben på vores Arduino, som kan bruges til en anden applikation. Bemærk, at formålet med pins 15 og 16 (Baggrunds-LED) er at oplyse skærmen, kun for forbedret synlighed.
Du kan bruge LiquidCrystal.h Arduino-bibliotek til at styre 16x2 LCD. Dette bibliotek er normalt forudinstalleret. Hvis den ikke er tilgængelig, kan du installere den fra Biblioteksleder under Værktøjer fanen i Arduino IDE.
Trin 3: Byg kredsløbet for at forbinde sensor og LCD
Følgende tilslutningsskema bruges til dette kredsløb.
Arduino Mega Pin |
LCD / DHT22 Pin |
---|---|
2 |
D4 af LCD |
3 |
D5 af LCD |
4 |
D6 af LCD |
5 |
D7 af LCD |
8 |
RS af LCD |
9 |
EN af LCD |
52 (SCK) |
Data Out Pin af DHT22 |
Arduino Mega-kortet giver strømforbindelser til både LCD-skærmen og sensoren, da de er low-power moduler og nemt kan styres gennem dette board. Til kontrol af LCD-lysstyrke bruger vi en modstandsspændingsdeler, der er placeret sådan, at der leveres omkring 0,1V til 0,5V til Pin 3 (VEE) på LCD'et for optimal lysstyrke. Alternativt kan et potentiometer bruges i stedet for denne spændingsdeler. Pin 5 (R/W) på LCD'et er indstillet til Jord for skrive-kun funktion.
Trin 4: Upload din kode til Arduino
Nu er det tid til at uploade din kode til Arduino Mega-kortet for at udføre den påkrævede opgave, som inkluderer at hente sensordata fra DHT22 og vise dem på LCD-skærmen.
Koden til dette projekt er tilgængelig herfra GitHub repo.
Koden er designet i henhold til ledningsforbindelserne til kredsløbet vist i trin 3. Nu kan du teste det til præstationsevaluering.
Test af modulet
For at sikre, at sensoren fungerer korrekt og registrerer temperatur og fugtighed, holder vi sensoren et par centimeter over en kop varmt vand (udsender varme dampe). Dyp ikke DHT 22-sensoren i vand, da det kan resultere i en kortslutning og forårsage permanent skade på sensoren! Efter et par sekunder kan der observeres en stigning i temperatur og luftfugtighedsprocent, hvilket viser, at modulet fungerer fint.
Du har bygget dit eget termometer og fugtmåler
Nu hvor du har bygget dit eget termometer og luftfugtighedsmåler, kan du udvide denne idé yderligere ved at inkorporere fjernbetjening overvågning af temperatur og fugtighed ved at overføre disse oplysninger til en anden enhed ved hjælp af en Wi-Fi eller Bluetooth adapter. Du kan også bruge sensordataene fra dette modul til at aktivere dit rumklimaanlæg eller udstødningssystem tænder og slukker automatisk i henhold til de ønskede indstillinger for at opretholde temperatur/fugtighed i dit rum eller arbejdsplads.