Talaan ng mga Nilalaman:

Postino: Nagdala ba ang Postman ng Kahit Ano ?: 6 Mga Hakbang (na may Mga Larawan)
Postino: Nagdala ba ang Postman ng Kahit Ano ?: 6 Mga Hakbang (na may Mga Larawan)

Video: Postino: Nagdala ba ang Postman ng Kahit Ano ?: 6 Mga Hakbang (na may Mga Larawan)

Video: Postino: Nagdala ba ang Postman ng Kahit Ano ?: 6 Mga Hakbang (na may Mga Larawan)
Video: Mga kaso na hindi na kailangan dumaan sa Barangay 2024, Hulyo
Anonim
Postino: May Naghahatid ba ang Postman?
Postino: May Naghahatid ba ang Postman?

Hindi isang ideya ko: isang araw ay tinanong ako ng isang kaibigan ng isang paraan upang malagyan ng malayuang suriin kung ang anumang post-mail ay inilalagay sa kanyang mailbox. Ang mailbox ay wala sa walkpath sa kanyang pintuan kaya, dahil siya ay isang tamad na batang lalaki, naisip niya kung ang isang gadget ng teknolohiya ay dapat na mabigyan siya ng babala sa anumang liham sa mailbox. Tumingin ako sa merkado at wala akong makitang anumang nakahandang aparato na naaangkop sa kanyang mga pangangailangan, kaya't tinaasan ko ang isang hamon sa aking sarili: bakit hindi ko idisenyo at buuin ito?

Ang mga hadlang ay:

  • pinapatakbo ng baterya na may makatwirang buhay sa pagitan ng mga pagbabago sa baterya;
  • Komunikasyon sa WiFi;
  • suriin lamang isang beses sa isang araw kung mayroong mail o hindi;

Ang pangunahing tanong ay: aling uri ng sensor ang maaaring magkasya sa aking mga kinakailangan? Ang isang proximity sensor ay hindi maaaring gumana, dahil ang tseke ay kailangang gawin isang beses lamang sa isang araw at hindi sa real-time; ang isang sensor ng timbang ay hindi, dahil maaaring naidagdag ang mga problema sa pagiging kumplikado at pagiging sensitibo (ang isang sheet ng papel ay maaaring napakagaan). Ang aking napili ay nakarating sa isang sensor ng Time-of-Flight (isang micro laser). Kapag na-calibrate ito para sa laki ng mailbox, ang anumang paglalagay sa gitna ay maaaring magpalitaw sa sensor! Isinasaalang-alang ang 3 mga hadlang, nagpasya akong gumamit ng isang ESP8266 (pagpapatakbo ng software at pag-uugnay sa WiFi), isang sensor ng VL6180 Time-of-Flight para sa pagsukat at isang DS3231 Real Time Clock upang ma-trigger ang lahat ng circuitry isang beses sa isang araw: iyon ay kung paano Ipinanganak si Postino!

Hakbang 1: Mga Bahagi at Mga Bahagi

  • ESP8266-01 (o ESP-12E NodeMCU)
  • VL6108 sensor ng Oras-ng-Paglipad
  • DS3231 Real Time Clock
  • IRLZ44 N-channel MosFET
  • BC547 Transistor
  • Mga lumalaban
  • CR123 Baterya

Hakbang 2: Ang Sensor

Ang Sensor
Ang Sensor

Ang puso ng system ay VL6180 sensor. Ito ay isang teknolohiyang bumabagsak sa lupa na nagpapahintulot sa ganap na distansya na masukat malaya sa target na pagsasalamin. Sa halip na tantyahin ang distansya sa pamamagitan ng pagsukat ng dami ng ilaw na makikita mula sa bagay (na kung saan ay naiimpluwensyahan ng kulay at ibabaw), tumpak na sinusukat ng VL6180X ang oras na aabutin ng ilaw sa pinakamalapit na bagay at sumasalamin pabalik sa sensor (Oras -of-Flight. Ang pagsasama ng isang IR emitter, isang range sensor at isang nakapaligid na light sensor sa isang three-in-one na madaling gamiting masasalamin na package, ang VL6180X ay madaling isama at mai-save ang tagagawa ng end-product na mahaba at magastos na pag-optimize ng optikal at mekanikal na disenyo.

Ang module ay idinisenyo para sa mababang operasyon ng kuryente. Ginamit ko ang Pololu breakout board na mayroong mga regulator ng boltahe sa board na pinapayagan itong gumana sa isang saklaw na input na boltahe na 2.7 V hanggang 5.5 V.

Pinapayagan ng sensor ang 3 wastong mga kadahilanan sa pag-scale na itinakda ang maximum na saklaw ng pagsukat mula 20 hanggang 60 cm, na may magkakaibang pagkasensitibo. Sa pamamagitan ng pag-configure ng isang saklaw na kadahilanan sa pag-scale, ang potensyal na maximum na saklaw ng sensor ay maaaring dagdagan sa gastos ng mas mababang resolusyon. Ang pagtatakda ng kadahilanan sa pag-scale sa 2 ay nagbibigay ng hanggang sa 40 cm na saklaw na may resolusyon na 2 mm, habang ang isang kadahilanan sa pag-scale na 3 ay nagbibigay ng hanggang sa 60 cm na saklaw na may resolusyon na 3 mm. Kailangan mong subukan ang 3 kaliskis sa mga sukat ng iyong mailbox. Tulad ng sa akin ay 25 cm (H) Gumamit ako ng scale factor = 1.

Hakbang 3: Pagpapasadya ng Oras ng Oras

Para sa RTC Gumamit ako ng isang DS3231 breakout board na may kasamang isang EEPROM (walang silbi para sa aking hangarin) at isang sukat na baterya na baterya. Habang nagpasya akong paganahin ang RTC sa pamamagitan ng pangunahing baterya ng aparato (isang 3v CR123), tinanggal ko ang baterya ng barya; upang makatipid ng kuryente tinanggal ko din ang EEPROM (sa pamamagitan ng maingat na pagputol ng mga pin nito) at pinangunahan ang onboard.

Ang baterya ng coin ay hindi kapaki-pakinabang sa akin dahil hindi ko kailangang panatilihin ang petsa / oras / minuto / segundo ng totoong oras, ngunit ang RTC ay bibilangin lamang sa loob ng 24 na oras at pagkatapos ay i-trigger ang alarma upang mapatakbo ang aparato.

Hakbang 4: Iba Pang Miscellaneous sa Lupon

Iba Pang Miscellaneous sa Lupon
Iba Pang Miscellaneous sa Lupon
Iba Pang Miscellaneous sa Lupon
Iba Pang Miscellaneous sa Lupon

Ang pagpapatakbo ng aparato ay nagagawa ng isang transistor at MosFET circuit, na na-trigger ng RTC alarm. Kapag na-reset ang alarma, pinuputol ng circuit ang lakas sa aparato para sa isa pang 24 na oras na pag-ikot. Kapag naabot ang alarma, lumilipat ang DS3231 ng isang pin mula sa mataas hanggang sa mababa: sa mga normal na kondisyon ang transistor ay puspos at maiikli sa ground gate ng MosFET. Kapag ang alarma ay nagdadala ng base ng transistor sa lupa, bubukas ito at pinapayagan ang MosFET na isara ang circuit at bigyan ng lakas ang natitirang mga bahagi.

Bilang karagdagan, nagdagdag ako ng isang "test-1M" jumper. Ang layunin ng switch na ito ay - kung aktibo - upang baguhin ang cycle mula sa isang beses sa isang araw sa isang beses sa isang minuto, upang magpatakbo ng mga pagsubok sa pag-deploy. Upang mabago ang agwat mula sa isang araw hanggang isang minuto, kailangan mo munang isara ang jumper na "Test-C" sa loob ng 15 segundo, upang mapalampas ang panahon ng pag-activate ng alarma at upang buksan ang aparato. Kapag tapos na ang mga pagsubok, buksan ang mga jumper at i-reset ang aparato (cycle power).

Hakbang 5: Skematika

Skematika
Skematika

Hakbang 6: Software at Logic

Sa panahon ng mga pagsubok na ginamit ko (para sa mga praktikal na kadahilanan) isang NodeMCU controller, kaya't alagaan ito ng software sa pamamagitan ng pagtatakda ng pagkakaiba-iba ng CHIP sa "NodeMCU" o "esp8266".

Ipinapatupad ng sketch ang silid-aklatan ng WiFiManager upang payagan ang aparato na kumonekta sa isang wastong WiFi AP sa panahon ng unang pagtakbo. Sa ganitong kaso, ang aparato ay pumupunta sa AP mode, na pinapayagan kang kumonekta dito at piliin ang tamang WiFi network upang sumali. Pagkatapos nito, ang pagsasaayos ng network ay nai-save sa EPROM para sa kasunod na mga pag-ikot.

Naglalaman ang variable na REST_MSG ng mensahe ng http upang ipadala kapag nakakita ang sensor ng isang bagay sa mailbox. Sa aking kaso, nagpapadala ito ng isang mensahe sa isang domotic na REST server, ngunit maaari mo itong palitan ayon sa gusto mo: isang mensahe ng Telegram BOT, isang kaganapan sa IFTTT WebHook, atbp.

Ang natitirang sketch ay nasa pag-andar ng setup (), dahil ang loop ay hindi naabot. Matapos ang mga pagsasaayos na kinakailangan para sa maraming mga aklatan, itinatakda ng software ang oras ng orasan sa 00:00:01 at ang alarma sa isang beses sa isang araw (o isang beses sa isang minuto kung ang "test-1M" jumper ay naaktibo). Pagkatapos ay gumagawa ito ng panukala, nagpapadala ng abiso (kung may anumang bagay na matatagpuan sa mailbox) at i-reset ang alarm pin, isinasara ang aparato. Sa pagtatapos ng siklo, ang RTC lamang ang pinapagana, binibilang nang 24 na oras. Ang jumper Test-1M ay konektado sa RX pin ng ESP8266, ginamit bilang GPIO-3 sa pamamagitan ng setting: setMode (PIN, FUNCTION_3). Dahil dito, hindi mo magagamit ang Serial monitor habang pinapatakbo ang ESP8266: ang linya na "#define DEBUG" (na nagpapahintulot sa lahat ng mga serial print sa sketch) ay ginagamit lamang kapag ang isang NodeMCU ay na-install bilang kapalit ng isang ESP8266.

Humahawak ang ESP8266 sa komunikasyon ng I2C sa RTC at ng sensor sa pamamagitan ng mga pin na GPIO-0 at GPIO-2, na pinasimulan sa library ng Wire.

Maaaring ma-download ang buong code mula sa link na ito.

Tulong sa Teknikal na Paligsahan
Tulong sa Teknikal na Paligsahan
Tulong sa Teknikal na Paligsahan
Tulong sa Teknikal na Paligsahan

Runner Up sa assistive Tech Contest

Inirerekumendang: