Innholdsfortegnelse:

Arduino DHT22 sensor- og jordfuktighetsprosjekt med meny: 4 trinn
Arduino DHT22 sensor- og jordfuktighetsprosjekt med meny: 4 trinn

Video: Arduino DHT22 sensor- og jordfuktighetsprosjekt med meny: 4 trinn

Video: Arduino DHT22 sensor- og jordfuktighetsprosjekt med meny: 4 trinn
Video: DHT11 and DHT22 Sensor Using with Arduino 2024, Juli
Anonim
Arduino DHT22 sensor og jordfuktighetsprosjekt med meny
Arduino DHT22 sensor og jordfuktighetsprosjekt med meny

Hei folkens I dag presenterer jeg mitt andre prosjekt om instruktører. Dette prosjektet presenterer blandingen av mitt første prosjekt der jeg brukte Soil Moisture sensor og DHT22 sensor som brukes til å måle temperatur og fuktighet. Dette prosjektet er enkelt å lage, og folk som bruker Arduino vil føle det stille interessant å lage. Forskjellen mellom dette prosjektet og det første er at brukeren i dette prosjektet vil ha en meny der han kan velge hva han vil se for øyeblikket. Det vil være fire alternativer. Så ta deg pakken og begynn å lage dette prosjektet som kan brukes i ethvert hjem.

Trinn 1: Innhenting av alle deler

Innhenting av alle deler
Innhenting av alle deler
Innhenting av alle deler
Innhenting av alle deler
Innhenting av alle deler
Innhenting av alle deler

Dette prosjektet bruker få deler. Disse delene er veldig billige å få, så ikke bekymre deg for prisen. Noen av delene som brukes i dette prosjektet kan endres, slik at prosjektet kan være billigere å lage. Det er på deg hvilke deler av anbefalt du skal bruke og gjøre dette prosjektet enda bedre. Deler som brukes i dette prosjektet:

  1. Arduino uno rev3 (Du kan også bruke andre Arduino)
  2. Brødbrett
  3. LCD 1602 grønn skjerm med I2C (du kan også bruke skjerm uten I2C, men du trenger flere pinner for å koble den til)
  4. 16 -knappers tastatur (kan endres)
  5. FC-28-d Jordhygrometer-deteksjonsmodul + jordfuktighetssensor
  6. DHT22 temperatur- og fuktighetssensor (Du kan bruke DHT11 som er billigere å få)
  7. Rød LED -diode
  8. Blå LED -diode
  9. 2 motstander 220 ohm (brukes til dioder)
  10. 4k7 motstand brukt for DHT22 på skjematisk
  11. Arduino batterikontakt
  12. Noen hoppekabler for å koble alle delene

En ting jeg må fortelle deg før du begynner å bygge dette prosjektet er at tastaturet ikke er nødvendig. Jeg brukte tastaturet denne gangen fordi den roterende omkoderen min var ødelagt. Jeg tror at dette prosjektet ville være perfekt hvis det har en roterende encoder fordi det ville bruke mindre pins, eller det kan bruke 3 knapper.

Trinn 2: Koble alle deler sammen

Koble alle deler sammen
Koble alle deler sammen

I dette trinnet kan du se skjematikken jeg laget med fritzing. Jeg vil skrive ned varmt for å koble til alle viktige deler av dette prosjektet.

Som du kan se bruker vi 5V og GND fra arduino til å drive brødbrettet.

LCD:

  • VCC til 5v (+ del på brødbrett)
  • GND til gnd (- del på brødbrett)
  • SDA til analog pin A4
  • SCL til analog pin A5

Tastatur med 16 knapper:

Vi bruker pinnene 9, 8, 7, 6, 5, 4, 3, 2 for å koble tastaturet (dette er grunnen til at jeg ville bruke roterende encoder, fordi det bare ville ta 3 pinner på brettet)

Jordfuktighetssensor:

  • VCC til 5v (+ del på brødbrett)
  • GND til gnd (-del på brødbrett)
  • D0 til digital pin 0
  • A0 til analog pin A0

DHT22:

  • VCC til 5v (+ del på brødbrett)
  • GND til gnd (-del på brødbrett)
  • Utpinnen er koblet til pinne 12

Diode som kobler til:

  • en del av dioden går inn - en del av brødbrettet
  • andre del går gjennom motstand på 220 ohm, og deretter kobles til pin 10 (blå diode) eller 11 (rød diode)

Trinn 3: Skrive kode

Jeg skal prøve å forklare koden i noen få deler. Det vil også bli skrevet full kode, slik at du kan kopiere den og også endre den hvis du ser behov. Også i denne koden er det skrevet få metoder for sensorarbeid, men denne gangen var hovedfokuset på å lage meny som vil være lett å forstå for folk som er nye med Arduino. Denne gangen bruker jeg ingen avbrudd, men i mine neste prosjekter vil jeg gjøre det, så husk at denne koden kan bli mye bedre med avbrudd.

  1. Den første delen av koden inkluderer alle de brukte bibliotekene for dette prosjektet. Husk at for alle delene som jeg fortalte at jeg bruker trenger du neste bibliotek: Wire, LiquidCrystal_I2C, Tastatur og DHT. Alle bibliotekene finnes på Arduino IDE hvis du går til skissedelen og deretter inkluderer biblioteker. Husk også at hvis du bruker noe som roterende encoder, må du sannsynligvis skaffe deg nye biblioteker i stedet for tastatur, som sannsynligvis ville være rotary.h og button. Hvis du bruker DHT11 -sensor, er biblioteket fortsatt DHT.
  2. I andre del av koden vil det være definisjon av alle brukte deler. Først av alt er LCD. Etter det er det en DHT -sensor som representerer et objekt med en dht -type sensor, og en pin som er tilkoblet. Jordfuktighetssensor og dioder er den tredje.
  3. Jeg vil beskrive tastaturet litt mer. Som jeg sa, min roterende encoder var ødelagt, så jeg bestemte meg for å bruke den. For dette prosjektet er det nok å bare ha fire knapper, til og med tre er bra for det. Så jeg bruker fire knapper på tastaturet for bare ett alternativ. Du kan bruke noen av knappene hvis du vil ha noe annet hvis du har en idé. Du må definere rader og kolonner i denne delen. Etter det vil hexaKeys representere deg alternativer som brukes for dette prosjektet. I prosjektet mitt er det B (tilbake), U (opp), D (ned) og A (godta). Du kan gjøre hver knapp for å gjøre noe annet. En knapp kan slå på bakgrunnsbelysningen, en kan slå den av. Så spill gjerne med det litt mer
  4. I denne delen er globale variabler som brukes i kode. Fulle variabler bruker for å endre skjerm. Velkomstvariabelen gjelder bare i noen sekunder når arduinoen jeg slo på, etter det vil den være usann resten av tiden. Hovedfokuset er på mainScreen -variabelen. Denne variabelen brukes til å veilede deg fra menyen til et annet alternativ i koden. Hvis denne variabelen er usann, betyr det at brukeren bestemte seg for å bruke ett av fire alternativer for dette prosjektet.
  5. Her er det skrevet alle metodene som brukes i denne koden. Jeg vil prøve å forklare alle skrevne metoder i denne delen
  • void startScreen (); // metode for å starte prosjekt og arduino
  • int choiceNumber (int choice); // dette endrer ditt valg av alternativer for prosjektet. Tallet går fra 1 til 4
  • void mainScreenP (int valg); // Det vil bli skrevet fire alternativer for enheten som er laget
  • bool mainScreenCS (bool mainScreen); // dette endrer mainScreen til false
  • bool mainScreenBack (bool mainScreen); // dette endrer mainScreen til true
  • ugyldig tempCelsius (); // lesetemperatur i alternativet C DHT -sensor
  • ugyldig tempFarenheit (); // lesetemperatur i alternativet F DHT -sensor
  • void printHumidity (); // lesing av fuktighets -DHT -sensor
  • void readSensorData (); // lese data på tilkoblede sensorer
  • String getTemperatureC ();
  • String getTemperatureF ();
  • String getHumidity ();
  • void soilMoisture (); // dette er for en annen sensor og dioder
  • void printSensorSoilMoisture (); // skrive ut jordfuktighetsdel på lcd
  • void diodeLights (int verdi); // slå av og på dioder
  • void printValue (int -verdi);

6. Oppsett for arduino er en del der du setter opp LCD- og DHT -sensor og også dioder

7. Hoveddelen er delen der alle de ovennevnte skriftlige metodene brukes.

Fullstendig kode for dette prosjektet vil være vedlagt dette trinnet. Husk at det er en mulighet for at pinnene kanskje ikke er koblet som på skjematikken, jeg tror at dioder er endret.

Trinn 4: Bruke Arduino

Bruke din Arduino
Bruke din Arduino
Bruke din Arduino
Bruke din Arduino
Bruke Arduino
Bruke Arduino
Bruke din Arduino
Bruke din Arduino

Dette er sannsynligvis den morsomste delen. Det er i hvert fall morsommere etter all koding skrevet. I denne delen kan du se bilder av hvordan prosjektet fungerer. Det er 4 alternativer.

  1. Lesetemperatur i Celsius
  2. Lesetemperatur i Fahrenheit
  3. Leser fuktighet
  4. Slå på dioder og leseverdier for jordfuktighetssensor.

Du kan velge alle mulige alternativer, du kan også gå tilbake og velge igjen hvis du vil se noe annet. Enkel og enkel å bruke.

Hvis det er andre spørsmål du kan stille meg. Takk for at du så på prosjektet mitt. Med alle hilsener. Sebastian

Anbefalt: