Përmbajtje:

Postino: A ka dorëzuar ndonjë postier?: 6 hapa (me fotografi)
Postino: A ka dorëzuar ndonjë postier?: 6 hapa (me fotografi)

Video: Postino: A ka dorëzuar ndonjë postier?: 6 hapa (me fotografi)

Video: Postino: A ka dorëzuar ndonjë postier?: 6 hapa (me fotografi)
Video: ГНИЛОБАН ждал ОЖИВЛЕНИЯ 8 лет в гараже | ВОССТАНОВИЛИ мертвеца DODGE RAM VAN B3500 2024, Korrik
Anonim
Postino: A ka dorëzuar ndonjë postier?
Postino: A ka dorëzuar ndonjë postier?

Jo një ide e imja: një ditë një mik më kërkoi një mënyrë për të kontrolluar nga distanca nëse ndonjë postë postonte në kutinë e tij postare. Kutia postare nuk është në shtegun drejt derës së tij, kështu që, pasi është një djalë dembel, ai pyeti veten nëse një vegël teknologjike duhet të jetë në gjendje ta paralajmërojë atë për ndonjë letër në kutinë postare. Unë hodha një vështrim në treg dhe nuk gjeta ndonjë pajisje të gatshme të përshtatshme për nevojat e tij, kështu që i ngrita një sfidë vetes: pse të mos e projektoj dhe ndërtoj atë?

Kufizimet ishin:

  • mundësuar nga bateria me një jetë të arsyeshme midis ndryshimeve të baterisë;
  • Komunikim WiFi;
  • kontrolloni vetëm një herë në ditë nëse kishte postë apo jo;

Pyetja kryesore ishte: cili lloj sensori mund t'i përshtatet kërkesave të mia? Një sensor afërsie nuk mund të funksiononte, pasi kontrolli duhej të bëhej vetëm një herë në ditë dhe jo në kohë reale; një sensor i peshës as, pasi kjo do të kishte shtuar kompleksitetin dhe problemet e ndjeshmërisë (një fletë letre mund të ishte shumë e lehtë). Zgjedhja ime erdhi në një sensor Time-of-Flight (një mikro lazer). Pasi të kalibrohet për madhësinë e kutisë postare, çdo gjë që vendoset në mes do të kishte shkaktuar sensorin! Duke marrë parasysh 3 kufizimet, vendosa të përdor një ESP8266 (drejtimin e softuerit dhe lidhjen me WiFi), një sensor VL6180 Time-of-Flight për matjen dhe një Orë DS3231 Real Time për të shkaktuar të gjithë qarkun një herë në ditë: kështu ishte Postino ka lindur!

Hapi 1: Pjesët dhe Përbërësit

  • ESP8266-01 (ose ESP-12E NodeMCU)
  • VL6108 Sensori i kohës së fluturimit
  • Ora DS3231 në kohë reale
  • IRLZ44 N-kanali MosFET
  • BC547 Transistor
  • Rezistencat
  • Bateria CR123

Hapi 2: Sensori

Sensori
Sensori

Zemra e sistemit është sensori VL6180. Kjo është një teknologji novatore që lejon distancën absolute të matet pavarësisht nga reflektimi i synuar. Në vend që të vlerësoni distancën duke matur sasinë e dritës të reflektuar nga objekti (e cila ndikohet ndjeshëm nga ngjyra dhe sipërfaqja), VL6180X mat saktësisht kohën që merr drita për të udhëtuar në objektin më të afërt dhe për të reflektuar përsëri në sensor (Koha -fluturimit). Duke kombinuar një emetues IR, një sensor rrezeje dhe një sensor të dritës së ambientit në një paketë të ndezshme të gatshme për përdorim tre në një, VL6180X është i lehtë për tu integruar dhe kursen prodhuesit e produktit përfundimtar optimizime të gjata dhe të kushtueshme të dizajnit optik dhe mekanik.

Moduli është krijuar për funksionim me fuqi të ulët. Kam përdorur bordin e prishjes Pololu i cili ka rregullatorë të tensionit në bord që e lejojnë atë të punojë në një gamë të tensionit hyrës nga 2.7 V në 5.5 V.

Sensori lejon 3 faktorë të vlefshëm të shkallëzimit të cilët vendosin gamën maksimale të matjes nga 20 në 60 cm, me ndjeshmëri të ndryshme. Duke konfiguruar një faktor të shkallëzimit të diapazonit, diapazoni maksimal i mundshëm i sensorit mund të rritet me koston e një rezolucioni më të ulët. Vendosja e faktorit të shkallëzimit në 2 siguron një distancë deri në 40 cm me rezolucion 2 mm, ndërsa një faktor shkallëzimi prej 3 siguron një distancë deri në 60 cm me rezolucion 3 mm. Ju duhet të provoni 3 shkallët me dimensionet e kutisë tuaj postare. Duke qenë se imja ishte 25 cm (H) kam përdorur faktorin e shkallës = 1.

Hapi 3: Përshtatja e orës në kohë reale

Për RTC kam përdorur një dërrasë dalëse DS3231 e cila përfshin një EEPROM (e padobishme për qëllimin tim) dhe një bateri të madhësisë së monedhës. Ndërsa vendosa të furnizoja RTC përmes baterisë së pajisjes kryesore (një 3v CR123), hoqa baterinë e monedhës; për të kursyer energji unë gjithashtu hoqa EEPROM (duke prerë me kujdes kunjat e tij) dhe ledin në bord.

Bateria e monedhës nuk ishte e dobishme për mua sepse nuk kisha nevojë të mbaja datën/orën/minutën/sekondën në kohë reale, por RTC duhej të numëronte vetëm për 24 orë dhe më pas të aktivizonte alarmin për të ndezur pajisjen.

Hapi 4: Të tjera të ndryshme në bord

Të tjera të ndryshme në bord
Të tjera të ndryshme në bord
Të tjera të ndryshme në bord
Të tjera të ndryshme në bord

Ndezja e pajisjes realizohet nga një qark transistor dhe MosFET, i shkaktuar nga alarmi RTC. Pasi të rivendoset alarmi, qarku e ndërpret energjinë në pajisje për një cikël tjetër 24 orësh. Kur të arrihet alarmi, DS3231 kalon një kunj nga lart në të ulët: në kushte normale tranzistori është i ngopur dhe i shkurtër për të tokëzuar portën e MosFET. Pasi alarmi sjell bazën e tranzistorit në tokë, hapet dhe lejon MosFET të mbyllë qarkun dhe t'i japë fuqi pjesës tjetër të përbërësve.

Për më tepër, shtova një bluzë "test-1M". Qëllimi i këtij çelësi është - nëse aktivizohet - të ndryshojë ciklin nga një herë në ditë në një minutë, në mënyrë që të ekzekutohen testet e vendosjes. Për të ndryshuar intervalin nga një ditë në një minutë, së pari duhet të mbyllni kërcyesin "Test-C" për rreth 15 sekonda, për të anashkaluar periudhën e aktivizimit të alarmit të orës dhe për të ndezur pajisjen. Kur të bëhen testet, hapni kërcyesit dhe rivendosni pajisjen (fuqia e ciklit).

Hapi 5: Skematike

Skematike
Skematike

Hapi 6: Softuer dhe Logjikë

Gjatë testeve kam përdorur (për arsye praktike) një kontrollues NodeMCU, kështu që softveri kujdeset për këtë duke vendosur variantin CHIP në "NodeMCU" ose "esp8266".

Skica zbaton bibliotekën WiFiManager për të lejuar që pajisja të lidhet me një AP të vlefshme WiFi gjatë ekzekutimit të parë. Në një rast të tillë, pajisja kalon në modalitetin AP, duke ju lejuar të lidheni me të dhe të zgjidhni rrjetin e duhur WiFi për t'u bashkuar. Pas kësaj, konfigurimi i rrjetit ruhet në EPROM për ciklet pasuese.

Ndryshorja REST_MSG përmban mesazhin http për t'u dërguar kur sensori të gjejë një objekt në kutinë postare. Në rastin tim, ai dërgon një mesazh në një server domotic REST, por ju mund ta ndryshoni atë sipas dëshirës tuaj: një mesazh Telegram BOT, një ngjarje IFTTT WebHook, etj.

Pjesa tjetër e skicës është e gjitha në funksionin setup (), pasi lak nuk arrihet kurrë. Pas konfigurimeve të nevojshme për bibliotekat e shumta, programi vendos orën në 00:00:01 dhe alarmin në një herë në ditë (ose një herë në minutë nëse kërcyesi "test-1M" është aktivizuar). Pastaj bën masën, dërgon njoftimin (nëse ndonjë objekt gjendet në kutinë postare) dhe rivendos pinin e alarmit, duke fikur pajisjen. Në fund të ciklit, vetëm RTC është ndezur, duke numëruar për 24 orë. Jumper Test-1M është i lidhur me kunjin RX të ESP8266, i përdorur si GPIO-3 me anë të cilësimit: setMode (PIN, FUNCTION_3). Për shkak të kësaj, nuk mund të përdorni monitorin Serial gjatë drejtimit të ESP8266: linja "#define DEBUG" (e cila lejon të gjitha printimet serike në skicë) përdoret vetëm kur një NodeMCU është instaluar në vend të një ESP8266.

ESP8266 trajton komunikimin I2C me RTC dhe sensorin përmes kunjave të tij GPIO-0 dhe GPIO-2, të inicializuar në bibliotekën Wire.

Kodi i plotë mund të shkarkohet nga kjo lidhje.

Konkursi teknik ndihmës
Konkursi teknik ndihmës
Konkursi teknik ndihmës
Konkursi teknik ndihmës

Vrapues në Konkursin Teknik Ndihmës

Recommended: