Talaan ng mga Nilalaman:
- Hakbang 1: Ano ang Kakailanganin Mo
- Hakbang 2: Prototype ng Breadboard
- Hakbang 3: Pag-setup ng Software
- Hakbang 4: Maghanda ng Solar Charging Board
- Hakbang 5: Bumuo ng Microcontroller Circuit
- Hakbang 6: Mag-install ng Mga Glandula ng Cable
- Hakbang 7: Kumpletuhin ang Circuit Assembly
- Hakbang 8: Maghanda ng Solar Panel
- Hakbang 9: Subukan Ito
- Hakbang 10: Gamitin Ito sa Labas
Video: Solar Soil Moisture Meter Na may ESP8266: 10 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sa Maituturo na ito, gumagawa kami ng isang solar Power Monitor na kahalumigmigan ng lupa. Gumagamit ito ng isang ESP8266 wifi microcontroller na nagpapatakbo ng mababang code ng kuryente, at hindi tinatagusan ng tubig ang lahat upang maiwan ito sa labas. Maaari mong sundin nang eksakto ang resipe na ito, o kunin mula dito ang mga kapaki-pakinabang na diskarte para sa iyong sariling mga proyekto.
Kung bago ka sa programa ng microcontroller, mangyaring suriin ang aking Arduino Class at Internet of Things Class upang mahuli sa mga pangunahing kaalaman sa mga kable, pag-coding, at pagkonekta sa internet.
Ang proyektong ito ay bahagi ng aking libreng Solar Class, kung saan maaari kang matuto nang higit pang mga paraan upang magamit ang enerhiya ng araw sa pamamagitan ng pag-ukit at mga solar panel.
Upang makasabay sa ginagawa ko, sundan ako sa YouTube, Instagram, Twitter, Pinterest, at mag-subscribe sa aking newsletter.
Hakbang 1: Ano ang Kakailanganin Mo
Kakailanganin mo ang isang board ng pagsingil ng baterya ng solar at breakout ng ESP8266 tulad ng NodeMCU ESP8266 o Huzzah, pati na rin ang isang sensor ng lupa, baterya, switch ng kuryente, ilang kawad, at isang enclosure upang ilagay ang iyong circuit sa loob.
Narito ang mga sangkap at materyales na ginamit para sa monitor ng kahalumigmigan sa lupa:
- ESP8266 NodeMCU microcontroller (o katulad, ang Vin ay dapat magparaya hanggang sa 6V)
- Adafruit solar singil board na may opsyonal na thermistor at 2.2K ohm risistor
- 2200mAh baterya ng li-ion
- Perma-proto board
- Ang kahalumigmigan ng lupa / sensor ng temperatura
- 2 mga glandula ng cable
- Hindi tinatagusan ng tubig enclosure
- Pares ng cable na hindi tinatagusan ng tubig DC
- Heat shrink tubing
- 3.5W solar panel
- Push button power switch
- Double stick foam tape
Narito ang mga tool na kakailanganin mo:
- Panghinang at bakalang panghinang
- Pagtulong sa tool ng mga kamay
- Mga striper ng wire
- Flush snips
- Tweezers (opsyonal)
- Heat gun o mas magaan
- Multimeter (opsyonal ngunit madaling gamitin para sa pag-troubleshoot)
- USB A-microB cable
- Gunting
- Hakbang drill
Kakailanganin mo ng mga libreng account sa mga site ng cloud data io.adafruit.com at IFTTT.
Bilang isang Associate sa Amazon kumikita ako mula sa mga kwalipikadong pagbili na iyong ginagawa gamit ang aking mga kaakibat na link.
Hakbang 2: Prototype ng Breadboard
Mahalagang lumikha ng isang walang solder na prototype ng breadboard para sa mga proyektong tulad nito, upang matiyak mong gumagana ang iyong sensor at code bago gumawa ng anumang permanenteng koneksyon.
Sa kasong ito, ang sensor ng lupa ay may maiiwan na mga wire dito kinakailangan upang pansamantalang maglakip ng mga solidong header sa mga dulo ng mga wire ng sensor gamit ang panghinang, pagtulong sa mga kamay, at ilang pag-urong ng tubo ng init.
Sundin ang circuit diagram upang mai-wire ang sensor ng lakas, lupa, orasan, at mga pin ng data (nakakakuha rin ang data ng isang 10K pull-up risistor na kasama ng sensor ng lupa).
- Sensor green wire sa GND
- Sensor ng pulang kawad hanggang sa 3.3V
- Sensor dilaw na kawad sa NodeMCU pin D5 (GPIO 14)
- Sensor asul na kawad sa NodeMCU pin D6 (GPIO 12)
- 10K pull-up risistor sa pagitan ng asul na data pin at 3.3V
Maaari mo itong isalin sa iyong ginustong microcontroller. Kung gumagamit ka ng isang Arduino Uno o katulad, ang iyong board ay suportado na ng Arduino software. Kung gumagamit ka ng ESP8266, mangyaring suriin ang aking Internet of Things Class para sa sunud-sunod na tulong sa pag-set up ng ESP8266 sa Arduino (sa pamamagitan ng pagdaragdag ng mga karagdagang URL sa patlang ng Mga Karagdagang Tagapamahala ng Mga Board ng Boards sa mga kagustuhan ni Arduino, pagkatapos ay maghanap para sa at pagpili ng mga bagong board mula sa board manager). May posibilidad akong gamitin ang uri ng board ng Adafruit ESP8266 Huzzah upang i-program ang board ng NodeMCU ESP8266, ngunit maaari mo ring mai-install at gamitin ang suporta ng board ng Generic ESP8266. Kakailanganin mo rin ang driver ng chip ng komunikasyon na SiLabs USB (magagamit para sa Mac / Windows / Linux).
Upang mapagana ang sensor at tumakbo sa aking board na katugmang Arduino, na-download ko ang SHT1x Arduino Library mula sa pahina ng github ng Praktikal Arduino, pagkatapos ay inalis ang zip ng file at inilipat ang folder ng library sa aking folder ng Arduino / libraries, pagkatapos ay pinalitan itong SHT1x. Buksan ang halimbawang sketch ReadSHT1xValues at palitan ang mga numero ng pin sa 12 (dataPin) at 14 (clockPin), o kopyahin ang binagong sketch dito:
# isama
#define dataPin 12 // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // instantiate SHT1x object void setup () {Serial.begin (38400); // Buksan ang serial connection upang mag-ulat ng mga halaga upang ma-host ang Serial.println ("Pagsisimula"); } void loop () {float temp_c; lumutang temp_f; lumutang halumigmig; temp_c = sht1x.readTemperatureC (); // Basahin ang mga halaga mula sa sensor temp_f = sht1x.readTemperatureF (); halumigmig = sht1x.readHumidity (); Serial.print ("Temperatura:"); // I-print ang mga halaga sa serial port Serial.print (temp_c, DEC); Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Humidity:"); Serial.print (halumigmig); Serial.println ("%"); pagkaantala (2000); }
I-upload ang code na ito sa iyong board at buksan ang serial monitor upang makita ang stream ng data ng sensor.
Kung ang iyong code ay hindi mag-ipon at magreklamo tungkol sa SHT1x.h hindi nahanap, hindi mo nakuha ng maayos ang kinakailangang library ng sensor. Suriin ang iyong folder ng Arduino / libraries para sa isang tinatawag na SHT1x, at kung sa ibang lugar, tulad ng iyong folder ng mga pag-download, ilipat ito sa iyong folder ng mga library ng Arduino, at palitan ang pangalan kung kinakailangan.
Kung ang iyong code ay naiipon ngunit hindi i-upload sa iyong board, i-double check ang iyong mga setting ng board, tiyaking naka-plug in ang iyong board, at piliin ang tamang port mula sa menu ng Mga Tool.
Kung ang pag-upload ng iyong code ngunit ang iyong serial monitor input ay hindi makikilala, i-double check ang iyong mga tugma sa rate ng baud na tinukoy sa iyong sketch (38400 sa kasong ito).
Kung ang iyong input ng serial monitor ay tila hindi tama, i-double check ang iyong mga kable laban sa circuit diagram. Ang iyong 10K pull-up risistor ay nasa lugar ba sa pagitan ng data pin at 3.3V? Ang data at orasan ay konektado sa tamang mga pin? Ang kapangyarihan at lupa ba ay konektado tulad ng dapat sa buong circuit? Huwag magpatuloy hanggang sa gumana ang simpleng sketch na ito!
Ang susunod na hakbang ay tiyak sa ESP8266 at ise-configure ang opsyonal na bahagi ng pag-uulat ng wireless sensor ng sample na proyekto. Kung gumagamit ka ng isang karaniwang (hindi wireless) Arduino-compatible microcontroller, patuloy na paunlarin ang iyong huling Arduino sketch at laktawan upang Maghanda ng Solar Charging Board.
Hakbang 3: Pag-setup ng Software
Upang maipon ang code para sa proyektong ito sa ESP8266, kakailanganin mong mag-install ng ilang higit pang mga aklatan ng Arduino (magagamit sa pamamagitan ng manager ng library):
- Adafruit IO Arduino
- Adafruit MQTT
- ArduinoHttpClient
I-download ang code na naka-attach sa hakbang na ito, pagkatapos ay i-unzip ang file at buksan ang Solar_Powered_Soil_Moisture_Monitor_Tutorial sa iyong Arduino software.
# isama
#include #include #include #include // Tukuyin ang mga koneksyon ng data at orasan at i-instantiate ang bagay na SHT1x # tukuyin ang dataPin 12 // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // set up the feed AdafruitIO_Feed * halumigmig = io.feed ("halumigmig"); AdafruitIO_Feed * temperatura = io.feed ("temperatura"); Const int sleepTime = 15; // 15 minuto
walang bisa ang pag-setup ()
{Serial.begin (115200); // Buksan ang serial connection upang mag-ulat ng mga halaga upang ma-host ang Serial.println ("Pagsisimula"); // kumonekta sa io.adafruit.com Serial.print ("Pagkonekta sa Adafruit IO"); io.connect (); // maghintay para sa isang koneksyon habang (io.status () <AIO_CONNected) {Serial.print ("."); pagkaantala (500); } // kami ay konektado sa Serial.println (); Serial.println (io.statusText ()); }
walang bisa loop ()
{io.run (); // io.run (); pinapanatili ang client na konektado at kinakailangan para sa lahat ng mga sketch. lumutang temp_c; lumutang temp_f; lumutang ang kahalumigmigan; temp_c = sht1x.readTemperatureC (); // Basahin ang mga halaga mula sa sensor temp_f = sht1x.readTemperatureF (); kahalumigmigan = sht1x.readHumidity (); Serial.print ("Temperatura:"); // I-print ang mga halaga sa serial port Serial.print (temp_c, DEC); Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Humidity:"); Serial.print (kahalumigmigan); Serial.println ("%"); halumigmig-> makatipid (kahalumigmigan); temperatura-> makatipid (temp_f); Serial.println ("natutulog ang ESP8266 …"); ESP.deepS Sleep (sleepTime * 1000000 * 60); // Sleep}
Ang code na ito ay isang mashup ng sensor code mula nang mas maaga sa tutorial na ito at isang pangunahing halimbawa mula sa serbisyo ng data ng cloud na Adafruit IO. Ang programa ay pumapasok sa mababang mode ng kuryente at natutulog ng madalas, ngunit gigising tuwing 15 minuto upang basahin ang temperatura at halumigmig ng lupa, at iniuulat ang data nito sa Adafruit IO. Mag-navigate sa tab na config.h at punan ang iyong Adafruit IO username at key, pati na rin ang iyong lokal na pangalan ng wifi network at password, pagkatapos ay i-upload ang code sa iyong ESP8266 microcontroller.
Kakailanganin mong gumawa ng kaunting paghahanda sa io.adafruit.com. Matapos lumikha ng mga feed para sa temperatura at halumigmig, maaari kang lumikha ng isang dashboard para sa iyong monitor na nagtatampok ng isang graph ng mga halaga ng sensor at parehong data ng papasok na feed. Kung kailangan mo ng isang pagre-refresh sa pagsisimula sa Adafruit IO, tingnan ang araling ito sa aking Internet of Things Class.
Hakbang 4: Maghanda ng Solar Charging Board
Ihanda ang solar charge board sa pamamagitan ng paghihinang sa capacitor nito at ilang mga wires sa mga load output pad. Pinasadya ko ang minahan na singilin sa isang mas mabilis na rate gamit ang isang opsyonal na add-on risistor (2.2K na solder sa buong PROG) at ginagawa itong mas ligtas na iwanan nang walang nag-aalaga sa pamamagitan ng pagpapalit sa ibabaw ng mount resistor ng isang 10K thermistor na nakakabit sa mismong baterya. Limitahan nito ang pagsingil upang ligtas ang saklaw ng temperatura. Saklaw ko ang mga pagbabagong ito nang mas detalyado sa aking proyekto sa Solar USB Charger.
Hakbang 5: Bumuo ng Microcontroller Circuit
Paghinang ng board ng microcontroller at paglipat ng kuryente sa isang perma-proto board.
Ikonekta ang output ng power ng solar charger sa input ng iyong switch, na dapat ma-rate nang hindi bababa sa 1 amp.
Lumikha at maghinang ng mga koneksyon ng wire ng tinapay na inilarawan sa circuit diagram sa itaas (o sa mga pagtutukoy ng iyong personal na bersyon), kasama ang 10K pull-up risistor sa linya ng data ng sensor.
Ang mga pin ng Load ng charger ng solar ay magbibigay ng lakas ng baterya ng 3.7V kapag walang umiiral na solar power, ngunit direktang pinalalakas mula sa solar panel kung ito ay naka-plug in at maaraw. Samakatuwid ang microcontroller ay dapat na tiisin ang iba't ibang mga voltages, kasing baba ng 3.7V at hanggang sa 6V DC. Para sa mga nangangailangan ng 5V, maaaring magamit ang isang PowerBoost (500 o 1000, depende sa kasalukuyang kinakailangan) upang i-modulate ang Load boltahe sa 5V (tulad ng ipinakita sa proyekto ng Solar USB Charger). Narito ang ilang mga karaniwang board at ang kanilang mga saklaw ng boltahe ng pag-input:
- NodeMCU ESP8266 (ginamit dito): 5V USB o 3.7V-10V Vin
- Arduino Uno: 5V USB o 7-12V Vin
- Adafruit Huzzah ESP8266 Breakout: 5V USB o 3.4-6V VBat
Upang makamit ang pinakamahabang posibleng buhay ng baterya, dapat kang maglaan ng kaunting oras upang isaalang-alang at ma-optimize ang kabuuang kasalukuyang iyong kasalukuyang pagguhit. Ang ESP8266 ay may malalim na tampok sa pagtulog na ginamit namin sa Arduino sketch upang mabawasan nang malaki ang pagkonsumo ng kuryente nito. Gumising ito upang basahin ang sensor at gumuhit ng mas maraming kasalukuyang habang kumokonekta ito sa network upang iulat ang halaga ng sensor, pagkatapos ay bumalik sa pagtulog para sa isang tinukoy na dami ng oras. Kung ang iyong microcontroller ay nakakakuha ng maraming lakas at hindi madaling matulog, isaalang-alang ang paglilipat ng iyong proyekto sa isang katugmang board na kumukuha ng mas kaunting lakas. Mag-drop ng isang katanungan sa mga komento sa ibaba kung kailangan mo ng tulong na makilala kung aling board ang maaaring tama para sa iyong proyekto.
Hakbang 6: Mag-install ng Mga Glandula ng Cable
Upang makagawa ng mga pointproof entry na hindi tinatablan ng panahon para sa solar panel cable at sensor cable, mag-i-install kami ng dalawang mga glandula ng cable sa gilid ng enclosure ng hindi tinatablan ng panahon.
Pagsubok magkasya sa iyong mga bahagi upang makilala ang perpektong pagkakalagay, pagkatapos markahan at mag-drill ng mga butas sa isang hindi tinatagusan ng tubig enclosure gamit ang isang hakbang na drill. I-install ang dalawang mga glandula ng cable.
Hakbang 7: Kumpletuhin ang Circuit Assembly
Ipasok ang bahagi ng port ng isang hindi tinatagusan ng tubig na cable sa isa at solder ito sa input ng solar charger DC (pula hanggang + at itim sa -).
Ipasok ang sensor ng lupa sa pamamagitan ng iba pang glandula, at ikonekta ito hanggang sa perma-proto ayon sa circuit diagram.
Tape ang thermistor probe sa baterya. Limitahan nito ang pagsingil sa isang ligtas na saklaw ng temperatura habang ang proyekto ay naiwan nang walang nag-iingat sa labas.
Ang pagsingil habang masyadong mainit o sobrang lamig ay maaaring makapinsala sa baterya o magsimula ng sunog. Ang pagkakalantad sa matinding temperatura ay maaaring maging sanhi ng pinsala at paikliin ang buhay ng baterya, kaya dalhin ito sa loob kung nasa ibaba ito ng pagyeyelo o higit sa 45 ℃ / 113F.
Higpitan ang mga glandula ng cable upang makagawa ng isang hindi tinatagusan ng panahon na selyo sa paligid ng kani-kanilang mga kable.
Hakbang 8: Maghanda ng Solar Panel
Sundin ang aking Makatuturo upang i-splice ang cable para sa iyong solar panel na may plug na bahagi ng hindi tinatagusan ng tubig DC set ng cable.
Hakbang 9: Subukan Ito
I-plug ang iyong baterya at i-on ang circuit sa pamamagitan ng pagpindot sa switch ng kuryente.
Subukan ito at tiyaking nag-uulat ito sa internet bago isara ang enclosure at i-install ang sensor sa iyong halamanan ng halaman, mahalagang palayok na halaman, o iba pang lupa sa loob ng saklaw ng signal ng iyong wifi network.
Sa sandaling ang data mula sa sensor ay naka-log online, madaling mag-set up ng isang recipe para sa mga alerto sa email o teksto sa site ng gateway ng API Kung Ito Pagkatapos Iyon. Na-configure ko ang akin upang i-email sa akin kung ang antas ng kahalumigmigan ng lupa ay bumaba sa ibaba 50.
Upang subukan ito nang hindi hinihintay ang aking halaman na matuyo, manu-mano akong nagpasok ng isang data point sa aking halumigmig feed sa Adafruit IO na nahulog sa ibaba ng threshold. Makalipas ang ilang sandali, dumating ang email! Kung ang mga antas ng lupa ay nahuhulog sa ibaba ng tinukoy kong antas, makakakuha ako ng isang email sa tuwing na-update ang feed hanggang sa natubigan ko ang lupa. Para sa aking katinuan, na-update ko ang aking code upang mai-sample ang lupa nang mas madalas kaysa sa bawat 15 minuto.
Hakbang 10: Gamitin Ito sa Labas
Ito ay isang nakakatuwang proyekto upang ipasadya batay sa mga pangangailangan sa hydration ng iyong halaman, at madaling magpalit o magdagdag ng mga sensor o isama ang mga tampok na solar power sa iyong iba pang mga proyekto ng Arduino.
Salamat sa pagsunod! Gusto kong marinig kung ano ang iniisip mo; mangyaring mag-post up sa mga komento. Ang proyektong ito ay bahagi ng aking libreng Solar Class, kung saan makakahanap ka ng mga madaling proyekto sa likod-bahay at maraming mga aralin sa pagtatrabaho sa mga solar panel. Suriin ito at magpatala!
Kung gusto mo ang proyektong ito, maaaring interesado ka sa ilan pa sa aking iba:
- libreng Klase sa Internet ng Bagay
- Counter ng Subscriber ng YouTube na may ESP8266
- Display ng Tracker ng Social Stats kasama ang ESP8266
- Display sa Panahon ng WiFi na may ESP8266
- Internet Valentine
Upang makasabay sa ginagawa ko, sundan ako sa YouTube, Instagram, Twitter, Pinterest, at Snapchat.
Inirerekumendang:
Arduino Soil Moisture Monitoring Stick - Huwag Kalimutan na Tubig ang Iyong Mga Halaman: 4 na Hakbang (na may Mga Larawan)
Arduino Soil Moisture Monitoring Stick - Huwag Kalimutan na Tubigin ang Iyong Mga Halaman: Madalas mong kalimutan na tubig ang iyong mga panloob na halaman? O marahil ay binibigyan mo sila ng labis na pansin at higit sa tubig? Kung gagawin mo ito, dapat mong gawin ang iyong sarili na isang stick na sinusubaybayan ng kahalumigmigan sa lupa na pinagagana ng baterya. Gumagamit ang monitor na ito ng isang capacitive na kahalumigmigan sa lupa
Madaling Soil Moisture Sensor Arduino 7 Segment Display: 4 Mga Hakbang (na may Mga Larawan)
Madaling Soil Moisture Sensor Arduino 7 Segment Display: Kamusta! Ang quarantine ay maaaring maging matigas. Masuwerte ako na magkaroon ng isang maliit na bakuran at maraming mga halaman sa bahay at naisip ko na makakagawa ako ng isang maliit na tool upang matulungan akong mapanatili ang mabuting pangangalaga sa kanila habang ako ay natigil sa bahay. Ang proyektong ito ay isang simple at madaling gamitin
Hindi tinatagusan ng tubig ang isang Capacitance Soil Moisture Sensor: 11 Mga Hakbang (na may Mga Larawan)
Hindi tinatagusan ng tubig ang isang Capacitance Soil Moisture Sensor: Ang mga capacitor na lupa-kahalumigmigan na sensor ay isang mahusay na paraan upang subaybayan ang katayuan ng tubig sa lupa sa iyong mga nakapaso na halaman, hardin, o greenhouse gamit ang isang Arduino, ESP32, o iba pang microcontroller. Ang mga ito ay nakahihigit sa mga probe ng paglaban na madalas na ginagamit sa mga proyekto ng DIY. Tingnan
Uhaw na Flamingo Soil Moisture Detector: 5 Hakbang (na may Mga Larawan)
Uhaw na Flamingo Soil Moisture Detector: Ang mga sensor ng kahalumigmigan ay ginagamit sa iba't ibang mga iba't ibang mga proyekto. Maaari mong gamitin ang mga ito upang subukan ang mga antas ng kahalumigmigan ng iba't ibang mga materyales at kahit na masubukan ang mga antas ng kahalumigmigan sa mga dingding ng iyong bahay kung hinala mong mamasa-masa sila. Sa nauuhaw na flamingo projec
DIY Soil Moisture Monitor With Arduino at isang Nokia 5110 Display: 6 Hakbang (na may Mga Larawan)
DIY Soil Moisture Monitor With Arduino at isang Nokia 5110 Display: Sa Instructable na ito ay makikita natin kung paano bumuo ng isang napaka-kapaki-pakinabang na Soil Moisture Monitor na may isang malaking Nokia 5110 LCD display gamit ang Arduino. Madaling masukat ang mga antas ng kahalumigmigan ng lupa ng iyong halaman mula sa iyong Arduino at bumuo ng mga kagiliw-giliw na aparato