Sadržaj:

Postino: Je li poštar nešto isporučio?: 6 koraka (sa slikama)
Postino: Je li poštar nešto isporučio?: 6 koraka (sa slikama)

Video: Postino: Je li poštar nešto isporučio?: 6 koraka (sa slikama)

Video: Postino: Je li poštar nešto isporučio?: 6 koraka (sa slikama)
Video: Deutsch Lernen mit Dialogen B1 2024, Juli
Anonim
Postino: Je li poštar nešto isporučio?
Postino: Je li poštar nešto isporučio?

To nije moja ideja: jednog dana me je prijatelj zamolio za način da daljinski provjerim da li neka pošta dolazi u njegovo poštansko sanduče. Poštansko sanduče nije na putu do njegovih vrata, pa se, budući da je lijen dječak, zapitao treba li ga tehnološki gadžet moći upozoriti na svako pismo u poštansko sanduče. Bacio sam pogled na tržište i nisam našao nijedan gotov uređaj koji odgovara njegovim potrebama, pa sam sebi postavio izazov: zašto ga ne dizajnirati i izgraditi?

Ograničenja su bila:

  • na baterije, sa razumnim vekom trajanja između izmena baterije;
  • WiFi komunikacija;
  • samo jednom dnevno provjeravajte ima li pošte ili ne;

Glavno pitanje je bilo: koja vrsta senzora može odgovarati mojim zahtjevima? Senzor blizine nije mogao raditi, jer se provjera morala raditi samo jednom dnevno, a ne u stvarnom vremenu; ni senzor težine, jer bi to povećalo složenost i probleme s osjetljivošću (list papira mogao bi biti vrlo lagan). Moj izbor je sletio na senzor Time-of-Flight (mikro laser). Kad ga jednom kalibrirate za veličinu poštanskog sandučića, sve što leži na sredini aktiviralo bi senzor! S obzirom na tri ograničenja, odlučio sam koristiti ESP8266 (pokrenut softver i povezivanje na WiFi), VL6180 senzor vremena leta za mjerenje i DS3231 sat u stvarnom vremenu za pokretanje svih krugova jednom dnevno: tako je Postino je rođen!

Korak 1: Dijelovi i komponente

  • ESP8266-01 (ili ESP-12E NodeMCU)
  • VL6108 Senzor vremena leta
  • DS3231 Sat u realnom vremenu
  • IRLZ44 N-kanalni MosFET
  • BC547 Tranzistor
  • Otpornici
  • CR123 Baterija

Korak 2: Senzor

Senzor
Senzor

Srce sistema je VL6180 senzor. Ovo je revolucionarna tehnologija koja omogućava mjerenje apsolutne udaljenosti neovisno o refleksiji cilja. Umjesto procjene udaljenosti mjerenjem količine svjetlosti koja se reflektira od objekta (na što značajno utiču boja i površina), VL6180X precizno mjeri vrijeme potrebno svjetlu da putuje do najbližeg objekta i reflektira se nazad do senzora (vrijeme -flight). Kombinirajući IR odašiljač, senzor dometa i senzor ambijentalnog svjetla u pakiranju spremnom za ponovnu upotrebu tri u jednom, VL6180X je jednostavno integrirati i proizvođaču krajnjih proizvoda štedi duge i skupe optičke i mehaničke optimizacije dizajna.

Modul je dizajniran za rad male snage. Koristio sam pololu ploču za isključivanje koja ima regulatore napona koji joj omogućuju rad u rasponu ulaznog napona od 2,7 V do 5,5 V.

Senzor dopušta 3 valjana faktora skaliranja koji postavljaju maksimalni raspon mjerenja od 20 do 60 cm, s različitim osjetljivostima. Konfiguriranjem faktora skaliranja raspona, potencijalni maksimalni raspon senzora može se povećati po cijenu niže rezolucije. Postavljanje faktora skaliranja na 2 pruža raspon do 40 cm s rezolucijom od 2 mm, dok faktor skaliranja 3 daje raspon do 60 cm s rezolucijom od 3 mm. Morate testirati 3 ljestvice s dimenzijama vašeg poštanskog sandučića. Kako je moja bila 25 cm (H), koristio sam faktor razmjere = 1.

Korak 3: Prilagođavanje sata u realnom vremenu

Za RTC sam koristio probojnu ploču DS3231 koja uključuje EEPROM (beskoristan za moju svrhu) i bateriju veličine novčića. Pošto sam odlučio da napajam RTC preko baterije glavnog uređaja (3v CR123), uklonio sam bateriju u obliku novčića; radi uštede energije također sam uklonio EEPROM (pažljivim rezanjem njegovih igala) i ugrađenu LED diodu.

Novčanica mi nije bila korisna jer nisam morao držati datum/sat/minutu/sekundu u stvarnom vremenu, ali RTC je morao brojati samo 24 sata, a zatim aktivirati alarm za uključivanje uređaja.

Korak 4: Ostalo ostalo na brodu

Ostalo Ostalo na brodu
Ostalo Ostalo na brodu
Ostalo Ostalo na brodu
Ostalo Ostalo na brodu

Uključivanje uređaja postiže se tranzistorskim i MosFET krugom, pokreće RTC alarm. Nakon resetiranja alarma, krug prekida napajanje uređaja za još 24 sata. Kad se dosegne alarm, DS3231 prebacuje pin s visokog na nisko: u normalnim uvjetima tranzistor je zasićen i spaja se na masu vrata MosFET -a. Nakon što alarm dovede bazu tranzistora na masu, otvara se i dopušta MosFET -u da zatvori krug i da napaja ostale komponente.

Osim toga, dodao sam kratkospojnik „test-1M“. Svrha ovog prekidača je - ako je aktiviran - promijeniti ciklus s jednom dnevno na jednom u minuti, kako bi se pokrenuli testovi implementacije. Da biste promijenili interval s jednog dana na jedan minut, prvo morate zatvoriti kratkospojnik „Test-C“na oko 15 sekundi, zaobići period aktiviranja alarma sata i uključiti uređaj. Kada se testovi završe, otvorite kratkospojnike i resetirajte uređaj (ciklus napajanja).

Korak 5: Shema

Shematski
Shematski

Korak 6: Softver i logika

Tokom testova koristio sam (iz praktičnih razloga) NodeMCU kontroler, pa softver vodi računa o tome postavljanjem varijable CHIP na „NodeMCU“ili „esp8266“.

Skica implementira biblioteku WiFiManager kako bi omogućila uređaju da se poveže sa važećom WiFi pristupnom tačkom tokom prvog pokretanja. U tom slučaju uređaj prelazi u AP način rada, omogućavajući vam da se povežete s njim i odaberete odgovarajuću WiFi mrežu za pridruživanje. Nakon toga, mrežna konfiguracija se sprema u EPROM za sljedeće cikluse.

Varijabla REST_MSG sadrži http poruku za slanje kada senzor pronađe objekt u poštanskom sandučetu. U mom slučaju, šalje poruku domotičkom REST serveru, ali možete je promijeniti po želji: Telegram BOT poruku, IFTTT WebHook događaj itd.

Ostatak skice je u funkciji setup (), jer se petlja nikada ne dostiže. Nakon konfiguracija potrebnih za nekoliko biblioteka, softver postavlja vrijeme sata na 00:00:01 i alarm na jednom dnevno (ili jednom u minuti ako je aktiviran kratkospojnik "test-1M"). Zatim vrši mjerenje, šalje obavijest (ako se u poštanskom sandučiću nađe neki objekt) i resetira pin alarma, isključujući uređaj. Na kraju ciklusa uključuje se samo RTC, računajući 24 sata. Kratkospojnik Test-1M je povezan na RX pin ESP8266, koji se koristi kao GPIO-3 pomoću postavke: setMode (PIN, FUNCTION_3). Zbog toga ne možete koristiti serijski monitor dok pokrećete ESP8266: linija "#define DEBUG" (koja dopušta sve serijske ispise na skici) koristi se samo ako je NodeMCU instaliran umjesto ESP8266.

ESP8266 upravlja I2C komunikacijom s RTC-om i senzorom preko njegovih pinova GPIO-0 i GPIO-2, inicijaliziranih u knjižnici Wire.

Cijeli kôd možete preuzeti sa ove veze.

Takmičenje u tehničkoj podršci
Takmičenje u tehničkoj podršci
Takmičenje u tehničkoj podršci
Takmičenje u tehničkoj podršci

Drugoplasirani na takmičenju u tehničkoj podršci

Preporučuje se: