Sadržaj:

Arduino DHT22 projekt senzora i vlage tla s izbornikom: 4 koraka
Arduino DHT22 projekt senzora i vlage tla s izbornikom: 4 koraka

Video: Arduino DHT22 projekt senzora i vlage tla s izbornikom: 4 koraka

Video: Arduino DHT22 projekt senzora i vlage tla s izbornikom: 4 koraka
Video: Croduino lekcija 6: DHT11 senzor temperature i vlage 2024, Juli
Anonim
Arduino DHT22 projekt senzora i vlage tla s izbornikom
Arduino DHT22 projekt senzora i vlage tla s izbornikom

Zdravo momci Danas vam predstavljam svoj drugi projekt o instrukcijama. Ovaj projekt predstavlja mješavinu mog prvog projekta u kojem sam koristio senzor vlage tla i senzor DHT22 koji se koristi za mjerenje temperature i vlažnosti. Ovaj je projekt jednostavan za napraviti, a ljudima koji koriste Arduino bit će zanimljivo napraviti ga. Razlika između ovog projekta i prvog je u tome što će u ovom projektu korisnik imati izbornik u kojem može izabrati ono što želi vidjeti u ovom trenutku. Biće četiri opcije. Zato uzmite komplet i počnite izrađivati ovaj projekt koji se može koristiti u bilo kojem domu.

Korak 1: Nabavka svih dijelova

Nabavka svih delova
Nabavka svih delova
Nabavka svih delova
Nabavka svih delova
Nabavka svih delova
Nabavka svih delova

Ovaj projekt koristi nekoliko dijelova. Dobivanje ovih dijelova je vrlo jeftino, stoga ne brinite o cijeni. Neki dijelovi korišteni u ovom projektu mogu se promijeniti tako da je izrada projekta jeftinija. Na vama je koje ćete preporučene dijelove koristiti i učiniti ovaj projekt još boljim. Dijelovi korišteni u ovom projektu:

  1. Arduino uno rev3 (Možete koristiti i drugi Arduino)
  2. Breadboard
  3. LCD 1602 zeleni ekran sa I2C (možete koristiti i ekran sa I2C, ali za povezivanje će vam trebati više pinova)
  4. Tastatura sa 16 tastera (promenljiva)
  5. FC-28-d Modul za detekciju higrometra tla + senzor vlažnosti tla
  6. Senzor temperature i vlažnosti DHT22 (Možete koristiti DHT11 koji je jeftiniji)
  7. Crvena LED dioda
  8. Plava LED dioda
  9. 2 otpornika 220 ohma (koristi se za diode)
  10. 4k7 otpornik koji se koristi za DHT22 na shemi
  11. Konektor za Arduino bateriju
  12. Nekoliko kratkospojnih kabela za povezivanje svih dijelova

Jedna stvar koju vam moram reći prije nego počnete graditi ovaj projekt je da tastatura nije potrebna. Ovaj put sam koristio tastaturu jer mi je okretni koder pokvaren. Mislim da bi ovaj projekt bio savršen da ima rotacijski koder jer bi koristio manje pinove ili bi mogao koristiti 3 tipke.

Korak 2: Povežite sve dijelove zajedno

Povezivanje svih delova zajedno
Povezivanje svih delova zajedno

U ovom koraku možete vidjeti shemu koju sam napravio sa friziranjem. Zapisaću vruće da povežem svaki ključni dio ovog projekta.

Kao što vidite, za napajanje matične ploče koristimo 5V i GND iz arduina.

LCD:

  • VCC na 5V (+ dio na matičnoj ploči)
  • GND u gnd (- dio na matičnoj ploči)
  • SDA na analogni pin A4
  • SCL na analogni pin A5

Tastatura sa 16 tastera:

Koristimo pinove 9, 8, 7, 6, 5, 4, 3, 2 za povezivanje tipkovnice (to je razlog zašto bih koristio rotacijski davač, jer bi na ploči trebala samo 3 pina)

Senzor vlažnosti tla:

  • VCC na 5V (+ dio na matičnoj ploči)
  • GND u gnd (-dio na ploči)
  • D0 na digitalni pin 0
  • A0 na analogni pin A0

DHT22:

  • VCC na 5V (+ dio na matičnoj ploči)
  • GND u gnd (-dio na ploči)
  • Izlazni pin je spojen na pin 12

Spajanje dioda:

  • jedan dio diode ulazi u - dio matične ploče
  • drugi dio prolazi kroz otpornik od 220 ohma, a nakon toga se spaja na pin 10 (plava dioda) ili 11 (crvena dioda)

Korak 3: Pisanje koda

Pokušat ću objasniti kod u nekoliko dijelova. Također će biti napisan cijeli kod tako da ga možete kopirati i promijeniti ako vidite da je potrebno. Također u ovom kodu postoji nekoliko napisanih metoda za rad senzora, ali ovaj put glavni fokus bio je na stvaranju izbornika koji će biti lako razumljiv za ljude koji su tek počeli koristiti Arduino. Ovaj put ne koristim nikakve prekide, ali u sljedećim projektima ću, pa imajte na umu da ovaj kod može biti mnogo bolji s prekidima.

  1. Prvi dio koda uključuje sve biblioteke koje se koriste za ovaj projekt. Imajte na umu da su vam za sve dijelove koje sam rekao da koristim potrebne sljedeće biblioteke: Wire, LiquidCrystal_I2C, Keypad i DHT. Sve biblioteke mogu se pronaći na Arduino IDE -u ako prijeđete na dio skice, a zatim u biblioteke za uključivanje. Također imajte na umu da ćete, ako koristite nešto poput rotacijskog kodera, vjerojatno morati nabaviti nove biblioteke umjesto tipkovnice, koja bi vjerojatno bila rotacijska.h i gumb. Ako koristite DHT11 senzor, biblioteka je i dalje DHT.
  2. U drugom dijelu koda bit će definirano korištenje svih korištenih dijelova. Prije svega, to je LCD. Nakon toga slijedi DHT senzor koji predstavlja sličan objekt s dht tipom senzora, kao i pin koji je spojen. Senzor vlage tla i diode su treći.
  3. Opisaću tastaturu još malo. Kao što sam rekao, moj rotacijski davač je pokvaren, pa sam ga odlučio upotrijebiti. Za ovaj projekt dovoljno je imati samo četiri gumba, čak su i tri dobra za to. Zato koristim četiri tastera na tastaturi za samo jednu opciju. Možete koristiti neke od gumba ako želite nešto drugo ako imate ideju. Morate definirati redove i stupce u ovom dijelu. Nakon toga hexaKeys će vam predstaviti opcije korištene za ovaj projekt. U mom projektu postoje B (nazad), U (gore), D (dole) i A (prihvati). Svako dugme možete učiniti da učini nešto drugo. Jedno dugme može uključiti pozadinsko osvjetljenje, jedno ga može isključiti. Zato se slobodno poigrajte s njim još malo
  4. U ovom dijelu su globalne varijable korištene u kodu. Bool varijable se koriste za promjenu ekrana. Varijabla dobrodošlice je istinita samo nekoliko sekundi samo kada je arduino i uključen, nakon toga će ostati netačna ostatak vremena. Glavni fokus je na varijabli mainScreen. Ova varijabla se koristi za vođenje od menija do bilo koje druge opcije u kodu. Ako je ova varijabla netačna, to znači da je korisnik odlučio koristiti jednu od četiri opcije ovog projekta.
  5. Ovdje su zapisane sve metode korištene u ovom kodu. Pokušat ću objasniti sve pisane metode u ovom dijelu
  • void startScreen (); // metoda za pokretanje projekta i arduina
  • int choiceNumber (int choice); // ovo mijenja vaš izbor opcija projekta. Broj se kreće od 1 do 4
  • void mainScreenP (int izbor); // bit će napisane četiri opcije napravljenog uređaja
  • bool mainScreenCS (bool mainScreen); // ovo mijenja mainScreen u false
  • bool mainScreenBack (bool mainScreen); // ovo mijenja mainScreen u true
  • void tempCelsius (); // očitavanje temperature u opciji C DHT senzora
  • void tempFarenheit (); // očitavanje temperature u opciji F DHT senzora
  • void printHumidity (); // očitavanje opcije DHT senzora vlažnosti
  • void readSensorData (); // očitavanje podataka na spojenim senzorima
  • String getTemperatureC ();
  • String getTemperatureF ();
  • String getHumidity ();
  • void groundMoisture (); // ovo je za drugi senzor i diode
  • void printSensorSoilMoisture (); // ispis vlažnosti tla na LCD -u
  • void diodeLights (int vrijednost); // uključivanje i isključivanje dioda
  • void printValue (int vrijednost);

6. Podešavanje za arduino je dio gdje postavljate LCD i DHT senzor te diode

7. Glavni dio je dio u kojem se koriste sve gore navedene pisane metode.

Potpuni kôd ovog projekta bit će u prilogu ovog koraka. Imajte na umu da postoji mogućnost da pinovi možda nisu povezani kao na shemi, mislim da se diode mijenjaju.

Korak 4: Upotreba vašeg Arduina

Korištenje vašeg Arduina
Korištenje vašeg Arduina
Korištenje vašeg Arduina
Korištenje vašeg Arduina
Korištenje vašeg Arduina
Korištenje vašeg Arduina
Korištenje vašeg Arduina
Korištenje vašeg Arduina

Ovo je vjerojatno najsmješniji dio. Barem je smiješnije nakon svega napisanog kodiranja. U ovom dijelu možete vidjeti slike kako projekt funkcionira. Postoje 4 opcije.

  1. Očitavanje temperature u Celzijusima
  2. Očitavanje temperature u Fahrenheitu
  3. Očitavanje vlažnosti
  4. Uključivanje dioda i očitanje vrijednosti senzora vlažnosti tla.

Možete odabrati bilo koju od mogućih opcija, a također se možete vratiti i ponovo izabrati ako želite vidjeti nešto drugo. Jednostavno i jednostavno za korištenje.

Ako imate bilo koje drugo pitanje, možete me pitati. Hvala vam što ste pogledali moj projekt. Uz sve pozdrave. Sebastian

Preporučuje se: