Indholdsfortegnelse:

Postino: Leverede postbudet noget ?: 6 trin (med billeder)
Postino: Leverede postbudet noget ?: 6 trin (med billeder)

Video: Postino: Leverede postbudet noget ?: 6 trin (med billeder)

Video: Postino: Leverede postbudet noget ?: 6 trin (med billeder)
Video: UFOs, Non-Human Intelligence, Consciousness, The Afterlife & Anomalous Experiences: Whitley Strieber 2024, Juli
Anonim
Postino: Leverede postbudet noget?
Postino: Leverede postbudet noget?

Ikke min idé: en dag spurgte en ven mig om en måde at fjernkontrollere, om der var post-mail i hans postkasse. Postkassen er ikke på gangstien til hans dør, så da han er en doven dreng, spekulerede han på, om en teknologigadget skulle kunne advare ham om ethvert brev i postkassen. Jeg kiggede på markedet, og jeg kunne ikke finde nogen færdiglavet enhed, der passer til hans behov, så jeg rejste en udfordring til mig selv: hvorfor ikke designe og bygge den?

Begrænsningerne var:

  • batteridrevet med en rimelig levetid mellem batteriskift;
  • WiFi -kommunikation;
  • tjek bare en gang om dagen, om der var post eller ej;

Hovedspørgsmålet var: hvilken slags sensor kunne passe til mine krav? En nærhedssensor kunne ikke fungere, da kontrollen skulle udføres bare en gang om dagen og ikke i realtid; en vægtsensor heller ikke, da dette ville have tilføjet problemer med kompleksitet og følsomhed (et ark papir kan være meget let). Mit valg landede på en Time-of-Flight (en mikro laser) sensor. Når den var blevet kalibreret til postkassestørrelsen, ville alt, der lå i midten, have udløst sensoren! I betragtning af de 3 begrænsninger besluttede jeg at bruge en ESP8266 (kører softwaren og linker til WiFi), en VL6180 Time-of-Flight sensor til målingen og et DS3231 Real Time Clock til at udløse alle kredsløb en gang om dagen: sådan var det Postino blev født!

Trin 1: Dele og komponenter

  • ESP8266-01 (eller ESP-12E NodeMCU)
  • VL6108 Time-of-Flight sensor
  • DS3231 Ur i realtid
  • IRLZ44 N-kanal MosFET
  • BC547 Transistor
  • Modstande
  • CR123 batteri

Trin 2: Sensoren

Sensoren
Sensoren

Hjertet i systemet er VL6180 sensor. Dette er en banebrydende teknologi, der gør det muligt at måle absolut afstand uafhængigt af målrefleksans. I stedet for at estimere afstanden ved at måle mængden af lys, der reflekteres tilbage fra objektet (som er væsentligt påvirket af farve og overflade), måler VL6180X præcist den tid, lyset tager for at rejse til det nærmeste objekt og reflektere tilbage til sensoren (tid -flyvning). VL6180X kombinerer en IR-sender, en rækkevidde og en omgivende lyssensor i en tre-i-en-refluerbar pakke, der er klar til brug, og er let at integrere og sparer slutproduktproducenten lange og dyre optiske og mekaniske designoptimeringer.

Modulet er designet til drift med lav effekt. Jeg brugte Pololu breakout board, som har spændingsregulatorer om bord, der gør det muligt at arbejde over et indgangsspændingsområde på 2,7 V til 5,5 V.

Sensoren tillader 3 gyldige skaleringsfaktorer, der indstiller målingens maksimale område fra 20 til 60 cm med forskellige følsomheder. Ved at konfigurere en skala skaleringsfaktor kan sensorens potentielle maksimale område øges på bekostning af lavere opløsning. Indstilling af skaleringsfaktoren til 2 giver op til 40 cm rækkevidde med 2 mm opløsning, mens en skaleringsfaktor på 3 giver op til 60 cm rækkevidde med 3 mm opløsning. Du skal teste de 3 skalaer med dine postkassedimensioner. Da min var 25 cm (H) brugte jeg skalafaktor = 1.

Trin 3: Tilpasning af uret i realtid

Til RTC brugte jeg et DS3231 breakout board, som indeholder en EEPROM (ubrugelig til mit formål) og et møntstørrelsesbatteri. Da jeg besluttede at drive RTC'en via hovedenhedens batteri (en 3v CR123), fjernede jeg møntbatteriet; For at spare strøm fjernede jeg også EEPROM (ved omhyggeligt at skære stifterne) og den indbyggede ledning.

Møntbatteriet var ikke nyttigt for mig, fordi jeg ikke behøvede at holde dato/time/minut/sekund i realtid, men RTC måtte kun tælle i 24 timer og derefter udløse alarmen for at tænde enheden.

Trin 4: Andet Diverse om bord

Andet Diverse om bord
Andet Diverse om bord
Andet Diverse om bord
Andet Diverse om bord

Enheden tændes ved hjælp af en transistor og MosFET -kredsløb, der udløses af RTC -alarmen. Når alarmen er nulstillet, afbryder kredsløbet strømmen til enheden i yderligere 24 timers cyklus. Når alarmen er nået, skifter DS3231 en pin fra høj til lav: under normale forhold er transistoren mættet og kortslutter til MosFETs port. Når alarmen bringer transistorens base til jorden, åbnes den og giver MosFET mulighed for at lukke kredsløbet og give strøm til resten af komponenterne.

Derudover tilføjede jeg en “test-1M” jumper. Formålet med denne switch er - hvis den er aktiveret - at ændre cyklussen fra en gang om dagen til en gang i minuttet for at køre implementeringstest. For at ændre intervallet fra en dag til et minut skal du først lukke jumperen “Test-C” i cirka 15 sekunder, for at omgå alarmtiden for aktivering af uret og for at tænde enheden. Når testene er udført, skal du åbne jumperne og nulstille enheden (cyklisk strøm).

Trin 5: Skematisk

Skematisk
Skematisk

Trin 6: Software og logik

Under testene brugte jeg (af praktiske årsager) en NodeMCU -controller, så softwaren tager sig af dette ved at indstille CHIP variale til “NodeMCU” eller “esp8266”.

Skitsen implementerer WiFiManager -biblioteket, så enheden kan oprette forbindelse til et gyldigt WiFi AP under det allerførste løb. I et sådant tilfælde går enheden i AP -tilstand, så du kan oprette forbindelse til den og vælge det rigtige WiFi -netværk til at deltage i. Derefter gemmes netværkskonfigurationen i EPROM til efterfølgende cyklusser.

Variablen REST_MSG indeholder den http -besked, der skal sendes, når sensoren finder et objekt i postkassen. I mit tilfælde sender den en besked til en domotisk REST -server, men du kan ændre den som du foretrækker: en Telegram BOT -meddelelse, en IFTTT WebHook -begivenhed osv.

Resten af skitsen er alle i setup () -funktionen, da løkken aldrig nås. Efter de konfigurationer, der er nødvendige for de flere biblioteker, indstiller softwaren uret til 00:00:01 og alarmen til en gang om dagen (eller en gang i minuttet, hvis "test-1M" jumperen er aktiveret). Derefter foretager den målingen, sender meddelelsen (hvis der findes et objekt i postkassen) og nulstiller alarmnålen og lukker enheden ned. I slutningen af cyklussen er det kun RTC, der tændes og tæller i 24 timer. Jumper Test-1M er forbundet til RX-pin på ESP8266, der bruges som GPIO-3 ved hjælp af indstillingen: setMode (PIN, FUNCTION_3). På grund af dette kan du ikke bruge den serielle skærm, mens du kører ESP8266: linjen "#define DEBUG" (som tillader alle serielle udskrifter i skitsen) bruges kun, når en NodeMCU er installeret i stedet for en ESP8266.

ESP8266 håndterer I2C-kommunikationen med RTC og sensoren gennem dens ben GPIO-0 og GPIO-2, initialiseret i Wire-biblioteket.

Den fulde kode kan downloades fra dette link.

Hjælpemiddel Tech Contest
Hjælpemiddel Tech Contest
Hjælpemiddel Tech Contest
Hjælpemiddel Tech Contest

Nummer to i Assistive Tech Contest

Anbefalede: