I dette prosjektet vil vi bruke Arduino Nano og DHT11 -sensoren for å lage et temperatur- og fuktighetsovervåkingssystem. Arduino nano vil lese temperatur- og fuktighetsverdier fra DHT11 og vise på OLED.
Denne opplæringen dekker etter innhold:
1: Introduksjon til DHT11 -sensor
2: DHT11 Sensor Pinout
2.1: 3 -pin DHT11 -sensor
2.2: 4 Pin DHT11 -sensor
3: OLED -skjermmodul med Arduino Nano
4: Installere de nødvendige bibliotekene
4.1: Arduino -bibliotek for DHT -sensor
4.2: Arduino -bibliotek for OLED -skjerm
5: Sjekk OLED Display I2C -adresse i Arduino Nano
6: Grensesnitt Arduino Nano med DHT11 -sensor og OLED
6.1: Skjematisk
6.2: Kode
6.3: Output
1: Introduksjon til DHT11 -sensor
DHT11-sensoren er en kompakt og rimelig enhet for måling av temperatur og fuktighet. Arduino Nano med DHT11 brukes til å designe bærbare værstasjoner, HVAC -systemer og hjemmeautomatiseringssystemer.
DHT11 -sensoren består av et luftfuktighetssenseringselement og et temperatursenseringselement, som er kombinert på en enkelt integrert krets. Sensoren er i stand til å måle både relativ fuktighet og temperatur, og den kan overføre disse dataene via et digitalt signal til en mikrokontroller eller annen enhet.
DHT11 -sensoren kan integreres og kontrolleres ved hjelp av Arduino -koden. Den kan kobles til en mikrokontroller eller datamaskin med en bord ved hjelp av jumperledninger og en brødplate, og den kan enkelt integreres i en rekke prosjekter.
Noe hovedspesifikasjon av DHT11:
Nå dekket vi det grunnleggende i DHT11 -sensoren. Nå vil vi diskutere DHT11 -pinout.
2: DHT11 Sensor Pinout
DHT11 har to varianter, en med 4 pinner og andre med 3 pinner. Eneste forskjell her er at 4 -pinners DHT11 -sensoren har en ekstra pin uten tilkobling. Denne pinnen er merket som NC og ikke brukt til noe formål.
De 3 pinnene til DHT11 er:
2.1: 3 -pin DHT11 -sensor
Følgende pinout er av 3 pinner DHT11:
1 | Data | Utgangstemperaturavlesninger og fuktighetsverdier |
2 | VCC | Inngangsspenning mellom 3.5v til 5.5v |
3 | GND | GND |
2.2: 4 Pin DHT11 -sensor
Nedenfor er 4 -pinners DHT11 sensorpinout:
Disse 4 pinnene med DHT11 -sensoren inkluderer:
1 | VCC | Inngang 3.5v til 5.5v |
2 | Data | Utgangstemperatur og luftfuktighetsavlesninger |
3 | NC | Ingen tilkoblingspinne |
4 | GND | GND |
3: OLED -skjermmodul med Arduino Nano
OLED -skjermen kommer hovedsakelig med to forskjellige kommunikasjonsprotokoller. Disse to er I2C og SPI. SPI -protokollen er raskere sammenlignet med I2C, men I2C er foretrukket og har fordelen fremfor SPI på grunn av mindre pinner som kreves.
Følgende bilde illustrerer et Arduino nano -tilkoblingsdiagram med 128 × 64 piksler (0.96 ") OLED -skjerm.
Under tabell viser pinout -konfigurasjon av OLED med nano:
Som vi har grensesnittet Arduino Nano med en OLED -skjerm. For å vise data på en OLED -skjerm må vi først installere noen nødvendige biblioteker.
4: Installere de nødvendige bibliotekene
Vi grenser til to sensorer; Den ene er en OLED -skjerm, og den andre er en DHT11 -sensor. Begge sensorene krevde separate biblioteker for å fungere. Nå installerer vi separate biblioteker for DHT11 og OLED -skjermer.
4.1: Arduino -bibliotek for DHT -sensor
Åpen ide, gå til: Skisse> Inkluder bibliotek> Administrer biblioteker:
Man kan også bruke Arduino Library Manager for å installere biblioteker. Søk i DHT11 sensorbibliotek og installer den oppdaterte versjonen. Dette biblioteket vil lese data fra DHT11 -sensoren.
Nå installerer vi Unified Sensor Library.
DHT11 sensorbiblioteker er installert. Deretter må OLED -bibliotekene installeres.
4.2: Arduino -bibliotek for OLED -skjerm
Det er en rekke biblioteker tilgjengelig for OLED -skjerm i IDE. Vi vil bruke Adafruit GFX og SSD1306 -biblioteket for OLED -skjerm.
Åpne IDE og søk på SSD1306 -biblioteket i biblioteksjefen:
Etter å ha installert SSD1306 -biblioteket, installerer du GFX Bibliotek av Adafruit:
Vi har installert biblioteker for begge sensorer, og nå kan vi laste opp kode i Arduino Nano. Men før det er det nødvendig å sjekke OLED I2C -adressen.
5: Sjekk OLED Display I2C -adresse i Arduino Nano
I2C gjør at flere enheter kan kobles sammen og kommunisere med hverandre over et to-trådsgrensesnitt. Hver I2C -enhet må ha en unik adresse, fra 0 til 127, for å sikre at den kan identifiseres og kommuniseres med I2C -linjen. Flere enheter med samme adresse kan ikke kobles til på samme I2C -buss.
Koble OLED -skjermen med Arduino Nano og etter valg av brett og port i Arduino IDE, laste opp koden gitt i artikkel Scan I2C -enheter i Arduino. Etter å ha lastet opp kode, vil vi få I2C -adressen til OLED -skjermen som i vårt tilfelle er 0x3c:
Vi vil definere denne I2C -adressen i Arduino -koden.
6: Grensesnitt Arduino Nano med DHT11 -sensor og OLED
For grensesnitt Arduino nano med DHT11 vil en digital tapp av Nano -brett bli brukt til datavesting. Å drive DHT11 5v Nano Board Pin vil være grensesnitt.
For OLED -skjerm I2C -pinner SDA og SCL på A4 og A5 Pins av Arduino Nano vil bli brukt. For å drive en OLED 5V -pinne av Arduino nano vil bli brukt.
6.1: Skjematisk
Nedenfor er det skjematiske diagrammet til Arduino nano med DHT11 -sensor og for å vise leseverdier en OLED -skjerm brukes. Dette skjematiske bildet er av 3 -pinners DHT11 -sensor. 10KΩ Pull Up Resistor er integrert ved DHT11 -utgangen.
Tilsvarende er en 4 -pinners DHT11 -sensor koblet til et Nano -brett. OLED -skjermen er koblet til A4 og A5 GPIO -pinner av Nano ved hjelp av I2C -kommunikasjonen. DHT11 PIN 2 er datautgang. 4 -pinners DHT11 har en pin ekstra som ikke er til nytte.
6.2: Kode
Koble Arduino Nano og last opp den gitte koden:
#include /*Wire Communication Library* /Ved starten av koden inkluderte vi OLED- og DHT -sensorbibliotekene. Neste OLED -skjermstørrelse er definert i piksler. Etter den er DHT -sensortypen initialisert. Hvis du bruker noen annen type DHT11, må du være sensornavnet deretter inne i koden.
Neste i kode initialiserte vi DHT og OLED -sensor. OLED er koblet til 0x3c I2C -adresse. I2C -adresse kan sjekkes ved hjelp av koden i denne artikkelen.
De to flytevariablene t og h vil lagre henholdsvis temperatur- og fuktighetsverdiene. Lasty in Code alle verdiene vises på en OLED -skjerm ved hjelp av OLED GFX -bibliotekfunksjonene.
6.3: Output
Utgangen viser sanntidstemperatur og fuktighetsverdier som vises på OLED -skjermen:
Vi har fullført grensesnitt til OLED- og DHT11 -sensoren med Arduino Nano -brettet.
Konklusjon
Arduino Nano kan integreres med flere sensorer. Denne artikkelen dekker OLED- og DHT11 -sensorgrensesnitt med Arduino Nano. Ved hjelp av DHT11 målte vi temperatur og fuktighet som vises på OLED. Ved å bruke den gitte koden kan noen av Arduino Nano programmeres for å vise sensoravlesninger på en OLED -skjerm.