Mundarija:
- 1 -qadam: Sizga nima kerak
- 2 -qadam: Breadboard prototipi
- 3 -qadam: dasturiy ta'minotni sozlash
- 4 -qadam: Quyosh zaryadlovchi panelini tayyorlang
- 5 -qadam: Mikrokontroller sxemasini yarating
- 6 -qadam: Kabel shtutserlarini o'rnating
- 7 -qadam: O'chirish yig'ilishini to'liq bajarish
- 8 -qadam: Quyosh panelini tayyorlang
- 9 -qadam: Sinab ko'ring
- 10 -qadam: Uni tashqarida ishlating
Video: Quyoshli tuproq namligi o'lchagichi ESP8266: 10 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
Ushbu yo'riqnomada biz quyosh energiyasi bilan ishlaydigan tuproq namligi monitorini tayyorlaymiz. U past quvvatli kodli ESP8266 Wi -Fi mikrokontroleridan foydalanadi va hamma narsa suv o'tkazmaydigan qilib tashqarida qoldirilishi mumkin. Siz ushbu retseptga aniq amal qilishingiz yoki undan o'zingizning loyihangiz uchun foydali texnikani olishingiz mumkin.
Agar siz mikrokontroller dasturlashda yangi bo'lsangiz, simlarni ulash, kodlash va Internetga ulanish asoslari bilan tanishish uchun mening Arduino klassim va narsalar Interneti sinfini ko'rib chiqing.
Bu loyiha mening quyosh panelimning bir qismi bo'lib, unda siz gravür va quyosh panellari yordamida quyosh energiyasidan foydalanishning boshqa usullarini o'rganishingiz mumkin.
Men ishlayotgan narsadan xabardor bo'lish uchun meni YouTube, Instagram, Twitter, Pinterest -da kuzatib boring va mening axborot byulletenimga obuna bo'ling.
1 -qadam: Sizga nima kerak
Sizga quyosh batareyasini zaryadlovchi taxtasi va NodeMCU ESP8266 yoki Huzzah kabi ESP8266 uzilishi, shuningdek, tuproq sensori, batareya, quvvat tugmasi, bir nechta sim va zanjirni ichkariga kiritish uchun korpus kerak bo'ladi.
Tuproq namligini o'lchash uchun ishlatiladigan komponentlar va materiallar:
- ESP8266 NodeMCU mikrokontroller (yoki shunga o'xshash, Vin 6V gacha toqat qilishi kerak)
- Adafruit quyosh zaryadlovchi paneli ixtiyoriy termistor va 2,2K ohmli rezistorli
- 2200 mA / soat li-ionli batareya
- Perma-proto taxtasi
- Tuproq namligi/harorat sensori
- 2 ta kabel shnuri
- Suv o'tkazmaydigan korpus
- Suv o'tkazmaydigan shahar quvvat kabeli juftligi
- Issiqlikka chidamli quvurlar
- 3,5 Vt quyosh paneli
- Quvvat tugmachasini bosing
- Ikkita tayoqli ko'pikli lenta
Mana sizga kerak bo'lgan vositalar:
- Lehimlash temir va lehim
- Qo'llarga yordam beradigan vosita
- Tel -chiziqlar
- Yong'oqlarni yuving
- Cımbızlar (ixtiyoriy)
- Issiq qurol yoki engilroq
- Multimetr (ixtiyoriy, lekin muammolarni bartaraf etish uchun qulay)
- USB A-microB kabeli
- Qaychi
- Bosqichli matkap
Sizga io.adafruit.com va IFTTT bulutli ma'lumotlar saytlarida bepul hisoblar kerak bo'ladi.
Amazon Associate sifatida men sheriklik havolalarim orqali qilgan xaridlaringizdan daromad olaman.
2 -qadam: Breadboard prototipi
Bu kabi loyihalar uchun lehimsiz non taxtasi prototipini yaratish juda muhim, shuning uchun doimiy ulanishdan oldin sensoringiz va kodingiz ishlayotganiga ishonch hosil qilishingiz mumkin.
Bu holda, tuproq sensori simlari yopiq bo'lib qolgan, shuning uchun lehim, yordam qo'llari va ba'zi issiqlik qisqaruvchi quvurlar yordamida sensorli simlarning uchlariga vaqtincha qattiq sarlavhalarni biriktirish kerak edi.
Sensorning quvvatini, erni, soatni va ma'lumot pinlarini ulash uchun elektron sxemaga amal qiling (shuningdek, ma'lumotlar tuproq sensori bilan birga keladigan 10K tortish qarshiligini oladi).
- Sensorli yashil sim GND ga
- Sensorli qizil sim 3.3V
- Sensor sariq sim NodeMCU pin D5 (GPIO 14)
- Sensorli ko'k sim NodeMCU pin D6 (GPIO 12)
- Ko'k ma'lumot pimi va 3.3V orasidagi 10K tortishish qarshiligi
Siz buni o'zingiz yoqtirgan mikrokontrollerga tarjima qilishingiz mumkin. Agar siz Arduino Uno yoki shunga o'xshashlardan foydalansangiz, sizning taxtangiz Arduino dasturi tomonidan qo'llab -quvvatlanadi. Agar siz ESP8266-dan foydalanayotgan bo'lsangiz, iltimos, Arduino-da ESP8266-ni o'rnatish bo'yicha bosqichma-bosqich yordam olish uchun "Internet-narsalar sinfi" ga qarang (Arduino-ning afzal ko'rgan Qo'shimcha taxtalar menejeri URL-lari maydoniga qo'shimcha URL-lar qo'shib, keyin taxtalar menejeridan yangi taxtalarni tanlash). Men NodeMCU ESP8266 kartasini dasturlash uchun Adafruit ESP8266 Huzzah taxtasi turidan foydalanishga moyilman, lekin siz Umumiy ESP8266 karta tayanchini o'rnatishingiz va ishlatishingiz mumkin. Shuningdek, sizga SiLabs USB aloqa chip drayveri kerak bo'ladi (Mac/Windows/Linux uchun mavjud).
Sensorni Arduino-ga mos keladigan kartam bilan ishga tushirish uchun men SHT1x Arduino kutubxonasini Practical Arduino github sahifasidan yukladim, keyin faylni ochdim va kutubxona papkasini Arduino/libraries papkasiga ko'chirdim, so'ng uni SHT1x deb o'zgartirdim. ReadSHT1xValues eskizini oching va pin raqamlarini 12 (dataPin) va 14 (clockPin) ga o'zgartiring yoki o'zgartirilgan eskizni bu erdan nusxa ko'chiring:
#qo'shing
#Define dataPin 12 // NodeMCU pin D6 #clockPin 14 ni belgilang // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // SHT1x ob'ektining bo'sh joyini sozlash () {Serial.begin (38400); // Serial.println xostiga qiymatlar haqida xabar berish uchun ketma -ket ulanishni oching ("Ishga tushadi"); } void loop () {float temp_c; float temp_f; namlik namligi; temp_c = sht1x.readTemperatureC (); // Sensorlardan qiymatlarni o'qing temp_f = sht1x.readTemperatureF (); namlik = sht1x.readHumidity (); Serial.print ("Harorat:"); // Serial.print (temp_c, DEC) ketma -ket portiga qiymatlarni chop eting; Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Namlik:"); Ketma -ket bosma (namlik); Serial.println ("%"); kechikish (2000); }
Sensorli ma'lumotlar oqimini ko'rish uchun ushbu kodni taxtangizga yuklang va ketma -ket monitorni oching.
Agar sizning kodingiz kompilyatsiya qilinmasa va SHT1x.h topilmayotganidan shikoyat qilsa, kerakli sensor kutubxonasi to'g'ri o'rnatilmagan. Arduino/kutubxonalar papkasini SHT1x deb nomlanganini tekshiring va agar u boshqa joyda bo'lsa, yuklamalar papkasida bo'lgani kabi, uni Arduino kutubxonalari papkasiga o'tkazing va agar kerak bo'lsa, uning nomini o'zgartiring.
Agar sizning kodingiz kompilyatsiya qilinsa, lekin u sizning taxtangizga yuklanmasa, karta sozlamalarini ikki marta tekshiring, taxtangiz ulanganligiga ishonch hosil qiling va Asboblar menyusidan to'g'ri portni tanlang.
Agar sizning kodingiz yuklansa, lekin sizning ketma -ket monitoringiz tanib bo'lmaydigan bo'lsa, eskizda ko'rsatilgan (bu holda 38400) tezlikni mos kelishini ikki marta tekshiring.
Agar sizning ketma -ket monitoringiz to'g'ri ko'rinmasa, simni elektron sxemaga muvofiq tekshiring. Sizning 10K tortishish qarshiligi ma'lumotlar pinasi va 3.3V o'rtasida joylashganmi? Ma'lumot va soat to'g'ri pinlarga ulanganmi? Quvvat va topraklama butun sxema bo'yicha ulanganmi? Ushbu oddiy eskiz ishlamaguncha davom etmang!
Keyingi qadam ESP8266 -ga xos bo'lib, namunaviy loyihaning simsiz sensorlar bo'yicha ixtiyoriy hisobot qismini sozlaydi. Agar siz standart (simsiz) Arduino-ga mos keladigan mikrokontrollerdan foydalansangiz, Arduino-ning yakuniy eskizini ishlab chiqishda davom eting va Quyosh zaryadlovchi platasini tayyorlashga o'ting.
3 -qadam: dasturiy ta'minotni sozlash
Ushbu loyihaning kodini ESP8266 bilan kompilyatsiya qilish uchun siz yana bir nechta Arduino kutubxonalarini o'rnatishingiz kerak bo'ladi (kutubxona menejeri orqali mavjud):
- Adafruit IO Arduino
- Adafruit MQTT
- ArduinoHttpClient
Ushbu qadamga biriktirilgan kodni yuklab oling, so'ngra faylni oching va Arduino dasturida Solar_Powered_Soil_Moisture_Monitor_Tutorial -ni oching.
#qo'shing
#include #include #include #include // Ma'lumotlar va soat ulanishlarini ko'rsating va SHT1x ob'ektini o'rnating #dataPin 12 ni belgilang // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // tasmani sozlash AdafruitIO_Feed *namlik = io.feed ("namlik"); AdafruitIO_Feed *harorat = io.feed ("harorat"); const int sleepTime = 15; // 15 daqiqa
bo'sh o'rnatish ()
{Serial.begin (115200); // Serial.println xostiga qiymatlar haqida xabar berish uchun ketma -ket ulanishni oching ("Ishga tushadi"); // io.adafruit.com saytiga ulanish Serial.print ("Adafruit IO ga ulanish"); io.connect (); // ulanishni kuting (io.status () <AIO_CONNECTED) {Serial.print ("."); kechikish (500); } // biz bog'langanmiz Serial.println (); Serial.println (io.statusText ()); }
bo'sh halqa ()
{io.run (); // io.run (); mijozni bog'lab turadi va barcha eskizlar uchun talab qilinadi. float temp_c; float temp_f; suzuvchi namlik; temp_c = sht1x.readTemperatureC (); // Sensorlardan qiymatlarni o'qing temp_f = sht1x.readTemperatureF (); namlik = sht1x.readHumidity (); Serial.print ("Harorat:"); // Serial.print (temp_c, DEC) ketma -ket portiga qiymatlarni chop eting; Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Namlik:"); Ketma -ket bosma (namlik); Serial.println ("%"); namlik-> tejash (namlik); harorat-> saqlash (temp_f); Serial.println ("ESP8266 uxlayapti …"); ESP.deepSleep (sleepTime * 1000000 * 60); // Uyqu}
Bu kod - bu darslikdagi sensor kodining yig'indisi va Adafruit IO bulutli ma'lumotlar xizmatining asosiy misoli. Dastur kam quvvatli rejimga o'tadi va ko'pincha uxlaydi, lekin har 15 daqiqada uyg'onib, tuproqning harorati va namligini o'qiydi va o'z ma'lumotlarini Adafruit IO ga xabar qiladi. Config.h yorlig'iga o'ting va Adafruit IO foydalanuvchi nomi va kalitini, shuningdek mahalliy Wi -Fi tarmog'ining nomi va parolini to'ldiring, so'ngra kodni ESP8266 mikrokontrolleriga yuklang.
Siz io.adafruit.com saytida biroz tayyorgarlik ko'rishingiz kerak bo'ladi. Harorat va namlik uchun tasmalarni yaratgandan so'ng, siz monitor uchun asboblar panelini yaratishingiz mumkin, unda sensor qiymatlari grafigi va kiruvchi ma'lumotlar ma'lumotlari ko'rsatiladi. Agar sizga Adafruit IO bilan ishlashni yangilash kerak bo'lsa, ushbu darsni Internetdagi narsalar sinfida o'qing.
4 -qadam: Quyosh zaryadlovchi panelini tayyorlang
Quyosh zaryadlovchi taxtasini kondansatör va ba'zi simlarni yuklash joylariga lehimlab tayyorlang. Men o'zimning ixtiyoriy qo'shimcha rezistor bilan tezroq zaryadlashni sozlayman (2.2K PROG bo'ylab lehimlangan) va sirtdan o'rnatish rezistorini batareyaning o'ziga o'rnatilgan 10K termistor bilan almashtirish orqali qarovsiz qoldirishni xavfsizroq qilaman. Bu zaryadlashni xavfsiz harorat oralig'ida cheklaydi. Men bu o'zgartirishlarni Quyosh USB zaryadlovchi loyihamda batafsilroq yoritganman.
5 -qadam: Mikrokontroller sxemasini yarating
Mikrokontroller platasini lehimlang va quvvat kalitini perma-proto kartaga ulang.
Quyosh zaryadlovchi qurilmasining quvvat manbaini kalitingizning kirishiga ulang, u kamida 1 amperga baholanishi kerak.
Sensor ma'lumot liniyasidagi 10K tortish qarshiligini o'z ichiga olgan yuqoridagi sxemada tasvirlangan (yoki shaxsiy versiyangizning spetsifikatsiyasiga ko'ra) simli simli ulanishlarni yarating va lehimlang.
Quyosh zaryadlovchisining yuk pinlari quyosh energiyasi yo'q bo'lganda 3.7V batareya quvvatini beradi, lekin u quyosh panelidan ulangan va quyoshli bo'lsa to'g'ridan -to'g'ri quvvatlanadi. Shuning uchun mikrokontroller 3,7V va 6V DCgacha bo'lgan turli xil kuchlanishlarga toqat qilishi kerak. 5V ga muhtoj bo'lganlar uchun, yuklanish kuchlanishini 5V ga o'zgartirish uchun PowerBoost (500 yoki 1000) ishlatilishi mumkin (Quyosh USB zaryadlovchi qurilmasi loyihasida ko'rsatilganidek). Bu erda bir nechta kengashlar va ularning kirish kuchlanish diapazoni:
- NodeMCU ESP8266 (bu erda ishlatiladi): 5V USB yoki 3.7V-10V Vin
- Arduino Uno: 5V USB yoki 7-12V Vin
- Adafruit Huzzah ESP8266 uzilishi: 5V USB yoki 3.4-6V VBat
Batareyaning maksimal ishlash muddatiga erishish uchun siz hozirgi oqimning umumiy oqimini ko'rib chiqish va optimallashtirish uchun biroz vaqt ajratishingiz kerak. ESP8266 chuqur uyqu xususiyatiga ega, biz Arduino eskizida uning quvvat sarfini keskin kamaytirdik. U sensorni o'qish uchun uyg'onadi va tarmoqqa ulanib, sensorning qiymati haqida xabar beradi, keyin esa ma'lum vaqt uxlab qoladi. Agar sizning mikrokontroleringiz juda ko'p kuch sarflasa va uxlab qololmasa, loyihangizni kamroq quvvat sarflaydigan mos keladigan taxtaga o'tkazishni o'ylab ko'ring. Agar sizning loyihangiz uchun qaysi taxtaga mos kelishini aniqlashga yordam kerak bo'lsa, quyidagi izohlarda savol qoldiring.
6 -qadam: Kabel shtutserlarini o'rnating
Quyosh panelli simi va datchik kabeli uchun ob -havoga chidamli kirish nuqtalarini yaratish uchun biz ob -havoga chidamli korpusning yon tomoniga ikkita simi gipsini o'rnatamiz.
Ideal joylashishni aniqlash uchun sizning komponentlaringizga mos keladigan testni o'tkazing, so'ngra suv o'tkazmaydigan korpusda qadamli matkap yordamida teshiklarni belgilang va burg'ulang. Ikkita simi shamshirini o'rnating.
7 -qadam: O'chirish yig'ilishini to'liq bajarish
Suv o'tkazmaydigan quvvat kabelining port tomonini biriga joylashtiring va uni quyosh zaryadlovchining doimiy oqimiga lehimlang (qizil - + qora - -).
Tuproq sensorini boshqa bez orqali joylashtiring va uni sxemaga muvofiq perma-protoga ulang.
Termistor zondini batareyaga yopishtiring. Bu zaryadlashni xavfsiz harorat oralig'ida cheklaydi, loyiha tashqarida qarovsiz qoldiriladi.
Juda issiq yoki juda sovuq holatda zaryadlash batareyaga zarar etkazishi yoki yong'in chiqishiga olib kelishi mumkin. Haddan tashqari harorat ta'sir qilish batareyaning ishlash muddatini qisqartirishi va shikastlanishiga olib kelishi mumkin, shuning uchun muzlashdan past yoki 45 ℃/113F dan yuqori bo'lsa, uni ichkariga olib kiring.
Tegishli kabellar atrofida ob -havoga chidamli muhr qo'yish uchun simi shtutserlarini mahkamlang.
8 -qadam: Quyosh panelini tayyorlang
Quyosh panelingiz uchun kabelni suv o'tkazmaydigan shahar quvvat kabelining vilkasi bilan ulash uchun Mening yo'riqnomamga amal qiling.
9 -qadam: Sinab ko'ring
Batareyangizni rozetkaga ulang va quvvat tugmachasini bosib kontaktni yoqing.
Sinab ko'ring va u Wi -Fi tarmog'ining signal diapazonidagi o'tlarni, qimmatbaho qozonli o'simliklarni yoki boshqa tuproqni yopmasdan va sensori o'rnatmasdan oldin Internetga xabar berishiga ishonch hosil qiling.
Sensordan olingan ma'lumotlar Internetga kiritilgandan so'ng, API shlyuzi saytida elektron pochta yoki matnli ogohlantirishlar uchun retseptni sozlash oson bo'lsa. Agar men tuproq namligi 50 darajadan pastga tushsa, menga elektron pochta orqali xabar yuborish uchun konfiguratsiya qildim.
O'simlik qurib qolguncha kutib o'tirmasdan sinab ko'rish uchun, men chegara ostiga tushgan Adafruit IO -dagi namlik ozuqa ma'lumotlarini qo'lda kiritdim. Bir necha daqiqadan so'ng, elektron pochta keladi! Agar tuproq sathi men ko'rsatgan darajadan past bo'lsa, men har safar sug'orilguncha ozuqa yangilanib turganda elektron pochta xabarini olaman. Aql -idrok uchun men har 15 daqiqada tuproqni namuna olish uchun o'z kodimni yangiladim.
10 -qadam: Uni tashqarida ishlating
Bu sizning zavodingizning gidratlanish ehtiyojlariga qarab sozlash uchun qiziqarli loyiha, uni almashtirish yoki sensorlarni qo'shish yoki boshqa Arduino loyihalariga quyosh energiyasi xususiyatlarini qo'shish oson.
Kuzatganingiz uchun tashakkur! Men sizning fikringizni eshitishni istardim; Iltimos, izohlarda yozing. Bu loyiha mening bepul quyosh sinfimning bir qismidir, u erda siz hovlidagi oson loyihalarni va quyosh panellari bilan ishlash bo'yicha boshqa darslarni topishingiz mumkin. Tekshiring va ro'yxatdan o'ting!
Agar sizga ushbu loyiha yoqsa, siz mening ba'zi loyihalarimga qiziqishingiz mumkin:
- narsalar Internet bepul sinf
- ESP8266 bilan YouTube obunachilari hisoblagichi
- ESP8266 bilan ijtimoiy statistikani kuzatuvchi displeyi
- ESP8266 bilan WiFi ob -havo ko'rsatkichi
- Sevishganlar uchun Internet
Men ishlayotgan narsadan xabardor bo'lish uchun meni YouTube, Instagram, Twitter, Pinterest va Snapchat -da kuzatib boring.
Tavsiya:
Oddiy IoT harorati va namligi o'lchagichi: 5 qadam (rasmlar bilan)
Oddiy IoT harorati va namligi o'lchagichi: Oddiy IoT harorati va namligi o'lchagichi sizga harorat, namlik va issiqlik indekslarini yig'ish imkonini beradi. Keyin ularni Adafruit IO ga yuboring
Menyu bilan Arduino DHT22 sensori va tuproq namligi loyihasi: 4 qadam
Menyu bilan Arduino DHT22 sensori va tuproq namligi loyihasi: Salom bolalar bugun men sizlarga ko'rsatuvlar bo'yicha ikkinchi loyihamni taqdim etaman. Bu loyihada men namlik va namlikni o'lchash uchun ishlatiladigan namlik sensori va DHT22 sensori ishlatilgan birinchi loyihamni taqdim etaman. . Bu loyiha
Tuproq namligi sensori Arduino 7 segmentli displey: 4 qadam (rasmlar bilan)
Tuproq namligi sensori Arduino 7 segmentli displey: Salom! Karantin qiyin bo'lishi mumkin. Men baxtliman, kichkina hovli va uyda mo'l -ko'l o'simliklar bor va bu meni uyda qolib, ularga g'amxo'rlik qilishimga yordam beradigan kichik asbob yasashim mumkin, deb o'yladim. Bu loyiha oddiy va funktsional
Suv o'tkazmaydigan sig'im tuproq namligi sensori: 11 qadam (rasmlar bilan)
Tuproq namligini o'lchash datchiklari: Arduino, ESP32 yoki boshqa mikrokontroller yordamida sig'imli o'simliklar, bog 'yoki issiqxonalarda tuproq suvining holatini kuzatishning ajoyib usuli. Ular DIY loyihalarida tez -tez ishlatiladigan qarshilik problaridan ustundir. Qarang
Tuproq namligi sensori sinov rejasi: 6 qadam (rasmlar bilan)
Tuproq namligi sensori sinov rejasi: Challenge: Tuproq ho'l bo'lganda QIZIL LEDni, tuproq quruq bo'lganda Yashil LEDni yoqadigan rejani tuzing va bajaring. Tuproq namligi sensori ishlatishni o'z ichiga oladi. Maqsad: Bu ko'rsatmaning maqsadi yomg'ir yog'ganmi yoki o'simlikmi