Mundarija:

Quyoshli tuproq namligi o'lchagichi ESP8266: 10 qadam (rasmlar bilan)
Quyoshli tuproq namligi o'lchagichi ESP8266: 10 qadam (rasmlar bilan)

Video: Quyoshli tuproq namligi o'lchagichi ESP8266: 10 qadam (rasmlar bilan)

Video: Quyoshli tuproq namligi o'lchagichi ESP8266: 10 qadam (rasmlar bilan)
Video: Tuproq tarkibidagi gigroskopik namlik miqdorini aniqlash 2024, Iyul
Anonim

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 nima kerak bo'ladi
Sizga nima kerak bo'ladi

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

Breadboard prototipi
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.

Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm

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.

Rasm
Rasm

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

Dasturiy ta'minotni sozlash
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.

Rasm
Rasm

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 panelini tayyorlang
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 sxemasini yarating
Mikrokontroller sxemasini yarating
Rasm
Rasm
Rasm
Rasm

Mikrokontroller platasini lehimlang va quvvat kalitini perma-proto kartaga ulang.

Rasm
Rasm

Quyosh zaryadlovchi qurilmasining quvvat manbaini kalitingizning kirishiga ulang, u kamida 1 amperga baholanishi kerak.

Rasm
Rasm

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

Rasm
Rasm

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.

Rasm
Rasm
Rasm
Rasm

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.

Rasm
Rasm

7 -qadam: O'chirish yig'ilishini to'liq bajarish

To'liq elektron yig'ish
To'liq elektron yig'ish

Suv o'tkazmaydigan quvvat kabelining port tomonini biriga joylashtiring va uni quyosh zaryadlovchining doimiy oqimiga lehimlang (qizil - + qora - -).

Rasm
Rasm

Tuproq sensorini boshqa bez orqali joylashtiring va uni sxemaga muvofiq perma-protoga ulang.

Rasm
Rasm

Termistor zondini batareyaga yopishtiring. Bu zaryadlashni xavfsiz harorat oralig'ida cheklaydi, loyiha tashqarida qarovsiz qoldiriladi.

Rasm
Rasm

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.

Rasm
Rasm

Tegishli kabellar atrofida ob -havoga chidamli muhr qo'yish uchun simi shtutserlarini mahkamlang.

8 -qadam: Quyosh panelini tayyorlang

Quyosh panelini tayyorlang
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

Sinab ko'ring
Sinab ko'ring

Batareyangizni rozetkaga ulang va quvvat tugmachasini bosib kontaktni yoqing.

Rasm
Rasm

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.

Rasm
Rasm

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

Tashqarida qo'llang!
Tashqarida qo'llang!
Tashqarida qo'llang!
Tashqarida qo'llang!

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: