Med en Arduino, DHT22-sensor og LCD kan du lage en gadget for å måle og vise temperatur og relativ fuktighet.
Å lage din egen temperatur-/fuktighetsmålingsdings kan være en morsom og givende opplevelse. Ved å bruke en Arduino-mikrokontroller kan dette DIY-prosjektet brukes til å overvåke romtemperaturen og luftfuktigheten, spesielt i varme somre.
Dessuten kan det også hjelpe deg med å evaluere ytelsen til klimaanlegget ditt. For temperatur- og fuktighetsføling vil vi bruke en elektronisk sensor, som kobles til en mikrokontroller som skal hente data fra sensoren og presentere den på et display.
Hva du trenger
For dette DIY-prosjektet trenger vi følgende komponenter:
- Arduino Mega mikrokontroller
- Koble ledninger
- USB Type-A til USB Type-B-kabel
- DHT22 sensor
- LCD 16x2 skjerm
- Laptop eller datamaskin med Arduino programvare installert
- Breadboard (se vår guide til ved hjelp av et brødbrett)
- Motstander eller potensiometer
Trinn 1: Koble til Arduino Mega Microcontroller
Koble Arduino-kortet til din PC eller bærbare PC med USB-kabelen. Denne kabelen gir ikke bare strøm til Arduino-modulen og fungerer som dens strømforsyning, men lar også datamaskinen kommunisere med Arduino-kortet for kodeutførelse og kommandoer. Når den er koblet til datamaskinen via en USB-kabel, viser Arduino at den er i driftstilstand ved å slå på LED-lyset.
Fra menylinjen til Arduino IDE, gå til Verktøy fanen og velg Arduino Mega fra Borde alternativer. På samme måte velger du COM-porten under den samme Verktøy fanen.
Trinn 2: Klargjør sensoren og LCD-skjermen
Prosjektet bruker en DHT22 temperatur-/fuktighetssensor og en 16x2 LCD-skjerm, som du trenger de relevante Arduino IDE-bibliotekene for.
DHT22 sensor
DHT11 og DHT22 er elektroniske sensorer som måler temperatur og fuktighetsnivå i omgivelsene. De opererer etter lignende prinsipper, men varierer i spesifikasjonsområder. For dette DIY-prosjektet bruker vi en DHT 22-sensor (spesifikt den kablede AM2302-versjonen). DHT22 er et bedre alternativ når det gjelder stort område og nøyaktighet for både temperatur- og fuktighetsføling.
DHT22 / AM2302-modulen har tre pinner med følgende konfigurasjon:
Pin |
Navn |
Funksjon |
---|---|---|
1 |
Vcc |
+5V strøm |
2 |
Data |
Data for fuktighet og temperatur |
3 |
Gnd |
Felles grunn for signalveien |
Den enkleste måten å bruke DHT-sensorer med Arduino-mikrokontrollere på er å installere DHT.h bibliotek, som kan brukes til både DHT11- og DHT22-sensorer. Dette biblioteket er vanligvis forhåndsinstallert i Arduino IDE. Hvis den ikke er tilgjengelig, kan du installere den fra Biblioteksjef under Verktøy fanen.
LCD 16x2 skjerm
For å vise sensoravlesningene bruker vi en 16x2 LCD skjerm for Arduino. Denne skjermen har 16 maskinvarepinner og trenger et mikrokontrollergrensesnitt for å kontrollere funksjonaliteten. Tabellen nedenfor viser maskinvarepinnene til LCD-skjermen og deres funksjonalitet.
PIN-kode |
Navn |
Funksjon |
---|---|---|
1 |
Gnd |
Felles plattform |
2 |
Vdd |
+5VDC (strømforsyning til LCD) |
3 |
Vee |
Lysstyrkekontroll |
4 |
RS |
Registrer Velg |
5 |
R/W |
Les Skriv |
6 |
NO |
På av |
7 |
DB0 |
Databuss pin 0 |
8 |
DB1 |
Databuss pin 1 |
9 |
DB2 |
Databuss pin 2 |
10 |
DB3 |
Databuss pin 3 |
11 |
DB4 |
Databuss pin 4 |
12 |
DB5 |
Databuss pin 5 |
13 |
DB6 |
Databuss pin 6 |
14 |
DB7 |
Databuss pin 7 |
15 |
LED+ |
Bakgrunns-LED (+5V) |
16 |
LED- |
Bakgrunns-LED (Common Ground) |
16x2 LCD-skjermen kan vise enten ved å bruke fire databusser eller åtte databusser. Her bruker vi fire databusser fra mikrokontrolleren til LCD-skjermen. Bare fire datapinner (DB4 til DB7) på 16x2 LCD-en er koblet til Arduino, sammen med RS (Register Select) og EN (Aktiver) pinnene.
I 4-bits modus sendes data/kommandoer i et 4-bits nibble-format. Først sender den en høyere 4-bit og deretter en lavere 4-bit av dataene/kommandoen. På grunn av slike tilkoblinger kan vi lagre fire GPIO-pinner på vår Arduino som kan brukes til en annen applikasjon. Merk at hensikten med pinnene 15 og 16 (Bakgrunns-LED) er å lyse opp skjermen, kun for forbedret synlighet.
Du kan bruke LiquidCrystal.h Arduino-bibliotek for å kontrollere 16x2 LCD-skjermen. Dette biblioteket er vanligvis forhåndsinstallert. Hvis den ikke er tilgjengelig, kan du installere den fra Biblioteksjef under Verktøy fanen i Arduino IDE.
Trinn 3: Bygg kretsen for å koble til sensor og LCD
Følgende tilkoblingsskjema brukes for denne kretsen.
Arduino Mega Pin |
LCD / DHT22 Pin |
---|---|
2 |
D4 av LCD |
3 |
D5 av LCD |
4 |
D6 av LCD |
5 |
D7 av LCD |
8 |
RS av LCD |
9 |
EN av LCD |
52 (SCK) |
Data Out Pin på DHT22 |
Arduino Mega-kortet gir strømtilkoblinger til både LCD-skjermen og sensoren, siden de er moduler med lav effekt og enkelt kan administreres gjennom dette brettet. For LCD-lysstyrkekontroll bruker vi en motstandsspenningsdeler, plassert slik at rundt 0,1V til 0,5V gis til Pin 3 (VEE) på LCD-skjermen for optimal lysstyrke. Alternativt kan et potensiometer brukes i stedet for denne spenningsdeleren. Pinne 5 (R/W) på LCD-skjermen er satt til Jord for bare skrivefunksjon.
Trinn 4: Last opp koden din til Arduino
Nå er tiden inne for å laste opp koden til Arduino Mega-kortet for å utføre den nødvendige oppgaven, som inkluderer å hente sensordata fra DHT22 og vise dem på LCD-skjermen.
Koden for dette prosjektet er tilgjengelig fra denne GitHub repo.
Koden er utformet i henhold til ledningsforbindelsene til kretsen vist i trinn 3. Nå kan du teste den for ytelsesevaluering.
Testing av modulen
For å sikre at sensoren fungerer som den skal og registrerer temperatur og fuktighet, holder vi sensoren noen få centimeter over en kopp varmt vann (avgir varme damper). Ikke dypp DHT 22-sensoren i vann, da det kan føre til kortslutning og forårsake permanent skade på sensoren! Etter noen sekunder kan det observeres en økning i temperatur og fuktighetsprosent, noe som viser at modulen fungerer fint.
Du har bygget ditt eget termometer og fuktighetsmåler
Nå som du har bygget ditt eget termometer og fuktighetsmåler, kan du utvide denne ideen ytterligere ved å inkludere fjernkontroll overvåking av temperatur og fuktighet ved å overføre denne informasjonen til en annen enhet ved hjelp av Wi-Fi eller Bluetooth adapter. Du kan også bruke sensordataene fra denne modulen for å aktivere romklimaanlegget eller eksosanlegget slå automatisk på og av i henhold til ønskede innstillinger, for å opprettholde temperatur/fuktighet inne i rommet ditt eller arbeidsplass.