Sadržaj:
- Korak 1: Što će vam trebati
- Korak 2: Prototip Breadboard -a
- Korak 3: Postavljanje softvera
- Korak 4: Pripremite solarnu ploču za punjenje
- Korak 5: Izgradite krug mikrokontrolera
- Korak 6: Instalirajte kabelske uvodnice
- Korak 7: Dovršite sklop kruga
- Korak 8: Pripremite solarnu ploču
- Korak 9: Isprobajte
- Korak 10: Koristite ga vani
![Solarni mjerač vlage tla s ESP8266: 10 koraka (sa slikama) Solarni mjerač vlage tla s ESP8266: 10 koraka (sa slikama)](https://i.howwhatproduce.com/images/001/image-984-j.webp)
Video: Solarni mjerač vlage tla s ESP8266: 10 koraka (sa slikama)
![Video: Solarni mjerač vlage tla s ESP8266: 10 koraka (sa slikama) Video: Solarni mjerač vlage tla s ESP8266: 10 koraka (sa slikama)](https://i.ytimg.com/vi/dq6exLxyOsQ/hqdefault.jpg)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
U ovom Instructable -u izrađujemo monitor vlažnosti tla na solarni pogon. Koristi bežični mikrokontroler ESP8266 s kodom male snage i sve je vodootporno pa se može ostaviti vani. Možete točno slijediti ovaj recept ili iz njega uzeti korisne tehnike za vlastite projekte.
Ako ste tek počeli s programiranjem mikrokontrolera, provjerite moju klasu Arduino i Internet stvari kako biste se upoznali s osnovama ožičenja, kodiranja i povezivanja na internet.
Ovaj projekt dio je moje besplatne solarne klase na kojoj možete naučiti više načina za iskorištavanje sunčeve energije putem gravura i solarnih panela.
Da biste bili u toku s onim na čemu radim, pratite me na YouTubeu, Instagramu, Twitteru, Pinterestu i pretplatite se na moj bilten.
Korak 1: Što će vam trebati
![Što će vam trebati Što će vam trebati](https://i.howwhatproduce.com/images/001/image-984-1-j.webp)
Trebat će vam ploča za punjenje solarne baterije i proboj ESP8266, poput NodeMCU ESP8266 ili Huzzah, kao i osjetnik tla, baterija, prekidač za napajanje, neka žica i kućište za umetanje strujnog kruga.
Evo komponenti i materijala koji se koriste za praćenje vlažnosti tla:
- ESP8266 NodeMCU mikrokontroler (ili slično, Vin mora tolerirati do 6V)
- Adafruit solarna ploča za punjenje s dodatnim termistorima i otpornikom od 2,2K ohma
- Li-ion baterija od 2200mAh
- Perma-proto ploča
- Senzor vlage/temperature tla
- 2 kabelske uvodnice
- Vodootporno kućište
- Vodootporni par istosmjernih kabela za napajanje
- Termoskupljajuće cijevi
- Solarni panel od 3,5W
- Prekidač za napajanje pritiskom na gumb
- Dvostruka ljepljiva traka od pjene
Evo alata koji će vam trebati:
- Lemilica i lemljenje
- Alat za ruke
- Skidači žica
- Ispiši ispiranje
- Pinceta (po izboru)
- Toplinski pištolj ili upaljač
- Multimetar (opcionalno, ali zgodan za rješavanje problema)
- USB A-microB kabel
- Škare
- Koračna bušilica
Trebat će vam besplatni računi na web stranicama za podatke u oblaku io.adafruit.com i IFTTT.
Kao suradnik Amazona zarađujem od kvalificiranih kupnji koje izvršite pomoću mojih partnerskih veza.
Korak 2: Prototip Breadboard -a
![Prototip Breadboard -a Prototip Breadboard -a](https://i.howwhatproduce.com/images/001/image-984-2-j.webp)
Važno je stvoriti prototip matične ploče za lemljenje za ovakve projekte, tako da se možete uvjeriti da vaš senzor i kôd rade prije nego uspostavite trajne veze.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-3-j.webp)
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-4-j.webp)
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-5-j.webp)
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-6-j.webp)
U tom slučaju, osjetnik tla ima nasukane žice na koje je bilo potrebno privremeno pričvrstiti čvrste zaglavlje na krajeve žica senzora pomoću lemljenja, ruku za pomoć i neke cijevi za termoskupljanje.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-7-j.webp)
Slijedite dijagram kruga za povezivanje napajanja senzora, uzemljenja, sata i podatkovnih pinova (podaci dobivaju i 10K pull-up otpornik koji dolazi s osjetnikom tla).
- Senzor zelena žica na GND
- Crvena žica senzora na 3,3V
- Senzorska žuta žica na NodeMCU pin D5 (GPIO 14)
- Plava žica senzora na NodeMCU pin D6 (GPIO 12)
- 10K pull-up otpornik između plavog podatkovnog pina i 3.3V
To možete prevesti na željeni mikrokontroler. Ako koristite Arduino Uno ili slično, vašu ploču već podržava softver Arduino. Ako koristite ESP8266, provjerite moju klasu Internet of Things za korak-po-korak pomoć pri postavljanju s ESP8266 u Arduinu (dodavanjem dodatnih URL-ova u polje Dodatni URL-ovi upravitelja ploča u postavkama Arduina, a zatim tražite i odabir novih ploča od upravitelja ploča). Sklon sam koristiti tip ploče Adafruit ESP8266 Huzzah za programiranje ploče NodeMCU ESP8266, ali također možete instalirati i koristiti podršku za generičku ESP8266 ploču. Trebat će vam i upravljački program USB komunikacijskog čipa SiLabs (dostupan za Mac/Windows/Linux).
Da bih senzor pokrenuo s mojom Arduino kompatibilnom pločom, preuzeo sam SHT1x Arduino knjižnicu sa stranice Practical Arduino na github-u, zatim raspakirao datoteku i premjestio mapu knjižnice u moju mapu Arduino/biblioteke, a zatim je preimenovao u SHT1x. Otvorite primjer skice ReadSHT1xValues i promijenite PIN brojeve na 12 (dataPin) i 14 (clockPin) ili kopirajte izmijenjenu skicu ovdje:
#uključi
#define dataPin 12 // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // instanciranje SHT1x objekta void setup () {Serial.begin (38400); // Otvorite serijsku vezu da biste izvijestili vrijednosti na hostu Serial.println ("Pokretanje"); } void loop () {float temp_c; plovak temp_f; vlažnost plovka; temp_c = sht1x.readTemperatureC (); // Očitavanje vrijednosti sa senzora temp_f = sht1x.readTemperatureF (); vlažnost = sht1x.readHumidity (); Serial.print ("Temperatura:"); // Ispisati vrijednosti na serijski port Serial.print (temp_c, DEC); Serial.print ("C /"); Serijski.ispis (temp_f, DEC); Serial.print ("F. Vlažnost:"); Serijski.tisak (vlažnost); Serial.println ("%"); odgoda (2000); }
Prenesite ovaj kôd na svoju ploču i otvorite serijski monitor kako biste vidjeli tok podataka senzora.
Ako se vaš kôd ne želi kompajlirati i žali se na to da SHT1x.h nije pronađen, niste pravilno instalirali potrebnu biblioteku senzora. Provjerite ima li u vašoj mapi Arduino/biblioteke SHT1x, a ako se nalazi negdje drugdje, poput mape s preuzimanjima, premjestite je u mapu Arduino knjižnice i preimenujte ako je potrebno.
Ako se vaš kôd kompilira, ali se neće učitati na vašu ploču, dvaput provjerite postavke ploče, provjerite je li ploča priključena i odaberite odgovarajući port s izbornika Alati.
Ako se vaš kôd učitava, ali vaš ulaz serijskog monitora nije prepoznatljiv, dvaput provjerite podudara li se vaša brzina prijenosa s onom navedenom u skici (u ovom slučaju 38400).
Ako vam se čini da ulaz vašeg serijskog monitora nije ispravan, dvaput provjerite ožičenje prema dijagramu kruga. Je li vaš 10K pull-up otpornik na mjestu između podatkovnog pina i 3.3V? Jesu li podaci i sat spojeni na ispravne pinove? Jesu li napajanje i uzemljenje povezani kako bi trebali biti u cijelom krugu? Ne nastavljajte dok ova jednostavna skica ne uspije!
Sljedeći korak specifičan je za ESP8266 i konfigurira opcionalni dio izvještavanja o bežičnom senzoru uzorka projekta. Ako koristite standardni (ne bežični) Arduino kompatibilan mikrokontroler, nastavite razvijati svoju konačnu Arduino skicu i preskočite na Pripremite solarnu ploču za punjenje.
Korak 3: Postavljanje softvera
![Postavljanje softvera Postavljanje softvera](https://i.howwhatproduce.com/images/001/image-984-8-j.webp)
Za sastavljanje koda za ovaj projekt s ESP8266, morate instalirati još nekoliko Arduino knjižnica (dostupnih putem upravitelja knjižnica):
- Adafruit IO Arduino
- Adafruit MQTT
- ArduinoHttpClient
Preuzmite kôd priložen ovom koraku, a zatim raspakirajte datoteku i otvorite Solar_Powered_Soil_Moisture_Monitor_Tutorial u svom Arduino softveru.
#uključi
#include #include #include #include // Navedite podatkovne veze i satove te instancirajte SHT1x objekt #define dataPin 12 // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // postavljanje hrane AdafruitIO_Feed *vlažnost = io.feed ("vlažnost"); AdafruitIO_Feed *temperatura = io.feed ("temperatura"); const int sleepTime = 15; // 15 minuta
void setup ()
{Serial.begin (115200); // Otvorite serijsku vezu da biste izvijestili vrijednosti na hostu Serial.println ("Pokretanje"); // povezivanje s io.adafruit.com Serial.print ("Spajanje na Adafruit IO"); io.connect (); // čekamo vezu while (io.status () <AIO_CONNECTED) {Serial.print ("."); kašnjenje (500); } // povezani smo Serial.println (); Serial.println (io.statusText ()); }
void loop ()
{io.run (); // io.run (); održava klijenta povezanim i potreban je za sve skice. plovak temp_c; plovak temp_f; plutajuća vlaga; temp_c = sht1x.readTemperatureC (); // Očitavanje vrijednosti sa senzora temp_f = sht1x.readTemperatureF (); vlaga = sht1x.readHumidity (); Serial.print ("Temperatura:"); // Ispis vrijednosti na serijski port Serial.print (temp_c, DEC); Serial.print ("C /"); Serijski.ispis (temp_f, DEC); Serial.print ("F. Vlažnost:"); Serijski.tisak (vlaga); Serial.println ("%"); vlažnost-> štedi (vlaga); temperatura-> spremi (temp_f); Serial.println ("ESP8266 spava …"); ESP.deepSleep (vrijeme spavanja * 1000000 * 60); // spavanje}
Ovaj kôd je mješavina senzorskog koda iz ranijeg ovog vodiča i osnovni primjer iz oblačne podatkovne usluge Adafruit IO. Program ulazi u način rada s niskom potrošnjom energije i spava većinu vremena, ali se budi svakih 15 minuta kako bi očitao temperaturu i vlažnost tla te svoje podatke prijavljuje Adafruit IO -u. Idite na karticu config.h i ispunite svoje korisničko ime i ključ za Adafruit IO, kao i naziv i lozinku lokalne WiFi mreže, a zatim prenesite kôd na svoj mikrokontroler ESP8266.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-9-j.webp)
Morat ćete se malo pripremiti na io.adafruit.com. Nakon što ste izradili feedove za temperaturu i vlagu, možete izraditi nadzornu ploču za vaš monitor s grafikonom vrijednosti senzora i podacima oba dolazna feeda. Ako vam je potrebno osvježenje za početak rada s Adafruit IO -om, pogledajte ovu lekciju u razredu Internet of Things.
Korak 4: Pripremite solarnu ploču za punjenje
![Pripremite solarnu ploču za punjenje Pripremite solarnu ploču za punjenje](https://i.howwhatproduce.com/images/001/image-984-10-j.webp)
Pripremite solarnu ploču za punjenje lemljenjem na njenom kondenzatoru i nekim žicama na izlazne pločice opterećenja. Prilagođujem svoj ručniku za brže punjenje s dodatnim dodatnim otpornikom (2,2K lemljenog na PROG-u) i čini ga sigurnijim ostaviti bez nadzora zamjenom otpornika za površinsko montiranje s 10K termistorom pričvršćenim na samu bateriju. To će ograničiti punjenje na siguran temperaturni raspon. Pobliže sam opisao ove izmjene u svom projektu solarnog USB punjača.
Korak 5: Izgradite krug mikrokontrolera
![Izgradite krug mikrokontrolera Izgradite krug mikrokontrolera](https://i.howwhatproduce.com/images/001/image-984-11-j.webp)
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-12-j.webp)
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-13-j.webp)
Lemite ploču mikrokontrolera i prekidač za napajanje na perma-proto ploču.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-14-j.webp)
Priključite izlaznu snagu solarnog punjača na ulaz vašeg prekidača, koji bi trebao biti ocijenjen za najmanje 1 pojačalo.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-15-j.webp)
Izradite i lemite žice za matičnu ploču opisane u gornjoj shemi (ili prema specifikacijama vaše osobne verzije), uključujući 10K pull-up otpornik na podatkovnoj liniji senzora.
Utikači za opterećenje solarnog punjača osigurat će bateriju od 3,7 V ako nema solarne energije, ali će se napajati izravno iz solarne ploče ako je priključena i sunčana. Stoga mikrokontroler mora biti u stanju podnijeti različite napone, sve do 3,7 V i do 6 V DC. Za one kojima je potrebno 5V, PowerBoost (500 ili 1000, ovisno o potrebnoj struji) može se koristiti za moduliranje napona opterećenja na 5 V (kao što je prikazano u projektu solarnog USB punjača). Evo nekih uobičajenih ploča i njihovih raspona ulaznog napona:
- NodeMCU ESP8266 (ovdje se koristi): 5V USB ili 3.7V-10V Vin
- Arduino Uno: 5V USB ili 7-12V Vin
- Adafruit Huzzah ESP8266 Prekid: 5V USB ili 3.4-6V VBat
Kako biste postigli najdulji mogući vijek trajanja baterije, potrebno vam je neko vrijeme da razmotrite i optimizirate ukupnu struju koju troši vaša struja. ESP8266 ima značajku dubokog sna koju smo koristili u Arduino skici kako bismo dramatično smanjili njegovu potrošnju energije. Probudi se da očita senzor i izvuče više struje dok se poveže na mrežu kako bi izvijestio vrijednost senzora, a zatim se vraća u stanje mirovanja određeno vrijeme. Ako vaš mikrokontroler troši mnogo energije i ne može se lako uspavati, razmislite o prenošenju projekta na kompatibilnu ploču koja troši manje energije. Postavite pitanje u komentarima ispod ako vam je potrebna pomoć u identificiranju koja ploča može biti prikladna za vaš projekt.
Korak 6: Instalirajte kabelske uvodnice
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-16-j.webp)
Kako bismo učinili ulazne točke otporne na vremenske uvjete za kabel solarne ploče i kabel senzora, instalirat ćemo dvije kabelske uvodnice sa strane kućišta otpornog na vremenske uvjete.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-17-j.webp)
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-18-j.webp)
Testirajte svoje komponente kako biste utvrdili idealan položaj, a zatim označite i izbušite rupe u vodootpornom kućištu pomoću stepenaste bušilice. Ugradite dvije uvodnice kabela.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-19-j.webp)
Korak 7: Dovršite sklop kruga
![Potpuni sklop kruga Potpuni sklop kruga](https://i.howwhatproduce.com/images/001/image-984-20-j.webp)
Umetnite stranu porta vodootpornog kabela za napajanje u jedan i lemite ga na istosmjerni ulaz solarnog punjača (crveno na + i crno na -).
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-21-j.webp)
Umetnite osjetnik tla kroz drugu žlijezdu i spojite ga na perma-proto prema shemi kola.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-22-j.webp)
Zalijepite sondu termistora na bateriju. To će ograničiti punjenje na siguran raspon temperature dok se projekt ostavlja vani bez nadzora.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-23-j.webp)
Punjenje dok je prevruće ili prehladno može oštetiti bateriju ili izazvati požar. Izloženost ekstremnim temperaturama može uzrokovati oštećenja i skratiti vijek trajanja baterije, pa je unesite unutra ako je ispod nule ili iznad 45 ℃/113F.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-24-j.webp)
Zategnite kabelske uvodnice kako biste oko svojih kabela napravili brtvu otpornu na vremenske uvjete.
Korak 8: Pripremite solarnu ploču
![Pripremite solarnu ploču Pripremite solarnu ploču](https://i.howwhatproduce.com/images/001/image-984-25-j.webp)
Slijedite moj Instructable kako biste spojili kabel za svoju solarnu ploču sa stranom utikača vodootpornog kompleta DC kabela za napajanje.
Korak 9: Isprobajte
![Testirajte ga Testirajte ga](https://i.howwhatproduce.com/images/001/image-984-26-j.webp)
Priključite bateriju i uključite krug pritiskom na prekidač za napajanje.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-27-j.webp)
Testirajte ga i uvjerite se da izvještava na internetu prije nego zatvorite kućište i instalirate senzor u svoj biljni vrt, dragocjenu biljku u saksiji ili drugo tlo u dometu signala vaše WiFi mreže.
![Slika Slika](https://i.howwhatproduce.com/images/001/image-984-28-j.webp)
Nakon što se podaci sa senzora registriraju na mreži, lako je postaviti recept za e -poštu ili tekstualna upozorenja na web mjestu API pristupnika Ako ovo onda to. Konfigurirao sam svoj da mi šalje e -poštu ako razina vlažnosti tla padne ispod 50.
Kako bih je testirao bez čekanja da se moja biljka osuši, ručno sam unijeo podatkovnu točku u vlažnu hranu za Adafruit IO koja je pala ispod praga. Nekoliko trenutaka kasnije, e -poruka stiže! Ako razine tla padnu ispod moje specificirane razine, dobit ću e -poruku svaki put kad se hrana ažurira dok ne zalijem tlo. Zbog svog razuma, ažurirao sam svoj kod kako bih uzorkovao tlo mnogo rjeđe nego svakih 15 minuta.
Korak 10: Koristite ga vani
![Koristite ga vani! Koristite ga vani!](https://i.howwhatproduce.com/images/001/image-984-29-j.webp)
![Koristite ga vani! Koristite ga vani!](https://i.howwhatproduce.com/images/001/image-984-30-j.webp)
Ovo je zabavan projekt koji možete prilagoditi ovisno o potrebama hidratacije vaše biljke, a lako je zamijeniti ili dodati senzore ili integrirati značajke solarne energije u vaše druge Arduino projekte.
Hvala što ste nas pratili! Volio bih čuti što mislite; objavite u komentarima. Ovaj projekt dio je moje besplatne solarne klase na kojoj možete pronaći jednostavne projekte u dvorištu i više lekcija o radu sa solarnim panelima. Provjerite i prijavite se!
Ako vam se sviđa ovaj projekt, možda će vas zanimati neki od mojih drugih:
- besplatni tečaj Interneta stvari
- Brojač pretplatnika na YouTubeu s ESP8266
- Prikaz praćenja društvenih statistika s ESP8266
- WiFi prikaz vremena s ESP8266
- Internet Valentinovo
Da biste bili u toku s onim na čemu radim, pratite me na YouTubeu, Instagramu, Twitteru, Pinterestu i Snapchatu.
Preporučeni:
Kalibracija osjetnika vlage tla: 5 koraka
![Kalibracija osjetnika vlage tla: 5 koraka Kalibracija osjetnika vlage tla: 5 koraka](https://i.howwhatproduce.com/images/001/image-1855-j.webp)
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 štapić za praćenje vlage tla - nikada ne zaboravite zalijevati svoje biljke: 4 koraka (sa slikama) Arduino štapić za praćenje vlage tla - nikada ne zaboravite zalijevati svoje biljke: 4 koraka (sa slikama)](https://i.howwhatproduce.com/images/002/image-4568-6-j.webp)
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
Hidroizolacija osjetnika osjetljivosti vlage tla: 11 koraka (sa slikama)
![Hidroizolacija osjetnika osjetljivosti vlage tla: 11 koraka (sa slikama) Hidroizolacija osjetnika osjetljivosti vlage tla: 11 koraka (sa slikama)](https://i.howwhatproduce.com/images/012/image-33247-j.webp)
Hidroizolacija senzora vlažnosti tla kapacitivnog tipa: Kapacitivni osjetnici vlage u tlu izvrstan su način za praćenje stanja vode u tlu u vašim lončanicama, vrtu ili stakleniku pomoću Arduina, ESP32 ili drugog mikrokontrolera. Oni su superiorniji od sondi otpora koje se često koriste u DIY projektima. Vidi
Bežični monitor vlage (ESP8266 + Senzor vlage): 5 koraka
![Bežični monitor vlage (ESP8266 + Senzor vlage): 5 koraka Bežični monitor vlage (ESP8266 + Senzor vlage): 5 koraka](https://i.howwhatproduce.com/images/005/image-13591-17-j.webp)
Bežični monitor vlage (ESP8266 + Senzor vlage): Kupujem peršin u loncu i većinu dana tlo je bilo suho. Stoga sam odlučio napraviti ovaj projekt, o osjećanju vlage zemlje u loncu s peršinom, da provjerim, kad mi treba, prelijem zemlju vodom. Mislim da je ovaj senzor (kapacitivni senzor vlage v1.2) dobar jer
Žedni detektor vlage tla Flamingo: 5 koraka (sa slikama)
![Žedni detektor vlage tla Flamingo: 5 koraka (sa slikama) Žedni detektor vlage tla Flamingo: 5 koraka (sa slikama)](https://i.howwhatproduce.com/images/003/image-6692-63-j.webp)
Žedni detektor vlage tla Flamingo: Senzori vlage koriste se u raznim projektima. Možete ih koristiti za ispitivanje razine vlage u različitim materijalima, pa čak i za provjeru razine vlage u zidovima vašeg doma ako sumnjate da su vlažni. U žednom flamingo projektu