Indholdsfortegnelse:

Arduino DHT22 sensor- og jordfugtprojekt med menu: 4 trin
Arduino DHT22 sensor- og jordfugtprojekt med menu: 4 trin

Video: Arduino DHT22 sensor- og jordfugtprojekt med menu: 4 trin

Video: Arduino DHT22 sensor- og jordfugtprojekt med menu: 4 trin
Video: DHT11 and DHT22 Sensor Using with Arduino 2024, Juli
Anonim
Arduino DHT22 sensor- og jordfugtprojekt med menu
Arduino DHT22 sensor- og jordfugtprojekt med menu

Hej fyre I dag præsenterer jeg jer mit andet projekt om instruktører. Dette projekt præsenterer blandingen af mit første projekt, hvor jeg brugte Soil Moisture sensor og DHT22 sensor, som bruges til måling af temperatur og luftfugtighed. Dette projekt er let at lave, og folk, der bruger Arduino, vil føle det roligt interessant at lave. Forskellen mellem dette projekt og det første er, at i dette projekt vil brugeren have en menu, hvor han kan vælge, hvad han vil se i øjeblikket. Der vil være fire muligheder. Så tag fat i dit kit og begynd at lave dette projekt, som kan bruges i ethvert hjem.

Trin 1: Indhentning af alle dele

Indhentning af alle dele
Indhentning af alle dele
Indhentning af alle dele
Indhentning af alle dele
Indhentning af alle dele
Indhentning af alle dele

Dette projekt bruger få dele. Disse dele er meget billige at få, så du skal ikke bekymre dig om prisen. Nogle af de dele, der bruges i dette projekt, kan ændres, så projektet kan være billigere at lave. Det er på dig, hvilke dele af anbefalet du vil bruge og gøre dette projekt endnu bedre. Dele brugt i dette projekt:

  1. Arduino uno rev3 (Du kan også bruge anden Arduino)
  2. Brødbræt
  3. LCD 1602 grøn skærm med I2C (du kan også bruge skærm uden I2C, men du skal bruge flere pins til at forbinde den)
  4. 16 knapper tastatur (kan ændres)
  5. FC-28-d Jordhygrometer-detektionsmodul + jordfugtighedsføler
  6. DHT22 temperatur- og fugtighedsføler (Du kan bruge DHT11, som er billigere at få)
  7. Rød LED diode
  8. Blå LED diode
  9. 2 modstande 220 ohm (bruges til dioder)
  10. 4k7 modstand brugt til DHT22 på skematisk
  11. Arduino batteristik
  12. Få jumperkabler til at forbinde alle delene

En ting, jeg skal fortælle dig, før du begynder at bygge dette projekt, er, at tastaturet ikke er nødvendigt. Jeg brugte tastaturet denne gang, fordi min roterende encoder var ødelagt. Jeg tror, at dette projekt ville være perfekt, hvis det har en roterende encoder, fordi det ville bruge mindre pins, eller det kan bruge 3 knapper.

Trin 2: Tilslutning af alle dele sammen

Tilslutning af alle dele sammen
Tilslutning af alle dele sammen

I dette trin kan du se den skematiske, jeg lavede med fritzing. Jeg vil skrive varmt ned for at forbinde alle de vigtigste dele af dette projekt.

Som du kan se bruger vi 5V og GND fra arduino til at drive brødbrættet.

LCD:

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

Tastatur med 16 knapper:

Vi bruger stifter 9, 8, 7, 6, 5, 4, 3, 2 til at forbinde tastaturet (dette er grunden til, at jeg ville bruge roterende encoder, fordi det kun ville tage 3 ben på tavlen)

Jordfugtighedssensor:

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

DHT22:

  • VCC til 5v (+ del på brødbræt)
  • GND til gnd (-del på brødbræt)
  • Ud -stiften er forbundet til stift 12

Diode, der forbinder:

  • en del af dioden går ind - en del af brødbrættet
  • anden del går gennem modstand på 220 ohm, og derefter forbindes den til pin 10 (blå diode) eller 11 (rød diode)

Trin 3: Skrivning af kode

Jeg vil prøve at forklare koden i få dele. Der vil også blive skrevet fuld kode, så du kan kopiere den og også ændre den, hvis du ser behov. Også i denne kode er der skrevet få metoder til sensorarbejde, men denne gang var hovedfokus på at oprette menu, der vil være let at forstå for folk, der er nye med Arduino. Denne gang bruger jeg ikke nogen afbrydelser, men i mine næste projekter vil jeg gøre det, så husk på, at denne kode kan blive meget bedre med afbrydelser.

  1. Første del af koden inkluderer alle de brugte biblioteker til dette projekt. Husk, at for alle de dele, som jeg fortalte, at jeg bruger, har du brug for de næste biblioteker: Wire, LiquidCrystal_I2C, Tastatur og DHT. Alle bibliotekerne kan findes på Arduino IDE, hvis du går til skitsedelen og derefter i inkluderer biblioteker. Husk også, at hvis du bruger noget som roterende encoder, skal du sandsynligvis få nye biblioteker i stedet for tastatur, hvilket sandsynligvis ville være rotary.h og knappen. Hvis du bruger DHT11 -sensor, er biblioteket stadig DHT.
  2. I anden del af koden vil der blive defineret alle brugte dele. Først og fremmest er LCD. Derefter er der en DHT -sensor, der repræsenterer et objekt med en dht -type sensor, og også en pin, der er forbundet. Jordfugtighedssensor og dioder er den tredje.
  3. Jeg vil beskrive tastaturet lidt mere. Som jeg sagde, var min roterende encoder ødelagt, så jeg besluttede at bruge den. Til dette projekt er det nok at have kun fire knapper, selv tre er gode til det. Så jeg bruger fire knapper på tastaturet til kun en mulighed. Du kan bruge nogle af knapperne, hvis du vil have noget andet, hvis du har en idé. Du skal definere rækker og kolonner i denne del. Herefter repræsenterer hexaKeys dig de muligheder, der bruges til dette projekt. I mit projekt er der B (tilbage), U (op), D (ned) og A (accepter). Du kan få hver knap til at gøre noget andet. Én knap kan tænde baggrundsbelysning, man kan slukke den. Så du er velkommen til at lege med det noget mere
  4. I denne del er globale variabler brugt i kode. Fed variabler bruger til skærmskift. Velkomstvariablen er kun sand i få sekunder, når arduinoen jeg tændte, derefter vil den være falsk i resten af tiden. Hovedfokus er på mainScreen -variabel. Denne variabel bruges til at guide dig fra menuen til enhver anden kodeindstilling. Hvis denne variabel er falsk, betyder det, at brugeren besluttede at bruge en af fire muligheder for dette projekt.
  5. Det er her, hvor alle metoderne i denne kode er skrevet. Jeg vil forsøge at forklare alle skrevne metoder i denne del
  • void startScreen (); // metode til start af projekt og arduino
  • int choiceNumber (int valg); // dette ændrer dit valg af projektmuligheder. Tallet går fra 1 til 4
  • void mainScreenP (int valg); // der vil blive skrevet fire muligheder for enheden, der er lavet
  • bool mainScreenCS (bool mainScreen); // dette ændrer mainScreen til false
  • bool mainScreenBack (bool mainScreen); // dette ændrer mainScreen til true
  • ugyldig tempCelsius (); // læsningstemperatur i C DHT -sensorindstilling
  • ugyldig tempFarenheit (); // læsningstemperatur i F DHT -sensorindstilling
  • void printHumidity (); // læsning fugtighed DHT sensor mulighed
  • void readSensorData (); // læsning af data om tilsluttede sensorer
  • String getTemperatureC ();
  • String getTemperatureF ();
  • String getHumidity ();
  • void soilMoisture (); // dette er til en anden sensor og dioder
  • void printSensorSoilMoisture (); // udskrivning af jordfugtighedsdel på lcd
  • void diodeLights (int -værdi); // tænder og slukker dioder
  • void printValue (int -værdi);

6. opsætning til arduino er en del, hvor du opsætter LCD- og DHT -sensor og også dioder

7. Hoveddelen er den del, hvor alle de ovennævnte skriftlige metoder bruges.

Fuld kode for dette projekt vil være vedhæftet dette trin. Husk, at der er mulighed for, at benene måske ikke er forbundet som på skematisk, jeg tror, at dioderne er ændret.

Trin 4: Brug af din Arduino

Brug af din Arduino
Brug af din Arduino
Brug af din Arduino
Brug af din Arduino
Brug af din Arduino
Brug af din Arduino
Brug af din Arduino
Brug af din Arduino

Dette er nok den sjoveste del. Det er i hvert fald sjovere efter al kodning skrevet. I denne del kan du se billeder af, hvordan projektet fungerer. Der er 4 muligheder.

  1. Aflæsningstemperatur i Celsius
  2. Læsetemperatur i Fahrenheit
  3. Læser luftfugtighed
  4. Tænd for dioder og aflæsningsværdier for jordfugtighedssensor.

Du kan vælge enhver af de mulige muligheder, også du kan gå tilbage og vælge igen, hvis du vil se noget andet. Enkel og let at bruge.

Hvis der er et andet spørgsmål, kan du stille mig. Tak fordi i kiggede på mit projekt. Med alle hilsner. Sebastian

Anbefalede: