Sisukord:

Postino: kas postiljon andis midagi?: 6 sammu (piltidega)
Postino: kas postiljon andis midagi?: 6 sammu (piltidega)

Video: Postino: kas postiljon andis midagi?: 6 sammu (piltidega)

Video: Postino: kas postiljon andis midagi?: 6 sammu (piltidega)
Video: Церковный бугимэн ► 5 Прохождение Silent Hill Downpour 2024, November
Anonim
Postino: kas postiljon toimetas midagi?
Postino: kas postiljon toimetas midagi?

Pole minu idee: ühel päeval küsis üks sõber minult võimalust eemalt kontrollida, kas tema postkasti on postkasti postitatud. Postkast ei ole tema ukse juurde kulgeval rajal, nii et kuna ta on laisk poiss, mõtles ta, kas mõni tehnikavidin peaks teda postkasti saadetud kirjade eest hoiatama. Vaatasin turgu ja ma ei leidnud ühtegi tema vajadustele sobivat valmisseadet, seega esitasin endale väljakutse: miks mitte seda projekteerida ja ehitada?

Piirangud olid järgmised:

  • patareitoitega, mõistliku elueaga patareivahetuste vahel;
  • WiFi -side;
  • kontrollige ainult üks kord päevas, kas posti oli või mitte;

Põhiküsimus oli: milline andur sobiks minu nõuetega? Lähedusandur ei saanud töötada, kuna kontrolli tuli teha vaid üks kord päevas, mitte reaalajas; kaaluandurit ka mitte, sest see oleks lisanud keerukuse ja tundlikkuse probleeme (paberileht võib olla väga kerge). Minu valik langes lennuaja (mikrolaser) andurile. Kui see on postkasti suuruse järgi kalibreeritud, oleks kõik keskel asetsev andur käivitanud! Arvestades kolme piirangut, otsustasin kasutada mõõtmiseks ESP8266 (tarkvara käivitamine ja WiFi-ühenduse loomine), VL6180 lennuaja andurit ja DS3231 reaalajas kella, et käivitada kõik vooluringid üks kord päevas: nii Postino sündis!

Samm: osad ja komponendid

  • ESP8266-01 (või ESP-12E NodeMCU)
  • VL6108 Lennuaja andur
  • DS3231 reaalajas kell
  • IRLZ44 N-kanaliga MosFET
  • BC547 transistor
  • Takistid
  • Aku CR123

2. samm: andur

Andur
Andur

Süsteemi süda on VL6180 andur. See on murranguline tehnoloogia, mis võimaldab absoluutset kaugust mõõta sõltumata sihtmärgi peegeldusest. Selle asemel, et hinnata kaugust, mõõtes objektilt tagasi peegelduva valguse hulka (mida värv ja pind oluliselt mõjutavad), mõõdab VL6180X täpselt aega, mis kulub valgusel lähima objekti juurde liikumiseks ja andurile tagasi peegeldamiseks (aeg -lennult). Kombineerides infrapunakiirguri, kaugusanduri ja ümbritseva valguse anduri kolm-ühes kasutamisvalmis ümbertõstetavas pakendis, on VL6180X lihtne integreerida ning säästab lõpptoote valmistaja pikki ja kulukaid optilisi ja mehaanilisi disaini optimeerimisi.

Moodul on mõeldud väikese võimsusega töötamiseks. Kasutasin Pololu katkestusplaati, mille pardal on pingeregulaatorid, mis võimaldavad tal töötada sisendpingevahemikus 2,7 V kuni 5,5 V.

Andur võimaldab kolme kehtivat skaleerimistegurit, mis määravad mõõtmise maksimaalse vahemiku 20 kuni 60 cm, erineva tundlikkusega. Vahemiku skaleerimisteguri seadistamisega saab anduri potentsiaalset maksimaalset vahemikku suurendada madalama eraldusvõime hinnaga. Mastaabiteguri seadmine väärtusele 2 tagab kuni 40 cm vahemiku 2 mm eraldusvõimega, samas kui skaleerimistegur 3 tagab kuni 60 cm ulatuse 3 mm eraldusvõimega. Peate testima kolme skaalat oma postkasti mõõtmetega. Kuna minu pikkus oli 25 cm (H), kasutasin skaalategurit = 1.

3. samm: reaalajas kella kohandamine

RTC jaoks kasutasin DS3231 jaotusplaati, mis sisaldab EEPROM -i (minu jaoks kasutu) ja mündisuurust akut. Kuna otsustasin toita RTC -d põhiseadme aku (3v CR123) kaudu, eemaldasin mündipatarei; Energia säästmiseks eemaldasin ka EEPROM -i (lõigates selle tihvtid ettevaatlikult ära) ja rongisisese juhtme.

Mündipatarei ei olnud mulle kasulik, kuna mul ei olnud vaja reaalajas kuupäeva/tundi/minutit/sekundit salvestada, kuid RTC -l tuli loendada ainult 24 tundi ja seejärel käivitada alarm seadme sisselülitamiseks.

4. samm: muud mitmesugused pardal

Muud mitmesugused pardal
Muud mitmesugused pardal
Muud mitmesugused pardal
Muud mitmesugused pardal

Seadme sisselülitamine toimub transistori ja MosFET -ahela abil, mille käivitab RTC -häire. Kui häire on lähtestatud, katkestab vooluring seadme toite veel üheks 24 -tunniseks tsükliks. Häire saabumisel lülitab DS3231 tihvti kõrgelt madalale: normaaltingimustes on transistor küllastunud ja ühendab MosFETi värava maandamisega. Kui alarm toob transistori aluse maandusele, avaneb see ja võimaldab MosFETil vooluahela sulgeda ja ülejäänud komponentidele voolu anda.

Lisaks lisasin “test-1M” hüppaja. Selle lüliti eesmärk on - kui see on aktiveeritud - muuta tsüklit üks kord päevas kord minutis, et käivitada juurutamiskatsed. Intervalli muutmiseks ühest päevast minutiks peate esmalt sulgema hüppaja “Test-C” umbes 15 sekundiks, et mööduda kellaaja aktiveerimisperioodist ja lülitada seade sisse. Kui testid on tehtud, avage džemprid ja lähtestage seade (tsükli võimsus).

Samm: skemaatiline

Skeem
Skeem

6. samm: tarkvara ja loogika

Testide ajal kasutasin (praktilistel põhjustel) NodeMCU kontrollerit, nii et tarkvara hoolitseb selle eest, seades CHIP variale väärtuseks “NodeMCU” või “esp8266”.

Visand rakendab WiFiManageri teeki, et võimaldada seadmel ühendada kehtiva WiFi AP -ga juba esimesel käivitamisel. Sellisel juhul läheb seade AP -režiimi, mis võimaldab teil sellega ühenduse luua ja valida õige WiFi -võrgu, millega liituda. Pärast seda salvestatakse võrgukonfiguratsioon järgmiste tsüklite jaoks EPROM -i.

Muutuja REST_MSG sisaldab http -sõnumit, mis tuleb saata, kui andur leiab postkastist objekti. Minu puhul saadab see teate domootilisele REST -serverile, kuid saate seda oma äranägemise järgi muuta: telegrammi BOT -sõnum, IFTTT WebHooki sündmus jne.

Ülejäänud eskiis on kõik seadistamise () funktsioonis, kuna silmust ei jõuta kunagi. Pärast mitme teegi jaoks vajalike seadistuste tegemist määrab tarkvara kellaajaks 00:00:01 ja äratuseks 1 kord päevas (või üks kord minutis, kui hüpikaken „test-1M” on aktiveeritud). Seejärel teeb see meetme, saadab teate (kui postkastist leitakse mõni objekt) ja lähtestab häiretapi, lülitades seadme välja. Tsükli lõpus lülitatakse sisse ainult RTC, mis loeb 24 tundi. Hüppaja Test-1M on ühendatud ESP8266 RX-tihvtiga, mida kasutatakse GPIO-3-na, kasutades seadistust: setMode (PIN, FUNCTION_3). Seetõttu ei saa ESP8266 käitamise ajal kasutada jadamonitori: rida „#define DEBUG” (mis võimaldab kõik eskiis olevad seeriaprindid) kasutatakse ainult siis, kui ESP8266 asemel on installitud NodeMCU.

ESP8266 haldab I2C-ühendust RTC-ga ja anduriga oma tihvtide GPIO-0 ja GPIO-2 kaudu, mis on initsieeritud traaditeegis.

Täieliku koodi saab alla laadida sellelt lingilt.

Abistava tehnika võistlus
Abistava tehnika võistlus
Abistava tehnika võistlus
Abistava tehnika võistlus

Abistava tehnikavõistluse teine koht

Soovitan: