Mundarija:

ESP-01 chuqur uyqu bilan harakat sensori: 5 qadam
ESP-01 chuqur uyqu bilan harakat sensori: 5 qadam

Video: ESP-01 chuqur uyqu bilan harakat sensori: 5 qadam

Video: ESP-01 chuqur uyqu bilan harakat sensori: 5 qadam
Video: Post COVID-19 Autonomic Dysfunction 2024, Noyabr
Anonim
Image
Image

Men ishga tushirilganda elektron pochta xabarini yuboradigan uy qurilishi sensorlar yasash ustida ishlayapman. Buni ko'rsatadigan ko'plab misollar va boshqa misollar mavjud. Men yaqinda buni batareyali PIR harakat sensori va ESP-01 yordamida qilishim kerak edi. ESP-01 juda funktsional va barcha imkoniyatlarga ega, shuning uchun nima uchun minimal va eng qimmatini ishlatmaslik kerak? Harakat sensori ishga tushirilganda signalni ishga tushiradigan boshqa alohida va uzoqdan ESP-01 moduli aralashmaga qo'shildi.

Kod va yakuniy sxemalar Internetdagi ko'plab manbalardan to'plangan va men ularni aniq aniqlay olmayman deb o'ylayman. Gmail orqali elektron pochta xabarlarini yuborish g'oyasi ko'rsatmali va boshqa manbalardan kelib chiqqan va yakuniy kod shu manbalardan olingan amalgamdir. Ishga chuqur uyqu meni tez -tez samarasiz bo'lgan ko'plab yo'llarga olib keldi. Qizig'i shundaki, yo'l muvaffaqiyatli bo'lgach, siz boshqa yo'llarni qidirishni to'xtatasiz. Shunday qilib, men muvaffaqiyatga hissa qo'shgan va hali noma'lum bo'lganlarga rahmat aytaman.

Menda ESP-01 chuqur uyquni ishga tushirish uchun PIR sensorini ishga tushirish muammosi bor edi. Ishlaydigan biri bo'lmaguncha ko'p yo'llar.

Aytishga hojat yo'q, men uchun zarur bo'lgan elektronikani yaxshiroq tushunish uchun qiziqarli to'siqlar yoki, ehtimol, ko'proq tegishli muammolar bor edi. Siz biror narsa ishlamaguncha o'rganishni davom ettirasiz, keyin esa boshqa o'rganishingiz shart emas.

ESP-01 har qanday ESP8266 moduli singari chuqur uyquni ham ta'minlaydi, agar siz uyquni talab qilmasangiz. Agar siz modul belgilangan vaqtdan keyin uyg'onishini xohlasangiz, ESP-01 moduli emas. Lekin bu men xohlagan narsa emas edi. PIRdan foydalanganda o'tgan vaqt ma'nosiz bo'ladi. Men ESP-01 faqat PIR sezgan harakat bilan uyg'onishini xohlardim. Agar soatlab yoki kunlarda hech qanday harakat sezilmasa, ESP-01 batareyaning minimal quvvatidan foydalanib uxlab qoladi.

Siz GPIO16 -ni ishlatadigan ko'plab sxemalarni ko'rasiz, bu ESP8266 Reset -ga ulangan, chunki GPIO16 - bu uyg'otuvchi signal. Bu to'g'ri, lekin bu uyqudan uyg'onish signalidir. Biz bu PIN-kodni e'tiborsiz qoldiramiz, bu yaxshi, chunki u ESP-01da mavjud emas.

Asosan, biz ESP-01 Reset pinini ishga tushirish uchun PIRdan signal olishimiz kerak. Siz tasavvur qila oladigan birinchi qiyinchilik shundaki, Reset LOW signalida ishga tushiriladi va PIR ishga tushirilganda yuqori signal yuboradi. Qayta tiklash ham yuqori bo'lishi yoki yuklashda suzuvchi bo'lishi kerak. Qisqa qilib aytganda, turli xil sxemalarni sinab ko'rganimdan so'ng, yuklash paytida RESET pinini yuqori darajada ushlab turish uchun tortish qarshiligi bo'lgan NPN tranzistoridan foydalanishga qaror qildim. PIR -dan chiqish minimal, lekin tranzistorni yoqish uchun etarlicha tayanch oqim beradi.

Quyidagi sxemada ko'rib turganingizdek, ESP-01 har safar PIR harakati sezilganda, qattiq uyqudan uyg'ongan.

Ammo boshqa muammo bor edi. ESP-01-ni asl holatiga qaytarish faqat PIR harakatni sezishni to'xtatib, past signalga qaytib, tranzistorni o'chirib qo'ygan va tortish qarshiligi tufayli tiklash pinini yuqori holatiga qaytarganidan keyin sodir bo'lgan. Bu shuni anglatadiki, elektron pochta jo'natilmasligi kerak va PIRdan keyin harakat sezilmaguncha signal eshitilmasligi kerak. Men harakat sezilgach, tetik paydo bo'lishini xohlardim.

Men bu xatti-harakatlardan aniqladimki, ESP-01 aslida signalning ko'tarilish chekkasida tetiklanadi. Qayta tiklash pinini ushlab turish aslida ESP-01ni qattiq uyqudan qo'zg'atmaydi, lekin kuchlanish yuqori signalga ko'tarilganda, qayta o'rnatish amalga oshiriladi.

Bu xatti -harakatga juda oddiy javobim, PIR chiqishi va tranzistor bazasi orasidagi chiziqqa kondansatör qo'shish edi. Bu tranzistor faqat kondansatör zaryad olayotgan paytda yoqilishiga olib keldi. Zaryad olgandan so'ng, boshqa oqim yo'q edi va tranzistor o'chirildi. 5k rezistor oqimning erga tushishiga imkon beradi. Men buni ESP-01 o'rniga LED yordamida sinab ko'rdim va o'chirilishidan oldin LED chirog'ini bir soniya davomida ko'rdim. Bu kichik zarba, asl holatini tiklash pinini bir zumda va uzoq uyqu holatiga qaytarish uchun etarlicha ushlab turishi uchun etarli edi.

1-qadam: ESP-01 chuqur uyqu moduli

ESP-01 chuqur uyqu moduli
ESP-01 chuqur uyqu moduli
ESP-01 chuqur uyqu moduli
ESP-01 chuqur uyqu moduli

Chuqur uyqu moduli ikkita ishchi kuchlanishni qo'llaydi. PIR uchun tasodifiy 5v+ batareya to'plami, shuningdek ESP-01 uchun 3,3 voltli regulyator platasi. Shikastlangan qismlarni teskari kuchlanishdan saqlanish uchun men ham diodni zanjirga qo'shaman. Bu qo'shimcha quvvat sarflaydi va batareya quvvati 0,7 voltga tushadi. Agar siz hech qachon batareya zanjirini qaytarmasligingizga amin bo'lsangiz, diodni sxemadan tashqarida qoldirish mumkin. Qulaylik uchun kalit ham qo'shiladi.

Bu modul mening chuqur bo'lmagan uyqu tartibim uchun kichik yangilanishdir. Chuqur uyqu bo'lmagan holda, PIR to'g'ridan-to'g'ri ESP-01 RX piniga ulanadi. Men ESP-01 ning RX pinini bir necha sabablarga ko'ra PIR uchun kirish pimi sifatida ishlataman. GPIO0 ishlamadi, chunki yuklashda PIR chiqish PIN-kodi past bo'ladi, bu ESP-01ning flesh rejimga o'tishiga olib keladi. Men GPIO2-dan foydalanmadim, chunki men vizual qaytarish uchun o'rnatilgan LEDni ishlata olmadim. RX va TX pinlari ko'pincha qo'shimcha IO pinlari sifatida tasvirlanadi, lekin mening tajribam shuni ko'rsatadiki, RX qo'shimcha INPUT pinidir va TX qo'shimcha OUTPUT pinidir.

Chuqur uyqu rejimida RX ulanishi mutlaqo zarur emas. Men uni faqat kirish yuqori bo'lsa, LEDni yoqish orqali PIR qancha vaqt ishga tushishini kuzatish uchun foydalanaman. Yuqorida aytib o'tilganidek, agar siz loop funktsiyasini o'chirib tashlasangiz va faqat sozlash tartibidan foydalansangiz, RX ulanishi kerak emas.

ESP-01 chuqur uyqu moduli uchun ehtiyot qismlar ro'yxati:

1 - 5 x 7 sm o'lchamdagi tenglikni prototipi

1-2 pinli ulagich

2 - 1 x 3 ayol sarlavhalari

1 - AMS1117 - 3.3 kuchlanish regulyatorining elektron platasi

1 - 1 x 3 o'ng burchakli erkak sarlavhasi

1 - 1 x 3 ta ayol rozetkaning bosh pimi

1 - 4 x 4 ta ayol rozetkaning bosh pimi

1 - 2 x 4 ayol sarlavhasi

1 - 1uf kondansatör

1 - HC -SR501 PIR harakat sensori

1 - 2N2222 tranzistorli

1 - 10k qarshilik

1 - 4.7k qarshilik

1 - 1k qarshilik

1 - 1N4148 diodi

1 - SS12D00G4 SPDT -ni almashtirish

1 - ESP -01

1 - 4AA batareya to'plami

E'tibor bering, videoda elektron platada 2 x 4 sarlavhasi o'rniga ESP-01 non paneli adapteri ishlatiladi. Ushbu adapterni lehimlash osonroq bo'lsa -da, 2 x 4 sarlavhasi yaxshi ishlaydi va aslida yaxshiroq mos keladi.

2-qadam: ESP-01 chuqur uyqu kodi

Chuqur uyqu kodi ikkita funktsiyani bajaradi. Elektron pochta xabarini yuboring (sukut bo'yicha Gmail orqali) va signalni ishga tushirish uchun tegishli ESP-01 signal moduliga http veb-so'rovini yuboring.

Qachon ishga tushirilsa, bu modul ikkita xabarnoma variantini taqdim etadi va elektron pochta xabarlariga e'tibor bermaganingizda ayniqsa foydali bo'lishi mumkin.

Eskizni ishga tushirish uchun sizga ma'lum qiymatlar bilan oltita kod satrini yangilash kerak bo'ladi:

const char* ssid = "xxxxx"; // Sizning WiFi SSIDconst char* password = "xxxxx"; // Sizning WiFi parollar satringiz Senders_Login = "xxxxx"; // sizning elektron pochta provayderingizga kirish String Senders_Password = "xxxxx"; // elektron pochta provayderingiz paroli

To = "xxxxxx"; = "Xxxxxx" dan; // Gmail odatda buni Senders_Login bilan bir xil bo'lishini afzal ko'radi va o'rnini bosishi mumkin

Men chuqur uyqu moduli PIR sensori tetik hodisasining davomiyligi uchun 10 sekunddan pastga o'rnatilganda oldindan aytib bo'lmaydigan darajada ish topdi. Menda 20 soniya o'rnatilgan. Bu juda ishonchli ekanligini isbotladi, lekin bu shuni anglatadiki, voqealar shu chastotada sodir bo'lishi mumkin.

Men, shuningdek, PIR hali ham harakatni sezayotgan ekan, ESP-01ni yonib turishi uchun pastadir funktsiyasiga kod qo'shdim. Loop funktsiyasidagi barcha kodlarni olib tashlash va chuqur uyquga chaqiruvni sozlash funktsiyasining oxiriga o'tkazish mumkin.

Men miltillash funktsiyasidan ESP-01 moduli bilan ishlashning vizual ko'rsatkichi uchun foydalanaman.

Men Gmail bilan ulanishni sinab ko'rgan bo'lsam -da, boshqa elektron pochta provayderlari ham ishlaydi. Men bir juftlikni sinab ko'rdim. Aslida, men gmail -ni yanada qiyinroq deb topdim. Gmail sizning hisobingiz himoyalanmagan ilovalarga kirish uchun sozlangan bo'lishini talab qiladi. Bu hisob sozlamasi sukut bo'yicha O'CHIR. Shuning uchun uni topib, xavfsizligi pastroq qilib o'zgartirganingizga ishonch hosil qiling. Gmail boshqacha ishlamaydi.

Agar siz bir nechta signalli modulga ega bo'lishni tanlasangiz, http mijozining qo'shimcha qo'ng'iroqlarini qo'shing (kodning uchta satrini takrorlang, lekin ishlatilgan IP -manzilni o'zgartiring, shuningdek http -kod o'zgaruvchisini int sifatida bir marta aniqlang!

E'tibor bering, bu modulda signal signalining IP -manzili qattiq kodlangan. Siz tanlagan IP -manzilni ishlatishingiz shart emas, lekin siz ushbu moduldagi veb -qo'ng'iroqning IP -manzilini keyingi moduldagi veb -server sozlamalarining IP -manziliga mos kelishi kerak.

3-qadam: ESP-01 Buzzer moduli

ESP-01 Buzzer moduli
ESP-01 Buzzer moduli
ESP-01 Buzzer moduli
ESP-01 Buzzer moduli
ESP-01 Buzzer moduli
ESP-01 Buzzer moduli

Zil moduli juda oddiy sozlamalarga ega. Batareya to'plami o'rniga USB ulagichi ishlatiladi, chunki menimcha, bu modul batareya to'plamiga mos kelmaydi. U har doim yoniq va Wi -Fi tarmog'iga ulangan bo'lishi kerak, chunki u qachon veb -so'rov yuborilishini bilmaydi. Bu batareyalar uchun foydali bo'lganidan ko'ra ko'proq quvvat talab qiladi.

Qo'ng'iroq modullari qaerda bo'lishidan qat'i nazar, harakat sensori tetiklanishi hodisasi to'g'risida xabar beruvchi bir nechta joylarga qulay joylashtirilishi mumkin!

Buzzer USB ulagichining 5v ga ulangan va ESP-01 quvvatini ta'minlaydigan yana bir 3.3v regulyator platasi mavjud.

Zil moduli chiqish uchun TX, GPIO0 yoki GPIO2 yordamida ishlaydi. Konfiguratsiyamda GPIO0 dan foydalanayapman. (Modul rasmida sim GPIO2 ga ulangan, lekin men uni boshqa joyga ko'chirganman.) GPIO0 chuqur uyqu modulida (INPUT sifatida) ishlamasa ham, bu tartibda OUTPUT sifatida yaxshi ishlaydi. U yuklashda tortilmaydi, bu esa muammolarni keltirib chiqaradi. Men GPIO2 dan foydalandim, lekin keyin hech qanday teskari aloqa uchun bortdagi LEDni ishlata olmadim, lekin chiqish uchun GPIO0 yordamida bortdagi LEDni ishlatishim mumkin.

Men ESP-01 GPIO0 piniga yuqori signal qo'yganida, signalni o'chirish uchun NPN tranzistoridan foydalanishga harakat qildim, lekin natijalar juda ziddiyatli edi. Guvoh har doim, hatto juda kam quvvat bilan ham, ovoz chiqarishni xohlaganday tuyuldi. Buning o'rniga men N kanalli MOSFET (2n7000) dan foydalandim va natija ajoyib edi. IO pin zarur bo'lganda eshikni boshqaradi.

Bizga Vcc (+) va Gnd (-) USB ulagichidan faqat ikkita pin kerak bo'lsa-da, men 5 pinli sarlavhani ishlatib, PCB kartasiga qo'shimcha barqarorlik va lehimlash uchun USB-ni regulyatorga ulashdan oldin ulayman. Mening 3.3v regulyator platam oldindan o'rnatilgan pinlar bilan va xayolimda teskari o'girilib keldi. Shunday qilib, regulyatorni sarg'ish pinlariga joylashtirish uchun siz elektron plataning yashiringanligini ko'rishingiz mumkin, lekin bundan ham yomoni, USB ulagichidagi vcc va gnd regulyatoridagi vcc va gnd. Shunday qilib, simlar kesishadi.

Shuni ham yodda tutingki, faol signal signalining + kuchi USB 5V -dan keladi. Bundan tashqari, 4 -pinli ayol rozetkaning sarlavhasi, ovozli signalning pin joylashuvi bilan yaxshi ishlaydi.

ESP-01 Buzzer moduli qismlari ro'yxati:

1 - 5 x 7 tenglikni kartasi

1 - pinli sarlavhali USB mini ulagichi (7 pinli)

2 - 1 x 3 ayol sarlavhalari

1 - AMS1117-3.3 v kuchlanish regulyatori

1 - 2 x 4 ayol sarlavhasi

2 - 1 x 4 ta ayol rozetkali sarlavhalar

1 - 2N7000 N -kanalli MOSFET

1 - 10 ohm qarshilik

1 - 5V faol buzzer

4-qadam: ESP-01 Buzzer modulining kodi

Zil moduli oddiy ESP-01 veb-serveri vazifasini bajaradi. U ildiz so'roviga oddiy xabar bilan javob beradi va shovqin so'rovi kelganda, u signalni ishga tushiradi. GPIO0 signal signalining GPIO pimi uchun ishlatiladi.

ESP-01 qattiq kodlangan IP-manzil bilan tuzilganligini unutmang. Bu chuqur uyqu moduli signal signaliga ulanishi uchun kerak.

Oldingi modul singari, siz ikkita kod satrini maxsus qiymatlar bilan yangilashingiz kerak bo'ladi:

// Wi -Fi routeringizning SSID va paroli char* ssid = "xxxxxxx";

const char* parol = "xxxxxxxx";

Agar sizda bir nechta signalli modullar yaratilgan bo'lsa, ularning har biriga o'ziga xos IP -manzil yuklanishi kerak.

Shuningdek, siz turli xil ovozli ohanglarni chiqaradigan turli xil buzz usullarini qo'shishingiz mumkin. Masalan, agar sizda old eshikda va orqa eshikda PIR sensori bo'lsa, ular sizning har bir signal modulingizga veb -so'rov yuborishi mumkin, lekin bitta sensorda buzz, ikkinchisida buzz2 deb nomlangan eskiz bo'lishi mumkin. ovozdan qaysi sensori ishga tushganini bilib olishingiz mumkin. Va hokazo va hokazo! Buzz2 funktsiyasi mavjud emas, faqat buzz funktsiyasini nusxalash va kechikish qiymatlarini o'zgartirish.

Veb -server uchun siz quyidagi kabi kod qatorini qo'shishingiz kerak bo'ladi:

server.on ("/buzz2", buzz2);

5 -qadam: Yakuniy fikrlar

Bu mening birinchi ko'rsatma, shuning uchun men o'zim kiritishi kerak bo'lgan ba'zi amaliy narsalarni o'tkazib yuborgan bo'lardim. Men ishlatgan AMS1117-3.3 regulyator platasi yoqilganida yonib turadigan kichik chiroqni o'z ichiga oladi. Chuqur uyqu moduli uchun men buni keraksiz kuch sarflashni xohlamadim. Shunday qilib, men taxtadagi svetodiodning bir tomonida nima borligini payvandlab qo'ydim va keyin kesish uchun xizmat pichog'ini ishlatdim. Bu men o'ylagandan ko'ra osonroq edi va LEDning yonishiga to'sqinlik qildi. ESP-01 chuqur uyquda bo'lganida, men elektr quvvati nima ekanligini aniqlay olmadim, lekin bir necha haftadan so'ng menda javob bo'lishi mumkin. Mening hamkasbim sensori ishlayotgandi (chuqur uyquda emas) va taxminan bir hafta ichida batareyalari (5AA) quvvatsizlanganini topdi. Menimcha, bu o'rnatish bir oy yoki undan ham ko'proq vaqt berishi kerak. Ko'ramiz.

Chuqur uyqu moduli taxminan 8 dollarlik CDN (batareyalar bilan ta'minlanmagan!) Va signal moduli 5 dollar turadi.

Tavsiya: