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, Studeni
Anonim
Arduino DHT22 projekt senzora i vlage tla s izbornikom
Arduino DHT22 projekt senzora i vlage tla s izbornikom

Pozdrav dečki Danas vam predstavljam svoj drugi projekt o instrukcijama. Ovaj projekt predstavlja mješavinu mog prvog projekta u kojem sam koristio senzor vlažnosti 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. Bit će četiri mogućnosti. Zato uzmite komplet i počnite izrađivati ovaj projekt koji se može koristiti u bilo kojem domu.

Korak 1: Dobivanje svih dijelova

Dobivanje svih dijelova
Dobivanje svih dijelova
Dobivanje svih dijelova
Dobivanje svih dijelova
Dobivanje svih dijelova
Dobivanje svih dijelova

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. Oglasna ploča
  3. LCD 1602 zeleni zaslon s I2C (možete koristiti i zaslon s I2C, ali trebat će vam više pinova za povezivanje)
  4. Tipkovnica sa 16 gumba (promjenjiva)
  5. Modul za detekciju higrometra tla FC-28-d + 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 tipkovnica nije potrebna. Ovaj put sam koristio tipkovnicu 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 gumba.

Korak 2: Povežite sve dijelove zajedno

Spajanje svih dijelova zajedno
Spajanje svih dijelova zajedno

U ovom koraku možete vidjeti shemu koju sam napravio s fritzingom. Zapisat ću vruće za povezivanje svakog ključnog dijela ovog projekta.

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

LCD:

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

Tipkovnica sa 16 tipki:

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

Senzor vlažnosti tla:

  • VCC do 5V (+ dio na 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 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 zatim 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 knjižnice 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 knjižnice umjesto tipkovnice, koja bi vjerojatno bila rotacijska.h i gumb. Ako koristite DHT11 senzor, knjižnica je i dalje DHT.
  2. U drugom dijelu koda bit će definirani svi korišteni dijelovi. 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 tipkovnicu 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 mu i tri dobra. Stoga koristim četiri gumba na tipkovnici za samo jednu opciju. Možete koristiti neke od gumba ako želite nešto drugo ako imate ideju. Morate definirati retke i stupce u ovom dijelu. Nakon toga hexaKeys će vam predstaviti mogućnosti korištene za ovaj projekt. U mom projektu postoje B (natrag), U (gore), D (dolje) i A (prihvaćam). Svaki gumb možete učiniti da učini nešto drugo. Jedan gumb može uključiti pozadinsko osvjetljenje, može ga isključiti. Zato se slobodno poigrajte s tim još malo
  4. U ovom dijelu su globalne varijable korištene u kodu. Bool varijable se koriste za promjenu zaslona. Varijabla dobrodošlice vrijedi nekoliko sekundi samo kad se arduino i uključi, nakon toga će ostatak vremena biti lažna. Glavni fokus je na varijabli mainScreen. Ova varijabla se koristi za vođenje od izbornika do bilo koje druge opcije u kodu. Ako je ova varijabla netoč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čitanje temperature u opciji C DHT osjetnika
  • void tempFarenheit (); // očitanje temperature u opciji F DHT osjetnika
  • void printHumidity (); // očitanje vlažnosti DHT osjetnik
  • void readSensorData (); // čitanje podataka na spojenim senzorima
  • Niz getTemperatureC ();
  • Niz getTemperatureF ();
  • String getHumidity ();
  • void groundMoisture (); // ovo je za drugi senzor i diode
  • void printSensorSoilMoisture (); // ispis vlage u tlu na lcd -u
  • void diodeLights (int vrijednost); // uključivanje i isključivanje dioda
  • void printValue (int vrijednost);

6. Postavljanje za arduino dio je gdje postavljate LCD i DHT senzor te diode

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

Cijeli kôd ovog projekta bit će u privitku 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 osjetnika 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 još kakvo pitanje, možete me pitati. Hvala vam što ste pogledali moj projekt. Uz sve pozdrave. Sebastian

Preporučeni: