Obsah:
- Krok 1: Čo budete potrebovať
- Krok 2: Prototyp Breadboardu
- Krok 3: Nastavenie softvéru
- Krok 4: Pripravte si solárnu nabíjaciu dosku
- Krok 5: Zostavte obvod mikrokontroléra
- Krok 6: Nainštalujte káblové priechodky
- Krok 7: Kompletná montáž obvodu
- Krok 8: Príprava solárneho panelu
- Krok 9: Otestujte to
- Krok 10: Používajte ho vonku
Video: Merač vlhkosti solárnej pôdy s ESP8266: 10 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
V tomto návode vyrábame monitor pôdnej vlhkosti poháňaný slnečnou energiou. Využíva wifi mikrokontrolér ESP8266 s nízkym výkonom a všetko je vodotesné, takže ho môžete nechať vonku. Tento recept môžete presne dodržať, alebo si z neho vziať užitočné techniky pre svoje vlastné projekty.
Ak s programovaním mikrokontrolérov začínate, navštívte moju triedu Arduino a triedu internetu vecí, v ktorej sa zoznámite so základmi zapojenia, kódovania a pripojenia na internet.
Tento projekt je súčasťou mojej bezplatnej slnečnej triedy, kde sa môžete dozvedieť viac spôsobov, ako využiť slnečnú energiu pomocou gravírovania a solárnych panelov.
Aby ste držali krok s tým, na čom pracujem, sledujte ma na stránkach YouTube, Instagram, Twitter, Pinterest a prihláste sa na odber môjho spravodajcu.
Krok 1: Čo budete potrebovať
Budete potrebovať nabíjaciu dosku solárnej batérie a odpojovač ESP8266, ako napríklad NodeMCU ESP8266 alebo Huzzah, a tiež snímač pôdy, batériu, vypínač, nejaký drôt a kryt, aby ste zapojili svoj obvod dovnútra.
Tu sú komponenty a materiály použité na monitorovanie pôdnej vlhkosti:
- Mikroprocesor ESP8266 NodeMCU (alebo podobný, Vin musí tolerovať až 6V)
- Solárna nabíjacia doska Adafruit s voliteľným termistorom a odporom 2,2 K ohmov
- Li-ion batéria 2200 mAh
- Doska Perma-proto
- Senzor vlhkosti/teploty pôdy
- 2 káblové priechodky
- Vodotesný kryt
- Vodotesný pár napájacích káblov DC
- Teplom zmrštiteľné hadičky
- 3,5 W solárny panel
- Tlačidlový vypínač
- Dvojitá lepiaca penová páska
Tu sú nástroje, ktoré budete potrebovať:
- Spájkovačka a spájkovačka
- Pomocné ruky nástroj
- Odizolovače drôtov
- Flush snips
- Pinzeta (voliteľné)
- Tepelná pištoľ alebo zapaľovač
- Multimetr (voliteľný, ale vhodný na riešenie problémov)
- USB kábel A-microB
- Nožnice
- Kroková vŕtačka
Budete potrebovať bezplatné účty na serveroch s cloudovými údajmi io.adafruit.com a IFTTT.
Ako spolupracovník Amazonu zarábam na kvalifikovaných nákupoch, ktoré robíte pomocou mojich pridružených odkazov.
Krok 2: Prototyp Breadboardu
Je dôležité vytvoriť prototyp nepájivej dosky pre projekty, ako je tento, aby ste sa pred vytvorením trvalého pripojenia mohli uistiť, že váš senzor a kód fungujú.
V tomto prípade má snímač pôdy splietané drôty, ku ktorým bolo potrebné dočasne pripevniť pevné konektory na konce vodičov snímača pomocou spájky, pomocných rúk a niektorých tepelne zmršťovacích hadičiek.
Podľa schémy zapojenia zapojte napájací, uzemňovací, hodinový a dátový kolík snímača (údaje tiež získajú 10K výsuvný odpor, ktorý sa dodáva so snímačom pôdy).
- Zelený vodič snímača k GND
- Senzor červený vodič na 3,3V
- Žltý vodič snímača k kolíku NodeMCU D5 (GPIO 14)
- Modrý vodič snímača na kolíku NodeMCU D6 (GPIO 12)
- 10K pull-up odpor medzi modrým dátovým pinom a 3,3V
Môžete to preložiť do vami preferovaného mikrokontroléra. Ak používate Arduino Uno alebo podobné, vašu dosku už podporuje softvér Arduino. Ak používate ESP8266, pozrite sa do mojej triedy Internet of Things, kde nájdete podrobnú pomoc s nastavením ESP8266 v Arduino (pridaním doplnkových adries URL do poľa URL dodatočných správcov dosiek v nastaveniach Arduina, potom vyhľadaním a výber nových dosiek od správcu dosiek). Na programovanie dosky NodeMCU ESP8266 používam typ dosky Adafruit ESP8266 Huzzah, ale môžete tiež nainštalovať a používať generickú podporu dosky ESP8266. Budete tiež potrebovať ovládač USB komunikačného čipu SiLabs (k dispozícii pre Mac/Windows/Linux).
Aby senzor fungoval s mojou doskou kompatibilnou s Arduino, stiahol som SHT1x Arduino Library z github stránky Praktického Arduina, potom rozbalil súbor a presunul priečinok knižnice do priečinka Arduino/libraries, potom som ho premenoval na SHT1x. Otvorte vzorový náčrt ReadSHT1xValues a zmeňte čísla pinov na 12 (dataPin) a 14 (clockPin) alebo skopírujte upravený náčrt tu:
#zahrnúť
#define dataPin 12 // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // inštancia objektu SHT1x void setup () {Serial.begin (38400); // Otvorte sériové pripojenie a nahláste hodnoty hostiteľovi Serial.println („Spustenie“); } void loop () {float temp_c; float temp_f; plaváková vlhkosť; temp_c = sht1x.readTemperatureC (); // Načítanie hodnôt zo snímača temp_f = sht1x.readTemperatureF (); vlhkosť = sht1x.readHumidity (); Serial.print ("Teplota:"); // Vytlačte hodnoty na sériový port Serial.print (temp_c, DEC); Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Vlhkosť:"); Sériový tlač (vlhkosť); Serial.println ("%"); oneskorenie (2000); }
Odošlite tento kód na dosku a otvorte sériový monitor, aby ste videli prúd údajov senzora.
Ak sa váš kód neskompiluje a sťažuje sa, že súbor SHT1x.h sa nenašiel, nemáte správne nainštalovanú potrebnú knižnicu senzorov. Skontrolujte, či v priečinku Arduino/knižnic nie je priečinok s názvom SHT1x, a ak je niekde inde, napríklad v priečinku na sťahovanie, presuňte ho do priečinka s knižnicami Arduino a v prípade potreby ho premenujte.
Ak sa váš kód skompiluje, ale neodošle sa na vašu dosku, dvakrát skontrolujte nastavenia dosky, uistite sa, že je doska zapojená a v ponuke Nástroje vyberte správny port.
Ak sa váš kód nahrá, ale vstup sériového monitora sa nedá rozpoznať, dvakrát skontrolujte, či sa prenosová rýchlosť zhoduje s údajmi uvedenými vo vašom náčrte (v tomto prípade 38 400).
Ak sa váš vstup sériového monitora nezdá správny, dvakrát skontrolujte zapojenie podľa schémy zapojenia. Je váš 10K výsuvný odpor na mieste medzi dátovým kolíkom a 3,3 V? Sú údaje a hodiny pripojené k správnym pinom? Sú v celom obvode zapojené napájanie a uzemnenie tak, ako by mali? Nepokračujte, kým tento jednoduchý náčrt nefunguje!
Ďalší krok je špecifický pre ESP8266 a konfiguruje voliteľnú časť hlásenia bezdrôtového senzora vzorového projektu. Ak používate štandardný (nie bezdrôtový) mikrokontrolér kompatibilný s Arduino, pokračujte vo vývoji svojej konečnej náčrtu Arduino a preskočte na Prepare Solar Charging Board.
Krok 3: Nastavenie softvéru
Na zostavenie kódu pre tento projekt pomocou ESP8266 budete musieť nainštalovať niekoľko ďalších knižníc Arduino (dostupné prostredníctvom správcu knižníc):
- Adafruit IO Arduino
- Adafruit MQTT
- ArduinoHttpClient
Stiahnite si kód priložený k tomuto kroku, potom súbor rozbaľte a otvorte vo svojom softvéri Arduino návod Solar_Powered_Soil_Moisture_Monitor_Tutorial.
#zahrnúť
#include #include #include #include // Špecifikujte dátové a hodinové spojenia a vytvorte inštanciu objektu SHT1x #define dataPin 12 // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // nastavenie krmiva AdafruitIO_Feed *vlhkost = io.feed ("vlhkost"); AdafruitIO_Feed *teplota = io.feed ("teplota"); const int sleepTime = 15; // 15 minút
neplatné nastavenie ()
{Serial.begin (115200); // Otvorte sériové pripojenie a nahláste hodnoty hostiteľovi Serial.println („Spustenie“); // pripojenie na io.adafruit.com Serial.print („Pripojenie k Adafruit IO“); io.connect (); // čakať na spojenie while (io.status () <AIO_CONNECTED) {Serial.print ("."); oneskorenie (500); } // sme pripojení Serial.println (); Serial.println (io.statusText ()); }
prázdna slučka ()
{io.run (); // io.run (); udržuje klienta v spojení a je potrebný pre všetky náčrty. float temp_c; float temp_f; plaváková vlhkosť; temp_c = sht1x.readTemperatureC (); // Načítanie hodnôt zo snímača temp_f = sht1x.readTemperatureF (); vlhkosť = sht1x.readHumidity (); Serial.print ("Teplota:"); // Vytlačte hodnoty na sériový port Serial.print (temp_c, DEC); Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Vlhkosť:"); Sériový tlač (vlhkosť); Serial.println ("%"); vlhkosť-> uložiť (vlhkosť); teplota-> uložiť (temp_f); Serial.println („ESP8266 spí …“); ESP.deepSleep (spánok * 10 000 000 * 60); // Spánok}
Tento kód je kombináciou kódu senzora z predchádzajúceho tohto tutoriálu a základným príkladom z cloudovej dátovej služby Adafruit IO. Program prejde do režimu nízkej spotreby a väčšinu času spí, ale každých 15 minút sa prebudí, aby prečítal teplotu a vlhkosť pôdy, a nahlási svoje údaje Adafruit IO. Prejdite na kartu config.h a zadajte svoje používateľské meno a kľúč Adafruit IO, ako aj názov a heslo miestnej siete Wi -Fi, potom nahrajte kód do svojho mikrokontroléra ESP8266.
Na io.adafruit.com sa budete musieť trochu pripraviť. Po vytvorení kanálov pre teplotu a vlhkosť môžete pre svoj monitor vytvoriť informačný panel s grafom hodnôt senzorov a údajmi oboch prichádzajúcich kanálov. Ak si chcete zopakovať začiatok Adafruit IO, pozrite sa na túto lekciu v mojej triede Internet of Things.
Krok 4: Pripravte si solárnu nabíjaciu dosku
Pripravte si solárnu nabíjaciu dosku spájkovaním jej kondenzátora a niektorých vodičov k výstupným podložkám záťaže. Prispôsobujem svoje, aby sa nabíjal rýchlejšie pomocou voliteľného prídavného rezistora (2,2K spájkovaného naprieč PROG) a zaisťuje bezpečnejšie ponechanie bez dozoru nahradením odporu povrchovej montáže 10K termistorom pripojeným k samotnej batérii. To obmedzí nabíjanie na bezpečný teplotný rozsah. Podrobnejšie som sa týmto úpravám venoval vo svojom projekte Solar USB Charger.
Krok 5: Zostavte obvod mikrokontroléra
Spájkujte dosku mikrokontroléra a sieťový vypínač na dosku perma-proto.
Pripojte výstupný výkon solárnej nabíjačky k vstupu vášho spínača, ktorý by mal byť dimenzovaný najmenej na 1 ampér.
Vytvorte a spájkujte prepojenia vodičov nepájivého poľa popísané v schéme zapojenia vyššie (alebo podľa špecifikácií vašej osobnej verzie), vrátane 10K výsuvného odporu na dátovom vedení senzora.
Nabíjacie kolíky solárnej nabíjačky poskytnú batériu 3,7 V, ak neexistuje žiadna slnečná energia, ale budú napájané priamo zo solárneho panelu, ak je zapojený a slnečný. Mikrokontrolér preto musí byť schopný tolerovať rôzne napätia až do 3,7 V a až do 6 V DC. Pre tých, ktorí vyžadujú 5 V, je možné použiť PowerBoost (500 alebo 1 000, v závislosti od požadovaného prúdu) na moduláciu zaťažovacieho napätia na 5 V (ako je znázornené na projekte solárnej USB nabíjačky). Tu je niekoľko bežných dosiek a ich rozsahov vstupného napätia:
- NodeMCU ESP8266 (tu použitý): 5V USB alebo 3,7V-10V Vin
- Arduino Uno: 5V USB alebo 7-12V Vin
- Adafruit Huzzah ESP8266 Breakout: 5V USB alebo 3,4-6V VBat
Aby ste dosiahli čo najdlhšiu výdrž batérie, mali by ste nejaký čas zvážiť a optimalizovať celkový prúd, ktorý vaše aktuálne čerpá. ESP8266 má funkciu hlbokého spánku, ktorú sme použili v náčrte Arduino na dramatické zníženie spotreby energie. Prebudí sa, aby prečítal senzor, a počas pripojenia k sieti odoberá viac prúdu, aby nahlásil hodnotu senzora, a potom sa na určitý čas vráti do režimu spánku. Ak váš mikrokontrolér spotrebúva veľa energie a nedá sa ľahko uspať, zvážte prenos projektu na kompatibilnú dosku, ktorá spotrebuje menej energie. Ak potrebujete pomoc s určením, ktorá doska by mohla byť pre váš projekt správna, položte otázku do komentárov nižšie.
Krok 6: Nainštalujte káblové priechodky
Aby boli vstupné body odolné voči poveternostným vplyvom pre kábel solárneho panelu a kábel senzora, nainštalujeme dve káblové priechodky na bočnú stranu krytu odolného voči poveternostným vplyvom.
Otestujte, či vaše komponenty vyhovujú, identifikujte ideálne umiestnenie, potom pomocou krokového vŕtačky označte a vyvŕtajte otvory do vodotesného krytu. Namontujte dve káblové priechodky.
Krok 7: Kompletná montáž obvodu
Pripojte portovú stranu vodotesného napájacieho kábla do jedného a pripájajte ho k DC vstupu solárnej nabíjačky (červený na + a čierny na -).
Vložte snímač pôdy cez druhú žľazu a pripojte ho k perma-proto podľa schémy zapojenia.
Prilepte sondu termistora k batérii. Tým sa obmedzí nabíjanie na bezpečný teplotný rozsah, pokiaľ je projekt ponechaný bez dozoru vonku.
Nabíjanie za tepla alebo za studena môže poškodiť batériu alebo spôsobiť požiar. Vystavenie extrémnym teplotám môže spôsobiť poškodenie a skrátenie životnosti batérie, preto ju vezmite dovnútra, ak je pod bodom mrazu alebo nad 45 ℃/113F.
Utiahnite káblové priechodky tak, aby boli okolo príslušných káblov utesnené proti poveternostným vplyvom.
Krok 8: Príprava solárneho panelu
Postupujte podľa mojich pokynov a spojte kábel pre svoj solárny panel s koncovkou vodotesnej sady káblov jednosmerného prúdu.
Krok 9: Otestujte to
Pripojte batériu a zapnite obvod stlačením vypínača.
Pred zatvorením krytu a inštaláciou senzora do bylinkovej záhrady, vzácnej rastliny v črepníku alebo na inú pôdu v dosahu signálu vašej siete Wi -Fi to vyskúšajte a overte si, či sa hlási na internete.
Akonáhle sa údaje zo senzora zaznamenávajú online, je ľahké nastaviť recept na e -mailové alebo textové upozornenia na webe brány API, ak toto, potom potom. Nakonfiguroval som ten svoj, aby mi poslal e -mail, ak hladina pôdnej vlhkosti klesne pod 50.
Aby som to otestoval bez toho, aby som čakal, kým mi rastlina vyschne, ručne som zadal dátový bod do svojho krmiva pre vlhkosť na Adafruit IO, ktorý klesol pod prah. O chvíľu neskôr príde e -mail! Ak hladiny pôdy klesnú pod moju zadanú úroveň, budem dostávať e -maily vždy, keď sa informačný kanál aktualizuje, kým pôdu nepolejem. Pre svoj zdravý rozum som aktualizoval svoj kód, aby som odoberal vzorky pôdy oveľa menej často ako každých 15 minút.
Krok 10: Používajte ho vonku
Jedná sa o zábavný projekt, ktorý je možné prispôsobiť na základe potrieb hydratácie vašej rastliny, a je ľahké ho vymeniť alebo pridať senzory alebo integrovať funkcie slnečnej energie do vašich ďalších projektov Arduino.
Ďakujeme, že nás sledujete! Rád by som počul, čo si myslíte; prosím napíšte do komentárov. Tento projekt je súčasťou mojej bezplatnej solárnej triedy, kde nájdete jednoduché projekty na záhrade a ďalšie lekcie práce so solárnymi panelmi. Pozrite sa na to a zaregistrujte sa!
Ak sa vám páči tento projekt, mohli by vás zaujímať niektoré z mojich ďalších:
- bezplatná trieda internetu vecí
- Počítadlo predplatiteľov YouTube s ESP8266
- Displej sledovača sociálnych štatistík s ESP8266
- WiFi meteorologický displej s ESP8266
- Internetový Valentín
Aby ste držali krok s tým, na čom pracujem, sledujte ma na stránkach YouTube, Instagram, Twitter, Pinterest a Snapchat.
Odporúča:
Tyčinka na monitorovanie vlhkosti pôdy Arduino - nikdy nezabudnite polievať svoje rastliny: 4 kroky (s obrázkami)
Tyčinka na monitorovanie vlhkosti pôdy Arduino - nikdy nezabudnite na polievanie svojich rastlín: Často zabúdate na polievanie izbových rastlín? Alebo im venujete príliš veľa pozornosti a zalievate ich vodou? Ak tak urobíte, mali by ste si urobiť batériu na monitorovanie vlhkosti pôdy. Tento monitor využíva kapacitnú pôdnu vlhkosť
Senzor vlhkosti pôdy ESP32 WiFi: 5 krokov
ESP32 WiFi SNÍMAČ Vlhkosti pôdy: Lacné senzory pôdnej vlhkosti, ktoré vysielajú elektrický signál cez pôdu na meranie odporu pôdy, zlyhávajú. Vďaka elektrolýze nie sú tieto snímače praktické. Viac informácií o elektrolýze nájdete tu. Senzor použitý v tomto projekte je
Hydroizolácia kapacitného senzora vlhkosti pôdy: 11 krokov (s obrázkami)
Hydroizolácia kapacitného senzora pôdnej vlhkosti: Kapacitné senzory pôdnej vlhkosti sú skvelým spôsobom, ako monitorovať stav pôdnej vody vo vašich črepníkoch, záhrade alebo skleníku pomocou Arduino, ESP32 alebo iného mikrokontroléra. Sú nadradené odporovým sondám často používaným v DIY projektoch. Pozrite
Smädný plameňový detektor vlhkosti pôdy: 5 krokov (s obrázkami)
Smädný plameňový detektor vlhkosti pôdy: Senzory vlhkosti sa používajú v rôznych projektoch. Môžete ich použiť na testovanie úrovní vlhkosti rôznych materiálov a dokonca aj na testovanie úrovní vlhkosti v stenách vášho domu, ak máte podozrenie, že sú vlhké. V projekte smädného plameniaka
DIY monitor vlhkosti pôdy s Arduino a displejom Nokia 5110: 6 krokov (s obrázkami)
DIY monitor pôdnej vlhkosti s Arduino a displejom Nokia 5110: V tomto návode sa pozrieme na to, ako pomocou Arduina postaviť veľmi užitočný monitor pôdnej vlhkosti s veľkým LCD displejom Nokia 5110. Jednoducho zmerajte úrovne vlhkosti pôdy svojej rastliny z Arduina a vytvorte zaujímavé zariadenia