Mundarija:

Postino: pochtachi biror narsani etkazib berdimi ?: 6 qadam (rasmlar bilan)
Postino: pochtachi biror narsani etkazib berdimi ?: 6 qadam (rasmlar bilan)

Video: Postino: pochtachi biror narsani etkazib berdimi ?: 6 qadam (rasmlar bilan)

Video: Postino: pochtachi biror narsani etkazib berdimi ?: 6 qadam (rasmlar bilan)
Video: Выучите 220 распространённых английских фразовых глаголов с примерами предложений, используемых в повседневных разговорах. 2024, Iyul
Anonim
Postino: pochtachi biror narsa etkazib berdimi?
Postino: pochtachi biror narsa etkazib berdimi?

Mening fikrim emas: bir kuni do'stim mendan pochta qutisiga pochta jo'natilganligini masofadan tekshirish usulini so'radi. Pochta qutisi uning eshigiga olib boradigan yo'lda emas, shuning uchun u dangasa bola bo'lgani uchun, texnologiya gadjeti uni pochta qutisiga kelgan har qanday xat haqida ogohlantira oladimi, deb o'yladi. Men bozorga qaradim va uning ehtiyojlariga mos keladigan biron bir tayyor qurilmani topa olmadim, shuning uchun men o'zimga qiyinchilik tug'dirdim: nima uchun uni loyihalash va qurish kerak emas?

Cheklovlar quyidagilar edi:

  • batareyaning o'zgarishi orasidagi o'rtacha ishlash muddati bilan ishlaydigan batareya;
  • WiFi aloqasi;
  • pochta bor yoki yo'qligini kuniga bir marta tekshiring;

Asosiy savol: qaysi turdagi sensor mening talablarimga mos kelishi mumkin edi? Yaqinlik sensori ishlay olmadi, chunki tekshirish real vaqtda emas, balki kuniga bir marta bajarilishi kerak edi; og'irlik sensori ham, chunki bu murakkablik va sezuvchanlik muammolarini qo'shgan bo'lardi (bir varaq qog'oz juda engil bo'lishi mumkin). Mening tanlovim Parvoz vaqti (mikro lazer) sensoriga tushdi. Pochta qutisi o'lchamiga qarab sozlanganda, o'rtada yotadigan narsa sensorni ishga soladi! 3 cheklovni hisobga olgan holda, men ESP8266 (dasturiy ta'minotni ishga tushirish va Wi-Fi tarmog'iga ulanish), o'lchash uchun VL6180 uchish vaqti sensori va DS3231 real vaqt soati yordamida kuniga bir marta barcha sxemalarni ishga tushirishga qaror qildim. Postino tug'ilgan!

1 -qadam: qismlar va komponentlar

  • ESP8266-01 (yoki ESP-12E NodeMCU)
  • VL6108 Parvoz vaqti sensori
  • Haqiqiy vaqtda soat DS3231
  • IRLZ44 N-kanalli MosFET
  • BC 547 tranzistor
  • Rezistorlar
  • CR123 batareyasi

2 -qadam: Sensor

Sensor
Sensor

Tizimning yuragi VL6180 sensori. Bu mutlaq masofani maqsadli aks ettirishdan qat'i nazar o'lchash imkonini beradigan eng yangi texnologiya. VL6180X ob'ektdan qaytarilgan yorug'lik miqdorini o'lchash orqali masofani baholashning o'rniga (rang va sirtdan sezilarli darajada ta'sir qiladi), VL6180X yorug'likning eng yaqin ob'ektga o'tish va sensorga qaytish vaqtini aniq o'lchaydi. -parvoz). VL6180X uchburchagi ishlatishga tayyor qayta oqim paketida infraqizil emitent, diapazon sensori va atrofdagi yorug'lik sezgichini birlashtirib, oxirgi mahsulot ishlab chiqaruvchini uzoq va qimmat optik va mexanik dizayn optimallashtirishini tejaydi.

Modul kam quvvatli ishlash uchun mo'ljallangan. Men 2,7 V dan 5,5 V gacha bo'lgan kirish voltaj diapazonida ishlashga imkon beradigan kuchlanish regulyatorlari bo'lgan Pololu uzilish taxtasidan foydalandim.

Sensor har xil sezuvchanlik bilan o'lchashning maksimal diapazonini 20 dan 60 sm gacha belgilaydigan 3 ta haqiqiy o'lchov omillariga ruxsat beradi. Diapazonni o'lchash omilini sozlash orqali sensorning mumkin bo'lgan maksimal diapazoni past piksellar soniga qarab oshirilishi mumkin. O'lchov koeffitsientini 2 ga o'rnatish 2 mm o'lchamdagi 40 sm gacha diapazonni, 3 o'lchov koeffitsienti esa 3 mm o'lchamdagi 60 sm gacha diapazonni ta'minlaydi. Siz pochta qutisining o'lchamlari bilan 3 o'lchovni sinab ko'rishingiz kerak. Meniki 25 sm (H) bo'lgani uchun men shkala faktorini = 1 ishlatardim.

3 -qadam: Haqiqiy vaqtda soatni sozlash

RTC uchun men EEPROM (maqsadimga yaroqsiz) va tanga o'lchagichli batareyani o'z ichiga olgan DS3231 panelini ishlatardim. Men RTCni asosiy qurilma batareyasi (3v CR123) orqali quvvatlantirishga qaror qilganimda, tanga batareyasini chiqarib tashladim; Quvvatni tejash uchun men EEPROMni (pinlarini ehtiyotkorlik bilan kesib) olib tashladim.

Tanganing batareyasi men uchun foydali emas edi, chunki men sana/soat/daqiqa/soniyani saqlashga hojat yo'q edi, lekin RTC faqat 24 soatni hisoblab, keyin qurilmani yoqish uchun signalni ishga tushirishi kerak edi.

4 -qadam: bortdagi boshqa har xil

Bortdagi boshqa har xil
Bortdagi boshqa har xil
Bortdagi boshqa har xil
Bortdagi boshqa har xil

Qurilmani yoqish tranzistor va MosFET sxemasi orqali amalga oshiriladi, bu RTC signalizatsiyasi yordamida amalga oshiriladi. Signal qayta o'rnatilgandan so'ng, sxema qurilmaning quvvatini yana 24 soatlik tsikliga uzadi. Signal eshitilganda, DS3231 pinni yuqoridan pastgacha o'zgartiradi: normal sharoitda tranzistor to'yingan va MosFET eshigiga qisqa tutashadi. Signal tranzistor poydevorini erga qo'ygandan so'ng, u ochiladi va MosFETga kontaktlarning zanglashiga olib keladi va qolgan komponentlarga quvvat beradi.

Bundan tashqari, men "test-1M" jumperini qo'shdim. Ushbu kalitning maqsadi - agar faollashtirilgan bo'lsa - tarqatish testlarini o'tkazish uchun tsiklni kuniga bir marta daqiqasiga bir marta o'zgartirish. Intervalni bir kundan bir daqiqagacha o'zgartirish uchun avval "Test-C" jumperini taxminan 15 soniya yopib qo'yish, soat signalini yoqish vaqtini chetlab o'tish va qurilmani yoqish kerak. Sinovlar tugagandan so'ng, o'tish joylarini oching va qurilmani qayta o'rnating (aylanish kuchi).

5 -qadam: sxematik

Sxematik
Sxematik

6 -qadam: dasturiy ta'minot va mantiq

Sinovlar paytida men (amaliy sabablarga ko'ra) NodeMCU boshqaruvchisini ishlatardim, shuning uchun dasturiy ta'minot CHIP variale -ni "NodeMCU" yoki "esp8266" qilib sozlash orqali buni hal qiladi.

Chizma WiFiManager kutubxonasini ishga tushiradi, bu qurilmaning birinchi ishga tushish vaqtida tegishli WiFi AP ga ulanishiga imkon beradi. Bunday holda, qurilma AP rejimiga o'tadi, unga ulanish va Wi -Fi tarmog'iga qo'shilish uchun to'g'ri tanlash imkonini beradi. Shundan so'ng, tarmoq konfiguratsiyasi keyingi davrlar uchun EPROMda saqlanadi.

REST_MSG o'zgarmaydigan sensori pochta qutisidan ob'ekt topganda yuboriladigan http xabarini o'z ichiga oladi. Menimcha, u domenli REST serveriga xabar yuboradi, lekin siz uni xohlaganingizcha o'zgartirishingiz mumkin: Telegram BOT xabari, IFTTT WebHook hodisasi va boshqalar.

Qolgan eskizlar hammasi setup () funktsiyasida, chunki tsiklga hech qachon etib bo'lmaydi. Bir nechta kutubxonalar uchun zarur bo'lgan konfiguratsiyalardan so'ng, dasturiy ta'minot soat vaqtini 00:00:01 ga va signalni kuniga bir marta (yoki "test-1M" o'tish moslamasi yoqilgan bo'lsa, daqiqada bir marta) o'rnatadi. Keyin u o'lchovni amalga oshiradi, bildirishnomani yuboradi (agar pochta qutisida biror narsa topilsa) va signal pinini qayta o'rnatadi, qurilmani o'chirib qo'yadi. Tsikl tugagach, faqat RTC yoqiladi, 24 soat hisoblab chiqiladi. Test-1M o'tish moslamasi GPO-3 sifatida ishlatiladigan ESP8266 RX piniga ulanadi: setMode (PIN, FUNCTION_3). Shu sababli, siz ESP8266 -ni ishga tushirishda ketma -ket monitordan foydalana olmaysiz: "eskizdagi barcha ketma -ket chop etishga ruxsat beruvchi" #define DEBUG "liniyasi faqat ESP8266 o'rniga NodeMCU o'rnatilganida ishlatiladi.

ESP8266, Wire kutubxonasida ishga tushirilgan GPIO-0 va GPIO-2 pinlari orqali RTC va sensor bilan I2C aloqasini boshqaradi.

To'liq kodni ushbu havoladan yuklab olish mumkin.

Texnik yordamchi tanlovi
Texnik yordamchi tanlovi
Texnik yordamchi tanlovi
Texnik yordamchi tanlovi

Yordamchi texnika tanlovida ikkinchi o'rinni egalladi

Tavsiya: