Sisukord:

Päikesemulla niiskuse mõõtur ESP8266 -ga: 10 sammu (piltidega)
Päikesemulla niiskuse mõõtur ESP8266 -ga: 10 sammu (piltidega)

Video: Päikesemulla niiskuse mõõtur ESP8266 -ga: 10 sammu (piltidega)

Video: Päikesemulla niiskuse mõõtur ESP8266 -ga: 10 sammu (piltidega)
Video: Hobilabor - Niiskuskindel mulla niiskuse andur 2024, November
Anonim

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

Mida vajate
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

Leivalaua prototüüp
Leivalaua 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.

Pilt
Pilt
Pilt
Pilt
Pilt
Pilt
Pilt
Pilt

Sel juhul on pinnaseanduril keermejuhtmed, mille külge oli vaja jootet, abikäsi ja mõnda termokahanevat toru ajutiselt kinnitada andurite juhtmete otstesse.

Pilt
Pilt

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

Tarkvara seadistamine
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.

Pilt
Pilt

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 laadimislaud ette
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

Ehitage mikrokontrolleri ahel
Ehitage mikrokontrolleri ahel
Pilt
Pilt
Pilt
Pilt

Jootke mikrokontrolleri plaat ja toitelüliti perma-proto plaadiks.

Pilt
Pilt

Ühendage päikeseenergia laadija väljund oma lüliti sisendiga, mille nimivõimsus peaks olema vähemalt 1 amprit.

Pilt
Pilt

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

Pilt
Pilt

Päikesepaneelikaabli ja andurikaabli ilmastikukindlate sisenemiskohtade tegemiseks paigaldame ilmastikukindla korpuse küljele kaks kaablitihendit.

Pilt
Pilt
Pilt
Pilt

Katsetage oma osade sobivust ideaalse paigutuse kindlakstegemiseks, seejärel märkige ja puurige astmed külviku abil veekindlasse korpusele. Paigaldage kaks kaablitihendit.

Pilt
Pilt

Samm: viige vooluahela kokkupanek lõpule

Viige vooluring kokku
Viige vooluring kokku

Sisestage veekindla toitekaabli pordipool ühte ja jootke see päikeseenergia laadija alalisvoolu sisendisse (punane kuni + ja must kuni -).

Pilt
Pilt

Sisestage mullaandur läbi teise nääre ja ühendage see ühendusskeemi kohaselt perma-protoga.

Pilt
Pilt

Kleepige termistorisond aku külge. See piirab laadimist ohutule temperatuurivahemikule, kui projekt jääb väljastpoolt järelevalveta.

Pilt
Pilt

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 ℃.

Pilt
Pilt

Pingutage kaablitihendeid, et teha nende kaablite ümber ilmastikukindel tihend.

Samm: valmistage päikesepaneel ette

Valmistage päikesepaneel ette
Valmistage päikesepaneel ette

Järgige minu juhiseid, et ühendada päikesepaneeli kaabel veekindla alalisvoolukaablikomplekti pistiku küljega.

9. samm: testige seda

Testige
Testige

Ühendage aku vooluvõrku ja lülitage vooluahel sisse, vajutades toitelülitit.

Pilt
Pilt

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.

Pilt
Pilt

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

Kasutage seda väljaspool!
Kasutage seda väljaspool!
Kasutage seda väljaspool!
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: