Агуулгын хүснэгт:

ESP8266 нарны хөрсний чийгшил хэмжигч: 10 алхам (зурагтай)
ESP8266 нарны хөрсний чийгшил хэмжигч: 10 алхам (зурагтай)

Видео: ESP8266 нарны хөрсний чийгшил хэмжигч: 10 алхам (зурагтай)

Видео: ESP8266 нарны хөрсний чийгшил хэмжигч: 10 алхам (зурагтай)
Видео: TUYA | Лайфхаки| ВОЗДУШНЫЙ ТЕПЛОВОЙ НАСОС 2024, Долдугаар сарын
Anonim

Энэхүү зааварчилгаанд бид нарны эрчим хүчээр ажилладаг хөрсний чийгийн хяналт хийдэг. Энэ нь ESP8266 wifi микроконтроллерийг ашигладаг бөгөөд бага чадлын кодтой, ус нэвтэрдэггүй тул гадуур үлдээж болно. Та энэ жорыг яг дагаж мөрдөх эсвэл өөрийн төсөлд хэрэгтэй техникийг ашиглаж болно.

Хэрэв та микроконтроллер програмчлалын чиглэлээр анхлан суралцаж байгаа бол миний Arduino Class болон Internet of Things ангийн ангиудыг үзээд утас холбох, кодлох, интернетэд холбогдох үндсэн мэдлэгтэй танилцана уу.

Энэхүү төсөл нь нарны эрчим хүчийг үнэгүй ашиглах ангийн нэг хэсэг бөгөөд та нар сийлбэр, нарны хавтангаар нарны энергийг хэрхэн ашиглах талаар илүү ихийг мэдэж болно.

Миний хийж буй зүйлээс хоцрохгүйн тулд YouTube, Instagram, Twitter, Pinterest дээр намайг дагаж, мэдээллийн хуудсаа захиалаарай.

Алхам 1: Танд хэрэгтэй зүйл

Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл

Танд нарны батерейг цэнэглэх самбар, NodeMCU ESP8266 эсвэл Huzzah гэх мэт ESP8266 таслагч, хөрсний мэдрэгч, зай, тэжээлийн унтраалга, зарим утас, хашлага хэрэгтэй болно.

Хөрсний чийгийг хянах зориулалттай эд анги, материалыг энд харуулав.

  • ESP8266 NodeMCU микроконтроллер (эсвэл үүнтэй төстэй, Вин 6В хүртэл тэсвэрлэх ёстой)
  • Нэмэлт термистор ба 2.2K ом эсэргүүцэлтэй Adafruit нарны цэнэглэх самбар
  • 2200mAh ли-ион батерей
  • Perma-proto самбар
  • Хөрсний чийг/температур мэдрэгч
  • 2 кабелийн хавчаар
  • Усны хамгаалалттай хашлага
  • Усны хамгаалалттай DC цахилгаан кабель хос
  • Дулаан багасгах хоолой
  • 3.5W нарны хавтан
  • Товчлуурын цахилгаан унтраалга
  • Давхар модон хөөс соронзон хальс

Танд хэрэгтэй хэрэгслүүд энд байна:

  • Гагнуурын төмөр ба гагнуур
  • Туслах гар хэрэгсэл
  • Утас хуулагч
  • Хонхыг зайлуулах
  • Хясаа (заавал биш)
  • Дулааны буу эсвэл асаагуур
  • Мультиметр (заавал биш боловч алдааг олж засварлахад тохиромжтой)
  • USB A-microB кабель
  • Хайч
  • Алхам өрөмдлөг

Танд io.adafruit.com болон IFTTT үүлэн мэдээллийн сайтууд дээр үнэгүй данс хэрэгтэй болно.

Амазоны Associate -ийн хувьд та миний түншлэлийн холбоосыг ашиглан хийсэн худалдан авалтаас олдог.

Алхам 2: Breadboard прототип

Breadboard прототип
Breadboard прототип

Ийм төслүүдийн хувьд гагнуургүй талхны хавтангийн загварыг бий болгох нь чухал бөгөөд ингэснээр та байнгын холболт хийхээс өмнө мэдрэгч болон код ажиллаж байгаа эсэхийг шалгаж болно.

Зураг
Зураг
Зураг
Зураг
Зураг
Зураг
Зураг
Зураг

Энэ тохиолдолд хөрсний мэдрэгч нь утастай утаснуудтай тул гагнуур, туслах гар, дулааныг багасгах хоолой ашиглан мэдрэгч утасны төгсгөлд хатуу толгойг түр зуур холбох шаардлагатай болсон.

Зураг
Зураг

Мэдрэгчийн хүч, газардуулга, цаг, өгөгдлийн зүүг залгахын тулд хэлхээний диаграмыг дагана уу (өгөгдөл нь хөрсний мэдрэгчтэй хамт ирдэг 10K татах эсэргүүцэлтэй болно).

  • GND -ийн ногоон утас мэдрэгч
  • 3.3V хүчдэлийн улаан утас
  • Мэдрэгч шар утас NodeMCU зүү D5 (GPIO 14)
  • Мэдрэгч цэнхэр утас NodeMCU зүү D6 (GPIO 12)
  • Цэнхэр өгөгдлийн зүү ба 3.3V хоорондох 10K татах эсэргүүцэл

Та үүнийг дуртай микроконтроллер руу орчуулж болно. Хэрэв та Arduino Uno эсвэл үүнтэй төстэй зүйлийг ашиглаж байгаа бол таны самбарыг Arduino програм хангамж аль хэдийн дэмждэг. Хэрэв та ESP8266-ийг ашиглаж байгаа бол Arduino-д ESP8266-ийг тохируулах талаар алхам алхмаар туслалцаа авахын тулд миний зүйлсийн интернетийг шалгаарай (Arduino-ийн тохиргоонд байдаг нэмэлт самбаруудын менежерийн URL-ийн талбарт нэмэлт URL-уудыг нэмж оруулаад, дараа нь хайж олох, самбарын менежерээс шинэ самбар сонгох). Би Adafruit ESP8266 Huzzah хавтангийн төрлийг NodeMCU ESP8266 самбарыг програмчлахад ашигладаг боловч та ерөнхий ESP8266 хавтангийн дэмжлэгийг суулгаж ашиглаж болно. Танд SiLabs USB холбооны чип драйвер хэрэгтэй болно (Mac/Windows/Linux -д ашиглах боломжтой).

Мэдрэгчийг Arduino-тэй нийцтэй хавтангаар ажиллуулахын тулд би SHT1x Arduino номын санг Практик Ардуиногийн github хуудаснаас татаж аваад файлыг задалж, номын сангийн хавтсыг миний Arduino/libraries фолдер руу зөөж, дараа нь SHT1x гэж нэрлэв. ReadSHT1xValues жишээг нээгээд зүү дугаарыг 12 (dataPin) ба 14 (clockPin) болгон өөрчилнө үү эсвэл өөрчилсөн ноорогоо эндээс хуулж авна уу.

#оруулах

#өгөгдлийн зүү 12 -ийг тодорхойлох // NodeMCU зүү D6 #цагны зүү 14 -ийг тодорхойлох // NodeMCU зүү D5 SHT1x sht1x (dataPin, clockPin); // instantiate SHT1x object void setup () {Serial.begin (38400); // Serial.println ("Эхлэх") хост дахь утгыг мэдээлэхийн тулд цуваа холболтыг нээнэ үү; } void loop () {float temp_c; хөвөх temp_f; хөвөх чийгшил; temp_c = sht1x.readTemperatureC (); // Мэдрэгчээс температурыг уншина уу temp_f = sht1x.readTemperatureF (); чийгшил = sht1x.readHumidity (); Serial.print ("Температур:"); // утгуудыг Serial.print (temp_c, DEC) цуваа порт руу хэвлэх; Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Чийгшил:"); Цуврал хэвлэх (чийгшил); Serial.println ("%"); саатал (2000); }

Энэ кодыг самбартаа оруулаад цувралын дэлгэцийг нээгээд мэдрэгчийн өгөгдлийн урсгалыг харах боломжтой болно.

Хэрэв таны код хөрвүүлэгдэхгүй бөгөөд SHT1x.h олдохгүй байна гэж гомдоллож байвал танд шаардлагатай мэдрэгчийн номын санг зөв суулгаагүй байна. Arduino/libraries фолдероо SHT1x нэртэй хавтаснаас шалгаарай, хэрэв өөр газар байгаа бол татаж авах хавтас шиг Arduino номын сангийн фолдер руу зөөж, шаардлагатай бол нэрийг нь өөрчил.

Хэрэв таны кодыг эмхэтгэсэн боловч самбар дээр байршуулахгүй бол самбарын тохиргоог дахин шалгаж, самбараа залгасан эсэхээ шалгаад Tools цэснээс зөв портыг сонгоно уу.

Хэрэв таны код байршуулагдаж байгаа боловч таны цуваа дэлгэцийн оролт танигдах боломжгүй бол зурган дээр заасан (энэ тохиолдолд 38400) өгөгдөл дамжуулах түвшинг дахин шалгана уу.

Хэрэв таны цуваа дэлгэцийн оролт зөв биш санагдаж байвал хэлхээний диаграмын дагуу утсаа дахин шалгаарай. Таны 10K татах эсэргүүцэл нь өгөгдлийн зүү ба 3.3V хооронд байрладаг уу? Өгөгдөл, цагийг зөв зүүгээр холбосон уу? Эрчим хүч ба газардуулга нь хэлхээний туршид байх ёстой шиг холбогдсон уу? Энэхүү энгийн ноорог ажиллах хүртэл бүү үргэлжлүүлээрэй!

Дараагийн алхам нь ESP8266 -д хамаарах бөгөөд дээжийн төслийн нэмэлт утасгүй мэдрэгчийн тайлагнах хэсгийг тохируулна. Хэрэв та стандарт (утасгүй) Arduino-тэй нийцтэй микроконтроллер ашиглаж байгаа бол Arduino-ийн эцсийн зургаа үргэлжлүүлэн боловсруулж, нарны цэнэглэх самбарыг бэлтгэх хэсэгт очно уу.

Алхам 3: Програм хангамжийн тохиргоо

Програм хангамжийн тохиргоо
Програм хангамжийн тохиргоо

Энэхүү төслийн кодыг ESP8266 ашиглан эмхэтгэхийн тулд та хэд хэдэн Arduino номын санг суулгах шаардлагатай болно (номын сангийн менежерээр дамжуулан авах боломжтой):

  • Adafruit IO Arduino
  • Adafruit MQTT
  • ArduinoHttpClient

Энэ алхамд хавсаргасан кодыг татаж аваад файлыг задалж, Arduino програм дээрээ Solar_Powered_Soil_Moisture_Monitor_Tutorial -ийг нээнэ үү.

#оруулах

#include #include #include #include // Өгөгдөл ба цагийн холболтыг зааж өгөөд SHT1x объектыг үүсгээрэй #өгөгдлийнPin 12 -ийг тодорхойлно // NodeMCU pin D6 #define clockPin 14 // NodeMCU pin D5 SHT1x sht1x (dataPin, clockPin); // тэжээлийг тохируулах AdafruitIO_Feed *чийгшил = io.feed ("чийгшил"); AdafruitIO_Feed *температур = io.feed ("температур"); const int sleepTime = 15; // 15 минут

хүчингүй тохиргоо ()

{Serial.begin (115200); // Serial.println ("Эхлэх") хост дахь утгыг мэдээлэхийн тулд цуваа холболтыг нээнэ үү; // io.adafruit.com руу холбогдох Serial.print ("Adafruit IO руу холбогдох"); io.connect (); // холболтыг хүлээх (io.status () <AIO_CONNECTED) {Serial.print ("."); саатал (500); } // бид холбогдсон байна Serial.println (); Serial.println (io.statusText ()); }

хоосон давталт ()

{io.run (); // io.run (); Үйлчлүүлэгчийг байнга холбоотой байлгадаг бөгөөд бүх зураг зурахад шаардлагатай байдаг. float temp_c; хөвөх temp_f; хөвөх чийг; temp_c = sht1x.readTemperatureC (); // Мэдрэгчээс температурыг уншина уу temp_f = sht1x.readTemperatureF (); чийг = sht1x.readHumidity (); Serial.print ("Температур:"); // утгуудыг Serial.print (temp_c, DEC) цуваа порт руу хэвлэх; Serial.print ("C /"); Serial.print (temp_f, DEC); Serial.print ("F. Чийгшил:"); Цуваа.хэв (чийг); Serial.println ("%"); чийгшил-> хэмнэх (чийг); температур-> хэмнэх (temp_f); Serial.println ("ESP8266 унтаж байна …"); ESP.deepSleep (sleepTime * 1000000 * 60); // Унтах}

Энэ код нь энэ гарын авлагад дурдсан мэдрэгчийн кодын нэгдэл бөгөөд үүл мэдээллийн үйлчилгээний Adafruit IO -ийн үндсэн жишээ юм. Хөтөлбөр нь бага чадлын горимд орж, ихэнх цагаар унтдаг боловч 15 минут тутамд сэрж хөрсний температур, чийгшлийг уншиж, өгөгдлөө Adafruit IO -д мэдээлдэг. Config.h таб руу очоод Adafruit IO хэрэглэгчийн нэр, түлхүүр, өөрийн дотоод сүлжээний сүлжээний нэр, нууц үгээ оруулаад ESP8266 микроконтроллерт кодоо оруулна уу.

Зураг
Зураг

Та io.adafruit.com дээр жаахан бэлтгэл хийх хэрэгтэй болно. Температур, чийгшлийн тэжээлийг бий болгосны дараа та мэдрэгчийн утга болон ирж буй тэжээлийн өгөгдлийг хоёуланг нь агуулсан дэлгэцийн хяналтын самбар үүсгэж болно. Хэрэв танд Adafruit IO -ийг эхлүүлэх талаар дахин мэдээлэл авах шаардлагатай бол энэ зүйлийг миний Интернетийн зүйл ангиас үзээрэй.

Алхам 4: Нарны цэнэглэх самбарыг бэлтгэ

Нарны цэнэглэх самбарыг бэлтгэ
Нарны цэнэглэх самбарыг бэлтгэ

Нарны цэнэглэх самбарыг конденсатор болон зарим утсыг ачааны гаралтын талбайд гагнах замаар бэлтгэ. Нэмэлт нэмэлт резистороор (2.2K гагнаж PROG-ээр) илүү хурдан хурдаар цэнэглэхийн тулд би уураа өөрчилж, гадаргуу дээр суурилуулсан эсэргүүцлийг батерейнд залгагдсан 10К термистороор сольж аюулгүй байдлыг хангах болно. Энэ нь цэнэглэхийг температурын аюулгүй хязгаарт хязгаарлах болно. Би эдгээр өөрчлөлтүүдийг Нарны USB цэнэглэгч төсөл дээрээ илүү дэлгэрэнгүй авч үзсэн.

Алхам 5: Микроконтроллерийн хэлхээг бий болгох

Микроконтроллерийн хэлхээг бий болгох
Микроконтроллерийн хэлхээг бий болгох
Зураг
Зураг
Зураг
Зураг

Микроконтроллерийн самбар болон цахилгаан унтраалгыг гагнах.

Зураг
Зураг

Нарны цэнэглэгчийн тэжээлийн гаралтыг залгуурынхаа оролттой холбоно уу, энэ нь дор хаяж 1 ампер байх ёстой.

Зураг
Зураг

Дээрх хэлхээний диаграммд (эсвэл таны хувийн хувилбарын тодорхойлолтод) тодорхойлсон талхны хавтангийн утсан холболтыг үүсгэж, гагнах, үүнд мэдрэгчийн өгөгдлийн шугам дээрх 10K татах эсэргүүцэл орно.

Нарны цэнэглэгчийн Load pins нь нарны эрчим хүч байхгүй үед 3.7V батерейны хүчийг өгөх боловч хэрэв залгагдсан, нартай бол нарны хавтангаас шууд тэжээх болно. Тиймээс микроконтроллер нь 3.7V ба 6V DC хүртэл янз бүрийн хүчдэлийг тэсвэрлэх чадвартай байх ёстой. 5V шаардлагатай хүмүүсийн хувьд ачааллын хүчдэлийг 5V болгон өөрчлөхөд PowerBoost (500 эсвэл 1000) ашиглаж болно (Нарны USB цэнэглэгч төсөлд үзүүлсэн шиг). Энд нийтлэг самбарууд ба тэдгээрийн оролтын хүчдэлийн мужууд байна.

  • NodeMCU ESP8266 (энд ашиглагддаг): 5V USB эсвэл 3.7V-10V Vin
  • Arduino Uno: 5V USB эсвэл 7-12V Vin
  • Adafruit Huzzah ESP8266 Breakout: 5V USB эсвэл 3.4-6V VBat

Батерейны ашиглалтын хугацааг хамгийн урт байлгахын тулд одоогийн авч буй нийт гүйдлийг тооцоолох, оновчтой болгохын тулд хэсэг хугацаа зарцуулах хэрэгтэй. ESP8266 нь гүн нойрны онцлогтой бөгөөд үүнийг бид Arduino -ийн ноорог дээр ашиглаж, эрчим хүчний хэрэглээг эрс бууруулдаг. Энэ нь мэдрэгчийг уншаад сэрж, сүлжээнд холбогдох үед мэдрэгчийн утгыг мэдээлэхийн тулд илүү их гүйдэл авч, дараа нь тодорхой хугацаанд унтдаг. Хэрэв таны микроконтроллер маш их хүч авч, унтаж амарч чадахгүй байгаа бол төслөө төдийлөн бага эрчим хүч авдаг нийцтэй самбар руу шилжүүлэх талаар бодоорой. Хэрэв танд ямар самбар таны төсөлд тохирохыг тодорхойлоход тусламж хэрэгтэй бол доорх тайлбар хэсэгт асуултаа бичээрэй.

Алхам 6: Кабелийн хавчаар суурилуулах

Зураг
Зураг

Нарны хавтангийн кабель ба мэдрэгчийн кабельд цаг агаарын хамгаалалттай нэвтрэх цэгүүдийг хийхийн тулд цаг агаарын хамгаалалттай хажуугийн хажуу талд хоёр кабелийн хавчаар суурилуулна.

Зураг
Зураг
Зураг
Зураг

Тохиромжтой байрлалыг тодорхойлохын тулд өөрийн бүрэлдэхүүн хэсгүүдэд тохирсон туршилтыг хийж, дараа нь шатлалт өрмийн тусламжтайгаар ус үл нэвтрэх хашлага дахь нүхийг тэмдэглээд өрөмд. Хоёр кабелийн хавчаарыг суурилуул.

Зураг
Зураг

Алхам 7: Хэлхээний угсралтыг дуусгах

Бүрэн тойргийн угсралт
Бүрэн тойргийн угсралт

Усны хамгаалалттай цахилгаан кабелийн порт талыг нэг утсанд оруулаад нарны цэнэглэгчийн DC оролт руу гагнана (улаанаас + хар хүртэл -).

Зураг
Зураг

Нөгөө булчирхайгаар дамжуулан хөрсний мэдрэгчийг оруулаад хэлхээний диаграммын дагуу перма-прототой холбоно уу.

Зураг
Зураг

Термисторын датчикийг батерейнд наа. Энэ нь төслийг гадуур хараа хяналтгүй орхих үед цэнэглэх хугацааг аюулгүй температурын хязгаарт хязгаарлах болно.

Зураг
Зураг

Хэт халуун эсвэл хэт хүйтэн байхад цэнэглэх нь батерейг гэмтээж эсвэл гал асаах аюултай. Хэт өндөр температурт өртөх нь батерейны ашиглалтын хугацааг богиносгож, гэмтээх шалтгаан болдог.

Зураг
Зураг

Кабелийн хавчаарыг чангалж, холбогдох кабелийнхаа эргэн тойронд цаг агаарын хамгаалалттай битүүмжлэлийг хий.

Алхам 8: Нарны хавтанг бэлтгэ

Нарны хавтанг бэлтгэх
Нарны хавтанг бэлтгэх

Миний зааврыг дагаж нарны зайныхаа кабелийг ус нэвтэрдэггүй тогтмол гүйдлийн цахилгаан кабелийн залгууртай холбоно уу.

Алхам 9: Үүнийг туршиж үзээрэй

Үүнийг туршиж үзээрэй
Үүнийг туршиж үзээрэй

Батерейгаа залгаарай, цахилгаан унтраалгыг дарж хэлхээг асаана уу.

Зураг
Зураг

Үүнийг туршиж үзээд хашаагаа хаахаас өмнө Wi -Fi сүлжээнийхээ дохиоллын хүрээнд өвс ногоо, үнэт ваартай ургамал эсвэл бусад хөрсөнд мэдрэгч суурилуулахаасаа өмнө интернетэд мэдээлж байгаа эсэхийг шалгаарай.

Зураг
Зураг

Мэдрэгчийн өгөгдлийг онлайнаар бүртгүүлсний дараа API гарцын сайт дээр имэйл эсвэл текстийн анхааруулга өгөх жорыг тохируулах нь амархан байдаг. Хөрсний чийгийн түвшин 50 -аас доош буувал надад имэйл илгээхээр уурхайгаа тохируулсан.

Үүнийг ургамал хатахыг хүлээхгүйгээр туршиж үзэхийн тулд би босгоноос доогуур унасан Adafruit IO -ийн чийгшлийн тэжээлийн мэдээллийн цэгийг гараар оруулсан болно. Хэдэн хормын дараа имэйл ирнэ! Хэрэв хөрсний түвшин миний тогтоосон түвшингээс доогуур байвал би хөрсийг услах хүртэл тэжээлийг шинэчлэх бүрт имэйл хүлээн авах болно. Ухаантай байхын тулд би кодоо шинэчилж, хөрсийг дээж авах ажлыг 15 минут тутамд хийх нь цөөн байв.

Алхам 10: Үүнийг гаднаас ашиглаарай

Үүнийг гаднаас ашиглаарай!
Үүнийг гаднаас ашиглаарай!
Үүнийг гаднаас ашиглаарай!
Үүнийг гаднаас ашиглаарай!

Энэ бол ургамлын чийгшүүлэх хэрэгцээнд тулгуурлан өөрчлөх боломжтой хөгжилтэй төсөл бөгөөд мэдрэгчийг солих, нэмэх, нарны эрчим хүчний шинж чанарыг бусад Arduino төслүүддээ нэгтгэхэд хялбар байдаг.

Дагаж байгаад баярлалаа! Би чиний юу бодож байгааг сонсох дуртай. сэтгэгдлээ оруулна уу. Энэ төсөл бол миний үнэгүй нарны ангийн нэг хэсэг бөгөөд эндээс арын хашааны төслүүд болон нарны зай хураагууртай ажиллах талаар илүү олон хичээл олж болно. Үүнийг шалгаад бүртгүүлээрэй!

Хэрэв танд энэ төсөл таалагдсан бол та миний заримыг сонирхож магадгүй юм.

  • зүйлсийн үнэгүй интернет
  • ESP8266 -тай YouTube захиалагчийн тоолуур
  • ESP8266 -тай нийгмийн статистикийг хянах дэлгэц
  • ESP8266 бүхий WiFi цаг агаарын дэлгэц
  • Интернет Валентин

Миний хийж буй зүйлээс хоцрохгүйн тулд YouTube, Instagram, Twitter, Pinterest, Snapchat дээр намайг дагаарай.

Зөвлөмж болгож буй: