Sisukord:
- Samm: mida vajate
- 2. samm: leivaplaadi prototüüp
- Samm 3: Tarkvara seadistamine
- Samm: valmistage päikeseenergia laadimislaud ette
- Samm: ehitage mikrokontrolleri ahel
- 6. samm: paigaldage kaablitihendid
- Samm: viige vooluahela kokkupanek lõpule
- Samm: valmistage päikesepaneel ette
- 9. samm: testige seda
- Samm: kasutage seda väljaspool
Video: Päikesemulla niiskuse mõõtur ESP8266 -ga: 10 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
Selles juhendis valmistame päikeseenergial töötava pinnase niiskuse monitori. See kasutab ESP8266 wifi mikrokontrollerit, mis töötab väikese võimsusega koodiga, ja kõik on veekindel, nii et selle saab välja jätta. Saate seda retsepti täpselt järgida või võtta sellest oma projektide jaoks kasulikke võtteid.
Kui te pole mikrokontrollerite programmeerimisel uus, vaadake palun minu Arduino klassi ja asjade Interneti klassi, et saada teavet juhtmestiku, kodeerimise ja Interneti -ühenduse loomise põhitõdede kohta.
See projekt on osa minu tasuta päikeseklassist, kus saate graveerimise ja päikesepaneelide abil õppida rohkem võimalusi päikese energia kasutamiseks.
Tööga kursis hoidmiseks jälgige mind YouTube'is, Instagramis, Twitteris, Pinterestis ja tellige minu uudiskiri.
Samm: mida vajate
Vooluahela sisestamiseks vajate päikesepatareide laadimisplaati ja ESP8266 katkestust, näiteks NodeMCU ESP8266 või Huzzah, samuti pinnaseandurit, akut, toitelülitit, mõnda juhtmest ja korpust.
Siin on mulla niiskuse jälgimiseks kasutatavad komponendid ja materjalid:
- ESP8266 NodeMCU mikrokontroller (või sarnane, Vin peab taluma kuni 6 V)
- Adafruit päikeseenergia laadimislaud koos lisavarustusse kuuluva termistori ja 2,2 K oomi takistiga
- 2200mAh liitiumioonaku
- Perma-proto plaat
- Mulla niiskuse/temperatuuri andur
- 2 kaablitihendit
- Veekindel korpus
- Veekindel alalisvoolu toitekaabli paar
- Kuumakahandavad torud
- 3,5 W päikesepaneel
- Vajutage toitenuppu
- Topeltpulk vahtlint
Siin on vajalikud tööriistad:
- Jootekolb ja jootekolb
- Abistavate käte tööriist
- Traadi eemaldajad
- Flush snips
- Pintsetid (valikuline)
- Soojuspüstol või tulemasin
- Multimeeter (valikuline, kuid mugav tõrkeotsinguks)
- USB A-microB kaabel
- Käärid
- Sammpuur
Teil on vaja tasuta kontosid pilveandmesaitidel io.adafruit.com ja IFTTT.
Amazoni sidusettevõttena teenin kvalifitseeritud ostudest, mille teete minu sidusettevõtte linkide abil.
2. samm: leivaplaadi prototüüp
Selliste projektide jaoks on oluline luua jooteta leivaplaadi prototüüp, nii et saate enne püsivate ühenduste tegemist veenduda, et teie andur ja kood töötavad.
Sel juhul on pinnaseanduril keermejuhtmed, mille külge oli vaja jootet, abikäsi ja mõnda termokahanevat toru ajutiselt kinnitada andurite juhtmete otstesse.
Anduri toite-, maandus-, kella- ja andmeklemmide ühendamiseks järgige vooluahelat (andmed saavad ka 10K tõmbetakistuse, mis on kaasas mullaanduriga).
- Anduri roheline juhe GND -le
- Anduri punane juhe kuni 3.3V
- Anduri kollane juhe NodeMCU tihvtiga D5 (GPIO 14)
- Anduri sinine juhe NodeMCU tihvtiga D6 (GPIO 12)
- 10K tõmbetakistus sinise andmestiku ja 3,3 V vahel
Saate selle tõlkida oma eelistatud mikrokontrollerile. Kui kasutate Arduino Unot või muud sarnast, toetab teie plaati juba Arduino tarkvara. Kui kasutate ESP8266, vaadake palun minu asjade Interneti klassi, et saada samm-sammult abi ESP8266 seadistamiseks Arduinos (lisades täiendavaid URL-e Arduino eelistuste väljale Lisalaudade halduri URL-id, seejärel otsides ja uute tahvlite valimine laudade haldurilt). Ma kasutan tavaliselt Adafruit ESP8266 Huzzah plaaditüüpi NodeMCU ESP8266 tahvli programmeerimiseks, kuid saate installida ja kasutada ka üldist ESP8266 tahvlit. Teil on vaja ka SiLabsi USB -side kiibidraiverit (saadaval Maci/Windowsi/Linuxi jaoks).
Anduri käivitamiseks oma Arduino-ühilduva plaadiga laadisin praktilise Arduino githubi lehelt alla SHT1x Arduino raamatukogu, seejärel pakkisin faili lahti ja teisaldasin raamatukogu kausta minu Arduino/teekide kausta, seejärel nimetasin selle ümber SHT1x. Avage näidisvisand ReadSHT1xValues ja muutke pin -numbrid 12 -le (dataPin) ja 14 -le (clockPin) või kopeerige muudetud visand siia:
#kaasake
#define dataPin 12 // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // SHT1x objekti voide seadistamine () {Serial.begin (38400); // Ava jadaühendus aruande väärtuste esitamiseks hostile Serial.println ("Käivitamine"); } void loop () {float temp_c; ujuk temp_f; ujuki niiskus; temp_c = sht1x.readTemperatureC (); // Väärtuste lugemine andurilt temp_f = sht1x.readTemperatureF (); niiskus = sht1x.readHumidity (); Serial.print ("Temperatuur:"); // Printige väärtused jadapordile Serial.print (temp_c, DEC); Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Niiskus:"); Serial.print (niiskus); Serial.println ("%"); viivitus (2000); }
Laadige see kood oma tahvlile ja avage jadamonitor, et näha anduri andmevoogu.
Kui teie koodi ei kompileerita ja ta kurdab, et SHT1x.h ei leita, pole nõutud andurite kogu õigesti installitud. Kontrollige oma Arduino/teekide kausta SHT1x ja kui see asub kusagil mujal, näiteks allalaadimiste kaust, teisaldage see oma Arduino raamatukogude kausta ja vajadusel nimetage see ümber.
Kui teie kood kompileerub, kuid seda ei laadita teie tahvlile, kontrollige uuesti tahvli seadeid, veenduge, et teie tahvel on ühendatud ja valige tööriistade menüüst õige port.
Kui teie kood laaditakse üles, kuid teie jadamonitori sisend on tundmatu, kontrollige veel kord, kas teie edastuskiirus vastab teie visandile (antud juhul 38400).
Kui teie jadamonitori sisend ei tundu õige, kontrollige oma juhtmestikku uuesti skeemi järgi. Kas teie 10K tõmbetakisti on andmestiku ja 3,3 V vahel paigas? Kas andmed ja kell on ühendatud õigete tihvtidega? Kas toide ja maandus on kogu vooluringis ühendatud nii nagu need peaksid olema? Ärge jätkake enne, kui see lihtne visand töötab!
Järgmine samm on spetsiifiline ESP8266 jaoks ja konfigureerib näidisprojekti valikulise traadita anduri aruandluse osa. Kui kasutate tavalist (mitte traadita) Arduino-ühilduvat mikrokontrollerit, jätkake oma viimase Arduino eskiisi väljatöötamist ja jätkake päikese laadimisplaadi ettevalmistamisega.
Samm 3: Tarkvara seadistamine
Selle projekti koodi koostamiseks ESP8266 abil peate installima veel mõned Arduino teegid (saadaval raamatukoguhalduri kaudu):
- Adafruit IO Arduino
- Adafruit MQTT
- ArduinoHttpClient
Laadige alla selle sammu juurde lisatud kood, seejärel pakkige fail lahti ja avage oma Arduino tarkvaras Solar_Powered_Soil_Moisture_Monitor_Tutorial.
#kaasake
#include #include #include #include // Andmete ja kellaühenduste määramine ja SHT1x objekti instantiseerimine #define dataPin 12 // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // voo seadistamine AdafruitIO_Feed *niiskust = io.feed ("niiskus"); AdafruitIO_Feed *temperatuur = io.feed ("temperatuur"); const int sleepTime = 15; // 15 minutit
tühine seadistus ()
{Serial.begin (115200); // Ava jadaühendus aruande väärtuste esitamiseks hostile Serial.println ("Käivitamine"); // ühenduse loomine saidiga io.adafruit.com Serial.print ("Ühendamine Adafruit IO -ga"); io.connect (); // oota ühendust, kui (io.status () <AIO_CONNECTED) {Serial.print ("."); viivitus (500); } // oleme ühendatud Serial.println (); Serial.println (io.statusText ()); }
tühine tsükkel ()
{io.run (); // io.run (); hoiab kliendi ühenduses ja on vajalik kõigi visandite jaoks. ujuk temp_c; ujuk temp_f; ujuki niiskus; temp_c = sht1x.readTemperatureC (); // Väärtuste lugemine andurilt temp_f = sht1x.readTemperatureF (); niiskus = sht1x.readHumidity (); Serial.print ("Temperatuur:"); // Printige väärtused jadapordile Serial.print (temp_c, DEC); Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Niiskus:"); Serial.print (niiskus); Serial.println ("%"); niiskus-> säästa (niiskus); temperatuur-> salvestamine (temp_f); Serial.println ("ESP8266 magab …"); ESP.deepSleep (uneaeg * 1000000 * 60); // Unerežiim}
See kood on selle õpetuse varasema andurikoodi mashup ja pilveandmeteenuse Adafruit IO põhinäide. Programm lülitub väikese energiatarbega režiimi ja magab suurema osa ajast, kuid ärkab iga 15 minuti järel, et lugeda pinnase temperatuuri ja niiskust, ning edastab oma andmed Adafruit IO -le. Liikuge vahekaardile config.h ja sisestage oma Adafruit IO kasutajanimi ja võti, samuti kohaliku wifi võrgu nimi ja parool, seejärel laadige kood üles oma ESP8266 mikrokontrollerisse.
Peate natuke eeltööd tegema saidil io.adafruit.com. Pärast temperatuuri ja niiskuse jaoks voogude loomist saate oma monitori jaoks luua armatuurlaua, millel on graafik andurite väärtuste ja mõlema sissetuleva voo andmete kohta. Kui vajate Adafruit IO -ga alustamiseks värskendust, vaadake seda õppetundi minu asjade Interneti klassis.
Samm: valmistage päikeseenergia laadimislaud ette
Valmistage päikeseenergia laadimisplaat ette, jootes selle kondensaatori ja mõned juhtmed koormusväljundite külge. Ma kohandan oma akusid kiiremini laadima valikulise lisatakistiga (2,2 000 joodetud PROG-i kaudu) ja muudan järelevalveta jätmise ohutumaks, asendades pinnakinnituse takisti aku enda külge kinnitatud 10K termistoriga. See piirab laadimise ohutuks temperatuurivahemikuks. Ma käsitlesin neid muudatusi üksikasjalikumalt oma päikeseenergia USB -laadija projektis.
Samm: ehitage mikrokontrolleri ahel
Jootke mikrokontrolleri plaat ja toitelüliti perma-proto plaadiks.
Ühendage päikeseenergia laadija väljund oma lüliti sisendiga, mille nimivõimsus peaks olema vähemalt 1 amprit.
Looge ja jootke leivaplaadi juhtmeühendused, mida on kirjeldatud ülaltoodud vooluahela skeemil (või vastavalt teie isikliku versiooni spetsifikatsioonidele), sealhulgas anduri andmeliini 10K tõmbetakistus.
Päikeseenergia laadija laadimispoldid tagavad 3,7 V aku, kui päikeseenergiat pole olemas, kuid toidetakse otse päikesepaneelilt, kui see on ühendatud ja päikesepaisteline. Seetõttu peab mikrokontroller taluma mitmesuguseid pingeid, nii madalaid kui 3,7V ja kuni 6V DC. Neile, kes vajavad 5 V, saab PowerBoosti (500 või 1000, sõltuvalt nõutavast voolust) kasutada koormuspinge 5 V -ks (nagu näidatud Solar USB Charger projektis). Siin on mõned tavalised tahvlid ja nende sisendpingevahemikud:
- NodeMCU ESP8266 (siin kasutatakse): 5V USB või 3,7V-10V Vin
- Arduino Uno: 5V USB või 7-12V Vin
- Adafruit Huzzah ESP8266 Breakout: 5V USB või 3,4-6V VBat
Pikima võimaliku aku tööea saavutamiseks peaksite võtma aega, et kaaluda ja optimeerida praegust vooluhulka. ESP8266 -l on sügava une funktsioon, mida kasutasime Arduino visandis, et selle energiatarbimist dramaatiliselt vähendada. See ärkab andurit lugema ja tõmbab võrguga ühenduse loomisel rohkem voolu, et anduri väärtusest teatada, seejärel lülitub määratud ajaks tagasi magama. Kui teie mikrokontroller võtab palju energiat ja seda ei saa kergesti magama panna, kaaluge oma projekti ülekandmist ühilduvale tahvlile, mis tarbib vähem energiat. Kui vajate abi, et teha kindlaks, milline tahvel võiks teie projekti jaoks sobida, esitage allolevates kommentaarides küsimus.
6. samm: paigaldage kaablitihendid
Päikesepaneelikaabli ja andurikaabli ilmastikukindlate sisenemiskohtade tegemiseks paigaldame ilmastikukindla korpuse küljele kaks kaablitihendit.
Katsetage oma osade sobivust ideaalse paigutuse kindlakstegemiseks, seejärel märkige ja puurige astmed külviku abil veekindlasse korpusele. Paigaldage kaks kaablitihendit.
Samm: viige vooluahela kokkupanek lõpule
Sisestage veekindla toitekaabli pordipool ühte ja jootke see päikeseenergia laadija alalisvoolu sisendisse (punane kuni + ja must kuni -).
Sisestage mullaandur läbi teise nääre ja ühendage see ühendusskeemi kohaselt perma-protoga.
Kleepige termistorisond aku külge. See piirab laadimist ohutule temperatuurivahemikule, kui projekt jääb väljastpoolt järelevalveta.
Liiga kuuma või külma laadimine võib akut kahjustada või tulekahju tekitada. Kokkupuude äärmuslike temperatuuridega võib kahjustada ja lühendada aku eluiga, nii et tooge see sisse, kui see on allapoole külma või üle 45 ℃.
Pingutage kaablitihendeid, et teha nende kaablite ümber ilmastikukindel tihend.
Samm: valmistage päikesepaneel ette
Järgige minu juhiseid, et ühendada päikesepaneeli kaabel veekindla alalisvoolukaablikomplekti pistiku küljega.
9. samm: testige seda
Ühendage aku vooluvõrku ja lülitage vooluahel sisse, vajutades toitelülitit.
Testige seda ja veenduge, et see teavitab Internetti enne korpuse sulgemist ja anduri paigaldamist oma ürdiaeda, vääris potitaime või muule mullale, mis asub teie WiFi -võrgu signaalivahemikus.
Kui andurilt saadud andmed on veebis sisse logitud, on API -lüüsi saidil If This Then That lihtne seadistada e -posti või tekstisõnumite retsept. Seadistasin oma, et see saadaks mulle e -kirja, kui mulla niiskus langeb alla 50.
Et seda testida ilma taime kuivamist ootamata, sisestasin käsitsi Adafruit IO niiskusesööda andmepunkti, mis langes allapoole läve. Mõni hetk hiljem saabub meil! Kui mullatase langeb alla minu määratud taseme, saadan maili iga kord, kui voogu uuendatakse, kuni ma mulda kastan. Terve mõistuse huvides uuendasin oma koodi, et proovida mulda palju harvemini kui iga 15 minuti järel.
Samm: kasutage seda väljaspool
See on lõbus projekt, mida saab kohandada vastavalt teie tehase hüdratsioonivajadustele, ning andureid on lihtne vahetada või lisada või päikeseenergia funktsioone teistesse Arduino projektidesse integreerida.
Aitäh, et jälgite! Mulle meeldiks kuulda teie arvamust; palun postitage kommentaaridesse. See projekt on osa minu tasuta päikeseklassist, kust leiate lihtsaid tagahooviprojekte ja rohkem õppetunde päikesepaneelidega töötamise kohta. Vaata järele ja registreeru!
Kui teile see projekt meeldib, võite olla huvitatud mõnest mu projektist:
- tasuta asjade Interneti klass
- YouTube'i tellijate loendur ESP8266 abil
- Sotsiaalse statistika jälgimise ekraan ESP8266 abil
- WiFi ilmateade ESP8266 abil
- Internet Valentine
Tööga kursis hoidmiseks jälgige mind YouTube'is, Instagramis, Twitteris, Pinterestis ja Snapchatis.
Soovitan:
DIY vere hapniku mõõtur: 5 sammu (piltidega)
DIY verehapniku mõõtur: aastal 2020 seisis maailm silmitsi nähtamatu koletisega, kelle nimi oli Corona Virus. See viirus tegi inimesed väga haigeks & nõrk. Paljud inimesed kaotasid oma head. Esialgu oli suur probleem, probleem oli sobivate meditsiiniseadmete, näiteks
DIY tahhomeeter (RPM -mõõtur): 5 sammu
Isetehtud tahhomeeter (RPM -meeter): Selles projektis näitan teile, kuidas 3 -eurone IR -kaugusandur töötab ja kuidas me saame selle abil ehitada korraliku DIY -tahhomeetri, mis töötab korralikult. Alustame
Helitaseme mõõtur taaskasutatud VFD -st: 7 sammu
Helitaseme mõõtja uuenenud VFD -lt: VFD - vaakumfluorestseeruvad kuvarid, omamoodi displeitehnoloogia dinosaurus, ikka päris kena ja lahe, võib leida paljudest vananenud ja tähelepanuta jäetud koduelektroonikaseadmetest. Kas viskame nad siis maha? Ei, me saame neid endiselt kasutada. See maksis natuke vaeva
Interneti kiiruse mõõtur: 4 sammu (koos piltidega)
Interneti kiiruse mõõtur: ülevaadeSee " Interneti kiirusemõõtja " annab teile peaaegu reaalajas järelevalve võrgukasutuse üle. See teave on saadaval enamiku koduste ruuterite veebiliideses. Sellele juurdepääsuks peate siiski oma praeguse ülesande peatama, et minna edasi
Tehke kaasaskantav digitaalne kõrguse mõõtur. Valmistatud TechShop Detroitis: 3 sammu (koos piltidega)
Tehke kaasaskantav digitaalne kõrguse mõõtur. Made in TechShop Detroit. See on ka väga kaasaskantav. Aeg -ajalt peaksime kasutama digitaalset kõrguse mõõturit. Lõin hiljuti 2 poolkerakujulist par