INHOUDSOPGAWE:

Postino: Het die posman iets afgelewer ?: 6 stappe (met foto's)
Postino: Het die posman iets afgelewer ?: 6 stappe (met foto's)

Video: Postino: Het die posman iets afgelewer ?: 6 stappe (met foto's)

Video: Postino: Het die posman iets afgelewer ?: 6 stappe (met foto's)
Video: UFOs, Non-Human Intelligence, Consciousness, The Afterlife & Anomalous Experiences: Whitley Strieber 2024, Desember
Anonim
Postino: Het die posman iets afgelewer?
Postino: Het die posman iets afgelewer?

Nie 'n idee van my nie: eendag vra 'n vriend my 'n manier om op afstand te kyk of daar 'n pos in sy posbus is. Die posbus is nie op die looppaadjie na sy deur nie, en toe hy 'n lui seuntjie is, het hy gewonder of 'n tegnologie -apparaat hom kan waarsku teen 'n brief in die posbus. Ek het na die mark gekyk en ek kon geen gereedgemaakte apparaat vind wat by sy behoeftes pas nie, en ek het 'n uitdaging aan myself gestel: waarom ontwerp en bou ek dit nie?

Die beperkings was:

  • battery-aangedrewe met 'n redelike lewensduur tussen batteryveranderings;
  • WiFi -kommunikasie;
  • kyk net een keer per dag of daar pos is of nie;

Die belangrikste vraag was: watter soort sensor kan aan my vereistes voldoen? 'N Nabyheidssensor kon nie werk nie, aangesien die kontrole slegs een keer per dag gedoen moes word en nie in reële tyd nie; ook nie 'n gewigsensor nie, aangesien dit probleme met kompleksiteit en sensitiwiteit sou veroorsaak ('n vel papier kan baie lig wees). My keuse beland op 'n Time-of-Flight ('n mikro laser) sensor. Sodra dit gekalibreer is vir die posbusgrootte, sou alles wat in die middel was, die sensor veroorsaak het! Gegewe die drie beperkings, het ek besluit om een keer per dag 'n ESP8266 (die sagteware te gebruik en aan WiFi te koppel), 'n VL6180 Time-of-Flight sensor vir die meting en 'n DS3231 Real Time Clock te gebruik: dit was hoe Postino is gebore!

Stap 1: Onderdele en komponente

  • ESP8266-01 (of ESP-12E NodeMCU)
  • VL6108 Tyd-van-vlug-sensor
  • DS3231 Intydse klok
  • IRLZ44 N-kanaal MosFET
  • BC547 Transistor
  • Weerstande
  • CR123 battery

Stap 2: Die sensor

Die sensor
Die sensor

Die hart van die stelsel is die VL6180 -sensor. Dit is 'n baanbrekende tegnologie waarmee absolute afstand onafhanklik van die teikenweerkaatsing gemeet kan word. In plaas daarvan om die afstand te bereken deur die hoeveelheid lig te meet wat teruggekeer word van die voorwerp (wat aansienlik beïnvloed word deur kleur en oppervlak), meet die VL6180X presies die tyd wat die lig neem om na die naaste voorwerp te reis en terug na die sensor te reflekteer (Tyd -vlug). Die VL6180X is maklik om te integreer en spaar die eindproduk lange en duur optiese en meganiese ontwerpoptimalisering deur die kombinasie van 'n IR-emitter, 'n reikafstandsensor en 'n omgevingsligsensor in 'n drie-in-een gereed-vir-gebruik-herleibare pakket.

Die module is ontwerp vir lae krag werking. Ek het die Pololu -uitbreekbord gebruik, met spanningsreguleerders aan boord waarmee dit oor 'n ingangsspanningsreeks van 2,7 V tot 5,5 V.

Die sensor laat 3 geldige skaalfaktore toe wat die maksimum meetbereik van 20 tot 60 cm met verskillende sensitiwiteite stel. Deur 'n omvangskaalfaktor op te stel, kan die potensiële maksimum bereik van die sensor verhoog word ten koste van 'n laer resolusie. Om die skaalfaktor op 2 te stel, bied 'n bereik van tot 40 cm met 'n resolusie van 2 mm, terwyl 'n skaalfaktor van 3 'n bereik van tot 60 cm met 'n resolusie van 3 mm bied. U moet die drie skale met u posbusafmetings toets. Omdat myne 25 cm (H) was, het ek skaalfaktor = 1 gebruik.

Stap 3: Aanpassing in real -time klok

Vir die RTC gebruik ek 'n DS3231 -uitbreekbord met 'n EEPROM (nutteloos vir my doel) en 'n muntstukbattery. Toe ek besluit om die RTC deur die hoofapparaatbattery ('n 3v CR123) aan te dryf, het ek die muntbattery verwyder; Om krag te bespaar, het ek ook die EEPROM verwyder (deur die penne versigtig te sny) en die boord.

Die muntbattery was nie nuttig vir my nie, want ek hoef nie die datum/uur/minuut/sekonde van die regte tyd te hou nie, maar die RTC hoef slegs 24 uur te tel en dan die alarm te aktiveer om die toestel aan te skakel.

Stap 4: Ander Diverse aan boord

Ander Diverse aan boord
Ander Diverse aan boord
Ander Diverse aan boord
Ander Diverse aan boord

Die aanskakel van die toestel geskied deur 'n transistor en 'n MosFET -stroombaan, wat deur die RTC -alarm veroorsaak word. Sodra die alarm herstel is, onderbreek die stroombaan die toestel vir nog 'n 24 -siklus. As die alarm bereik word, skakel die DS3231 'n pen van hoog na laag: in normale toestande is die transistor versadig en word die MosFET -hek afgemaal. Sodra die alarm die basis van die transistor op die grond bring, word dit oopgemaak en kan die MosFET die stroombaan sluit en die res van die komponente krag gee.

Boonop het ek 'n “test-1M” trui bygevoeg. Die doel van hierdie skakelaar is - indien geaktiveer - om die siklus van een keer per dag na een keer per minuut te verander om implementeringstoetse uit te voer. Om die interval van een dag na een minuut te verander, moet u die toets "Test-C" vir ongeveer 15 sekondes toemaak, om die aktiveringsperiode van die klok te omseil en die toestel aan te skakel. As die toetse gedoen is, maak die springers oop en stel die toestel terug (siklus).

Stap 5: Skematiese

Skematiese
Skematiese

Stap 6: Sagteware en logika

Tydens die toetse het ek (om praktiese redes) 'n NodeMCU -beheerder gebruik, sodat die sagteware hiervoor sorg deur die CHIP variale op "NodeMCU" of "esp8266" in te stel.

Die skets implementeer die WiFiManager -biblioteek sodat die toestel tydens die eerste lopie kan koppel aan 'n geldige WiFi AP. In so 'n geval gaan die toestel in die AP -modus, sodat u daaraan kan koppel en die regte WiFi -netwerk kan kies om aan te sluit. Daarna word die netwerkopstelling in die EPROM gestoor vir die daaropvolgende siklusse.

Die veranderlike REST_MSG bevat die http -boodskap wat gestuur moet word wanneer die sensor 'n voorwerp in die posbus kry. In my geval stuur dit 'n boodskap na 'n domotiese REST -bediener, maar u kan dit verander soos u verkies: 'n Telegram BOT -boodskap, 'n IFTTT WebHook -gebeurtenis, ens.

Die res van die skets is alles in die setup () -funksie, aangesien die lus nooit bereik word nie. Na die konfigurasies wat nodig is vir die verskillende biblioteke, stel die sagteware die kloktyd in op 00:00:01 en die alarm op een keer per dag (of een keer per minuut as die “test-1M” springer geaktiveer is). Dit maak die maatstaf, stuur die kennisgewing (as daar 'n voorwerp in die posbus voorkom) en stel die alarmpen terug en skakel die toestel af. Aan die einde van die siklus word slegs die RTC aangeskakel en tel dit vir 24 uur. Die springer Test-1M is gekoppel aan die RX-pen van die ESP8266, gebruik as GPIO-3 deur middel van die instelling: setMode (PIN, FUNCTION_3). As gevolg hiervan kan u nie die seriële monitor gebruik terwyl u die ESP8266 gebruik nie: die reël "#define DEBUG" (wat alle reeksafdrukke in die skets toelaat) word slegs gebruik as 'n NodeMCU in plaas van 'n ESP8266 geïnstalleer is.

Die ESP8266 hanteer die I2C-kommunikasie met die RTC en die sensor deur sy penne GPIO-0 en GPIO-2, geïnisialiseer in die Wire-biblioteek.

Die volledige kode kan van hierdie skakel afgelaai word.

Ondersteunende tegniese wedstryd
Ondersteunende tegniese wedstryd
Ondersteunende tegniese wedstryd
Ondersteunende tegniese wedstryd

Naaswenner in die Assistive Tech -kompetisie

Aanbeveel: