Innehållsförteckning:

Arduino DHT22 sensor- och jordfuktprojekt med meny: 4 steg
Arduino DHT22 sensor- och jordfuktprojekt med meny: 4 steg

Video: Arduino DHT22 sensor- och jordfuktprojekt med meny: 4 steg

Video: Arduino DHT22 sensor- och jordfuktprojekt med meny: 4 steg
Video: Measure Temperature and Humidity using M5Stack Core 2 with DHT11 and DHT22 - Robojax 2024, November
Anonim
Arduino DHT22 sensor- och jordfuktprojekt med meny
Arduino DHT22 sensor- och jordfuktprojekt med meny

Hej killar Idag presenterar jag mitt andra projekt om instruktörer. Detta projekt presenterar blandningen av mitt första projekt där jag använde Soil Moisture sensor och DHT22 sensor som används för att mäta temperatur och luftfuktighet. Det här projektet är lätt att göra, och människor som använder Arduino kommer att känna det tyst intressant att göra. Skillnaden mellan detta projekt och det första är att i detta projekt kommer användaren att ha en meny där han kan välja vad han vill se för tillfället. Det kommer att finnas fyra alternativ. Så ta tag i ditt kit och börja göra det här projektet som kan användas i alla hem.

Steg 1: Skaffa alla delar

Skaffa alla delar
Skaffa alla delar
Skaffa alla delar
Skaffa alla delar
Skaffa alla delar
Skaffa alla delar

Detta projekt använder få delar. Dessa delar är väldigt billiga att få, så oroa dig inte för priset. Några av delarna som används i detta projekt kan ändras så att projektet kan vara billigare att göra. Det är på dig vilka delar av rekommenderade du ska använda och göra det här projektet ännu bättre. Delar som används i detta projekt:

  1. Arduino uno rev3 (Du kan också använda annan Arduino)
  2. Bakbord
  3. LCD 1602 grön skärm med I2C (du kan också använda skärm utan I2C men du behöver fler stift för att ansluta den)
  4. 16 knapps knappsats (kan bytas)
  5. FC-28-d Markhygrometer-detektionsmodul + jordfuktighetssensor
  6. DHT22 temperatur- och fuktsensor (Du kan använda DHT11 som är billigare att få)
  7. Röd LED -diod
  8. Blå LED -diod
  9. 2 motstånd 220 ohm (används för dioder)
  10. 4k7 motstånd som används för DHT22 på schematisk
  11. Arduino batterikontakt
  12. Några bygelkablar för att ansluta alla delar

En sak som jag måste berätta för dig innan du börjar bygga detta projekt är att knappsatsen inte är nödvändig. Jag använde knappsatsen den här gången eftersom min roterande kodare var trasig. Jag tror att det här projektet skulle vara perfekt om det har en roterande kodare eftersom det skulle använda mindre stift, eller det kan använda 3 knappar.

Steg 2: Anslut alla delar tillsammans

Koppla ihop alla delar
Koppla ihop alla delar

I det här steget kan du se schemat som jag gjorde med fritzing. Jag kommer att skriva ner varmt för att ansluta alla viktiga delar av detta projekt.

Som du kan se använder vi 5V och GND från arduino för att driva brödbrädan.

LCD:

  • VCC till 5v (+ del på brödbräda)
  • GND till gnd (- del på brödbräda)
  • SDA till analog stift A4
  • SCL till analog stift A5

Knappsats med 16 knappar:

Vi använder stift 9, 8, 7, 6, 5, 4, 3, 2 för att ansluta knappsatsen (detta är anledningen till att jag skulle använda roterande pulsgivare, eftersom det bara skulle ta 3 stift på kortet)

Jordfuktighetssensor:

  • VCC till 5v (+ del på brödbräda)
  • GND till gnd (-del på brödbräda)
  • D0 till digital stift 0
  • A0 till analog stift A0

DHT22:

  • VCC till 5v (+ del på brödbräda)
  • GND till gnd (-del på brödbräda)
  • Ut -stiftet är anslutet till stift 12

Diodanslutning:

  • en del av dioden går in - en del av brödbrädan
  • andra delen går genom motstånd på 220 ohm och anslut sedan till stift 10 (blå diod) eller 11 (röd diod)

Steg 3: Skriva kod

Jag ska försöka förklara koden i några delar. Det kommer också att skrivas hela koden så att du kan kopiera den och även ändra den om du ser något behov. Även i denna kod finns det få metoder för sensorarbete, men den här gången var huvudfokus på att skapa meny som är lätt att förstå för personer som är nya med Arduino. Den här gången använder jag inga avbrott, men i mina nästa projekt kommer jag att göra det, så kom ihåg att den här koden kan bli mycket bättre med avbrott.

  1. Första delen av koden inkluderar alla använda bibliotek för detta projekt. Tänk på att för alla delar som jag berättade att jag använder behöver du nästa bibliotek: Wire, LiquidCrystal_I2C, knappsats och DHT. Alla bibliotek kan hittas på Arduino IDE om du går till skissdelen och sedan i inkluderar bibliotek. Tänk också på att om du använder något som roterande kodare kommer du förmodligen att behöva skaffa nya bibliotek istället för knappsats, vilket förmodligen skulle vara rotary.h och knapp. Om du använder DHT11 -sensorn är biblioteket fortfarande DHT.
  2. I andra delen av koden kommer det att definiera alla använda delar. Först och främst är LCD. Efter det finns en DHT -sensor som representerar ett objekt med en dht -typ av sensor, och även en stift som är ansluten. Jordfuktighetssensor och dioder är tredje.
  3. Jag kommer att beskriva knappsatsen lite mer. Som jag sa var min roterande kodare trasig, så jag bestämde mig för att använda den. För det här projektet är det tillräckligt att bara ha fyra knappar, även tre är bra för det. Så jag använder fyra knappar på knappsatsen för bara ett alternativ. Du kan använda några av knapparna om du vill ha något annat om du har en idé. Du måste definiera rader och kolumner i den här delen. Efter det kommer hexaKeys att representera de alternativ som används för detta projekt. I mitt projekt finns B (bak), U (upp), D (ned) och A (accepter). Du kan göra varje knapp för att göra något annat. En knapp kan slå på bakgrundsbelysningen, en kan stänga av den. Så spela gärna med det lite till
  4. I denna del finns globala variabler som används i kod. Snabba variabler används för skärmbyte. Välkomstvariabeln är sant i några sekunder bara när arduinoen jag slog på, efter det kommer det att vara falskt för resten av tiden. Huvudfokus ligger på variabeln mainScreen. Denna variabel används för att vägleda dig från menyn till något annat alternativ i kod. Om denna variabel är falsk betyder det att användaren bestämde sig för att använda ett av fyra alternativ för detta projekt.
  5. Här skrivs alla metoder som används i denna kod. Jag kommer att försöka förklara alla skrivna metoder i denna del
  • void startScreen (); // metod för att starta projekt och arduino
  • int choiceNumber (int choice); // detta ändrar ditt val av projektalternativ. Siffran går från 1 till 4
  • void mainScreenP (int choice); // det kommer att skrivas fyra alternativ för enhet som är gjord
  • bool mainScreenCS (bool mainScreen); // detta ändrar mainScreen till false
  • bool mainScreenBack (bool mainScreen); // detta ändrar mainScreen till true
  • void tempCelsius (); // avläsningstemperatur i alternativet C DHT -sensor
  • void tempFarenheit (); // avläsningstemperatur i F DHT -sensoralternativ
  • void printHumidity (); // läser av DHT -sensor för fuktighet
  • void readSensorData (); // läsa data om anslutna sensorer
  • String getTemperatureC ();
  • String getTemperatureF ();
  • String getHumidity ();
  • void soilMoisture (); // detta är för en annan sensor och dioder
  • void printSensorSoilMoisture (); // utskrift av jordfuktighetsdel på lcd
  • void diodeLights (int -värde); // slå på och av dioder
  • void printValue (int -värde);

6. Inställning för arduino är en del där du ställer in LCD- och DHT -sensor och även dioder

7. Huvuddelen är den del där alla ovanstående skrivna metoder används.

Fullständig kod för detta projekt kommer att bifogas detta steg. Tänk på att det finns möjlighet att stiften kanske inte är anslutna som på schemat, jag tror att dioderna ändras.

Steg 4: Använda din Arduino

Använda din Arduino
Använda din Arduino
Använda din Arduino
Använda din Arduino
Använda din Arduino
Använda din Arduino
Använda din Arduino
Använda din Arduino

Det här är nog den roligaste delen. Åtminstone är det roligare efter alla kodningar skrivna. I den här delen kan du se bilder på hur projektet fungerar. Det finns 4 alternativ.

  1. Avläsningstemperatur i Celsius
  2. Avläsningstemperatur i Fahrenheit
  3. Läser av luftfuktighet
  4. Slå på dioder och läsvärden för jordfuktighetssensor.

Du kan välja något av möjliga alternativ, du kan också gå tillbaka och välja igen om du vill se något annat. Enkelt och lätt att använda.

Om det finns någon annan fråga kan du ställa mig. Tack för att ni tittade på mitt projekt. Med alla hälsningar. Sebastian

Rekommenderad: