Sisällysluettelo:

Postino: toimittiko postimies mitään?: 6 vaihetta (kuvilla)
Postino: toimittiko postimies mitään?: 6 vaihetta (kuvilla)

Video: Postino: toimittiko postimies mitään?: 6 vaihetta (kuvilla)

Video: Postino: toimittiko postimies mitään?: 6 vaihetta (kuvilla)
Video: SHKARA CARACilt / VÄIKESE kala konserveeritud / Privozi kala 2024, Marraskuu
Anonim
Postino: toimittiko postimies mitään?
Postino: toimittiko postimies mitään?

Ei ajatukseni: eräänä päivänä ystävä kysyi minulta tapaa tarkistaa etänä, onko hänen postilokerossaan postia. Postilaatikko ei ole kävelytiellä ovelleen, joten koska hän on laiska poika, hän ihmetteli, pitäisikö teknologialaitteen varoittaa häntä kaikista postilaatikkoon tulevista kirjeistä. Katsoin markkinoita, enkä löytänyt hänen tarpeisiinsa sopivaa valmista laitetta, joten nostin itselleni haasteen: miksi ei suunnitella ja rakentaa sitä?

Rajoitukset olivat:

  • paristokäyttöinen ja kohtuullinen käyttöikä paristojen vaihdon välillä;
  • WiFi -viestintä;
  • tarkista vain kerran päivässä, onko postia tullut vai ei;

Pääkysymys oli: millainen anturi voisi vastata tarpeitani? Läheisyysanturi ei voinut toimia, koska tarkistus oli tehtävä vain kerran päivässä eikä reaaliajassa; painoanturi ei myöskään, koska se olisi lisännyt monimutkaisuutta ja herkkyysongelmia (paperiarkki voi olla hyvin kevyt). Valintani laskeutui Time-of-Flight (mikrolaser) -anturiin. Kun se oli kalibroitu postilaatikon koolle, kaikki keskellä oleva olisi laukaissut anturin! Ottaen huomioon kolme rajoitusta, päätin käyttää ESP8266: ta (käynnissä ohjelmisto ja linkitys WiFi-verkkoon), VL6180-aika-anturia mittaukseen ja DS3231-reaaliaikakelloa käynnistämään kaikki piirit kerran päivässä: näin Postino syntyi!

Vaihe 1: Osat ja komponentit

  • ESP8266-01 (tai ESP-12E-solmuMCU)
  • VL6108 Lentoaika-anturi
  • DS3231 reaaliaikainen kello
  • IRLZ44 N-kanavainen MosFET
  • BC547 Transistori
  • Vastukset
  • CR123 -akku

Vaihe 2: Anturi

Anturi
Anturi

Järjestelmän sydän on VL6180 -anturi. Tämä on uraauurtava tekniikka, joka mahdollistaa absoluuttisen etäisyyden mittaamisen riippumatta kohteen heijastuskyvystä. Sen sijaan, että arvioitiin etäisyyttä mittaamalla kohteesta heijastuneen valon määrä (johon väri ja pinta vaikuttavat merkittävästi), VL6180X mittaa tarkasti ajan, jonka valolla kuluu lähimpään kohteeseen ja heijastuu takaisin anturiin (Aika -lennosta). Yhdistämällä infrapunalähettimen, etäisyysanturin ja ympäröivän valon anturin kolmessa yhdessä käyttövalmiissa uudelleenlatauspaketissa VL6180X on helppo integroida ja säästää lopputuotteen valmistajan pitkiä ja kalliita optisen ja mekaanisen suunnittelun optimointeja.

Moduuli on suunniteltu pienitehoiseen käyttöön. Käytin Pololu -katkaisukorttia, jossa on jännitesäätimet, joiden avulla se voi toimia 2,7 V - 5,5 V: n tulojännitealueella.

Anturi sallii 3 kelvollista skaalaustekijää, jotka asettavat mittauksen maksimialueen 20-60 cm, eri herkkyyksillä. Kun määrität alueen skaalaustekijän, anturin mahdollista maksimialuetta voidaan kasvattaa pienemmän resoluution kustannuksella. Jos skaalauskerroin asetetaan arvoon 2, alue on jopa 40 cm 2 mm: n tarkkuudella, kun taas skaalauskerroin 3 tarjoaa jopa 60 cm: n alueen 3 mm: n tarkkuudella. Sinun on testattava kolme mittakaavaa postilaatikon mittojen kanssa. Koska minun oli 25 cm (H), käytin asteikon kerrointa = 1.

Vaihe 3: Kellon mukauttaminen reaaliajassa

RTC: ssä käytin DS3231 -murtokorttia, joka sisältää EEPROMin (hyödytön tarkoitukseeni) ja kolikon kokoisen akun. Kun päätin käyttää RTC: tä päälaitteen akun (3v CR123) kautta, irrotin kolikkoakun; Virran säästämiseksi poistin myös EEPROMin (leikkaamalla varovasti sen tapit) ja sisäisen ledin.

Kolikkoakusta ei ollut hyötyä minulle, koska minun ei tarvinnut pitää reaaliaikaista päivämäärää/tuntia/minuuttia/sekuntia, mutta RTC: n piti laskea vain 24 tuntia ja käynnistää sitten hälytys laitteen käynnistämiseksi.

Vaihe 4: Muut sekalaiset aluksella

Muut sekalaiset aluksella
Muut sekalaiset aluksella
Muut sekalaiset aluksella
Muut sekalaiset aluksella

Laitteeseen kytketään virta RTC -hälytyksen laukaisemalla transistori- ja MosFET -piirillä. Kun hälytys on kuitattu, piiri katkaisee laitteen virran vielä 24 tunnin ajan. Kun hälytys saavutetaan, DS3231 vaihtaa nastan korkeasta matalaan: normaaliolosuhteissa transistori on kyllästynyt ja oikosulussa MosFETin porttiin. Kun hälytys tuo transistorin kannan maahan, se avautuu ja sallii MosFETin sulkea piirin ja antaa virtaa muille komponenteille.

Lisäksi lisäsin "test-1M" -puseron. Tämän kytkimen tarkoituksena on - jos se on aktivoitu - muuttaa sykliä kerran päivässä kerran minuutissa, jotta voidaan suorittaa käyttöönottotestit. Jos haluat muuttaa välin yhdestä päivästä minuuttiin, sinun on ensin suljettava hyppyjohdin “Test-C” noin 15 sekunniksi, ohitettava kellon hälytyksen aktivointijakso ja kytkettävä laite päälle. Kun testit on tehty, avaa hyppyjohtimet ja nollaa laite (jaksovirta).

Vaihe 5: Kaavio

Kaavamainen
Kaavamainen

Vaihe 6: Ohjelmisto ja logiikka

Testien aikana käytin (käytännön syistä) NodeMCU -ohjainta, joten ohjelmisto huolehtii siitä asettamalla CHIP -muuttujan arvoksi “NodeMCU” tai “esp8266”.

Luonnos toteuttaa WiFiManager -kirjaston, jotta laite voi muodostaa yhteyden kelvolliseen WiFi -tukiasemaan ensimmäisen ajon aikana. Tällaisessa tapauksessa laite siirtyy tukiasemaan, jolloin voit muodostaa yhteyden siihen ja valita oikean WiFi -verkon liittyäksesi. Tämän jälkeen verkkomääritykset tallennetaan EPROMiin seuraavia syklejä varten.

Muuttuja REST_MSG sisältää http -viestin, joka lähetetään, kun anturi löytää kohteen postilaatikosta. Minun tapauksessani se lähettää viestin domoottiselle REST -palvelimelle, mutta voit muuttaa sitä haluamallasi tavalla: Telegram BOT -viestin, IFTTT WebHook -tapahtuman jne.

Loput luonnoksesta ovat setup () -toiminnossa, koska silmukkaa ei koskaan saavuteta. Useiden kirjastojen tarvitsemien määritysten jälkeen ohjelmisto asettaa kellonajan 00:00:01 ja hälytyksen kerran päivässä (tai kerran minuutissa, jos "test-1M" -hyppy on aktivoitu). Sitten se suorittaa toimenpiteen, lähettää ilmoituksen (jos postilaatikosta löytyy esineitä) ja nollaa hälytystapin ja sammuttaa laitteen. Syklin lopussa vain RTC käynnistyy 24 tunnin ajan. Hyppyjohdin Test-1M on kytketty ESP8266: n RX-nastaan, jota käytetään GPIO-3: na asetuksella: setMode (PIN, FUNCTION_3). Tästä syystä et voi käyttää sarjamonitoria ESP8266: n suorittamisen aikana: "#define DEBUG" -riviä (joka sallii kaikki luonnoksen sarjatulokset) käytetään vain, kun NodeMCU on asennettu ESP8266: n tilalle.

ESP8266 käsittelee I2C-tiedonsiirron RTC: n ja anturin kanssa nastojen GPIO-0 ja GPIO-2 kautta, jotka on alustettu Wire-kirjastossa.

Koko koodi voidaan ladata tästä linkistä.

Avustava tekninen kilpailu
Avustava tekninen kilpailu
Avustava tekninen kilpailu
Avustava tekninen kilpailu

Toinen sija avustavassa teknisessä kilpailussa

Suositeltava: