Sadržaj:
- Korak 1: Dobivanje svih dijelova
- Korak 2: Povežite sve dijelove zajedno
- Korak 3: Pisanje koda
- Korak 4: Upotreba vašeg Arduina
Video: Arduino DHT22 projekt senzora i vlage tla s izbornikom: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
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
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:
- Arduino uno rev3 (Možete koristiti i drugi Arduino)
- Oglasna ploča
- LCD 1602 zeleni zaslon s I2C (možete koristiti i zaslon s I2C, ali trebat će vam više pinova za povezivanje)
- Tipkovnica sa 16 gumba (promjenjiva)
- Modul za detekciju higrometra tla FC-28-d + senzor vlažnosti tla
- Senzor temperature i vlažnosti DHT22 (možete koristiti DHT11 koji je jeftiniji)
- Crvena LED dioda
- Plava LED dioda
- 2 otpornika 220 ohma (koristi se za diode)
- 4k7 otpornik koji se koristi za DHT22 na shemi
- Konektor za Arduino bateriju
- 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
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.
- 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.
- 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.
- 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
- 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.
- 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
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.
- Očitavanje temperature u Celzijusima
- Očitavanje temperature u Fahrenheitu
- Očitavanje vlažnosti
- 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:
Solarni mjerač vlage tla s ESP8266: 10 koraka (sa slikama)
Solarni mjerač vlage tla s ESP8266: U ovom Instructable -u izrađujemo monitor za vlažnost tla na solarni pogon. Koristi bežični mikrokontroler ESP8266 s kodom male snage i sve je vodootporno pa se može ostaviti vani. Ovaj recept možete točno slijediti ili iz njega uzeti
Kalibracija osjetnika vlage tla: 5 koraka
Kalibracija senzora vlažnosti tla: Na tržištu postoji mnogo mjerača vlažnosti tla koji pomažu vrtlaru da odluči kada će zalijevati svoje biljke. Nažalost, zgrabiti šaku zemlje i pregledati boju i teksturu jednako je pouzdano kao i mnogi od ovih naprava! Neke sonde čak i registriraju
Arduino štapić za praćenje vlage tla - nikada ne zaboravite zalijevati svoje biljke: 4 koraka (sa slikama)
Arduino štap za nadzor vlage tla - nikada ne zaboravite zalijevati svoje biljke: Zaboravljate li često zalijevati svoje sobne biljke? Ili im možda pridajete previše pažnje i zalijevate ih? Ako to učinite, trebali biste sami napraviti štap za praćenje vlažnosti tla na baterije. Ovaj monitor koristi kapacitivnu vlagu tla
Arduino projekt vlage tla: 4 koraka
Arduino projekt vlažnosti tla: Pozdrav dečki Danas vam predstavljam svoj prvi projekt o instrukcijama. Radi se o mjerenju vlažnosti tla s Arduinom i samo jednim senzorom. Ovaj je projekt vrlo jednostavan za napraviti i svi koji žele početi učiti raditi s Arduino platformom trebaju
Arduino LCD osjetnik vlage tla: 5 koraka
Arduino LCD osjetnik vlage tla: Ono što ćemo napraviti je Arduino senzor vlage s YL-69 senzorom koji radi na temelju otpora između dva "noža". To će nam dati vrijednosti između 450-1023 pa ga moramo mapirati da bismo dobili postotnu vrijednost, ali dobro smo dobili