Indholdsfortegnelse:
- Trin 1: Dele og komponenter
- Trin 2: Sensoren
- Trin 3: Tilpasning af uret i realtid
- Trin 4: Andet Diverse om bord
- Trin 5: Skematisk
- Trin 6: Software og logik
Video: Postino: Leverede postbudet noget ?: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
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
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
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
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.
Nummer to i Assistive Tech Contest
Anbefalede:
Raspberry Pi 4 Retropie -boot fra eksternt, hvis der ikke er noget SD -kort til stede: 5 trin
Raspberry Pi 4 Retropie Boot fra eksternt hvis der ikke er noget SD -kort til stede: ~ github.com/engrpanda
Gør noget rart med en ødelagt spilkonsol: 6 trin
Gør noget rart med en ødelagt spilkonsol: For et stykke tid siden gav min ven mig sin gamle PS2, der ikke længere virker. Da jeg desværre ikke er elingeniør, kan jeg desværre ikke reparere konsollen, men jeg kan bruge min viden om RetroPie til at oprette et helt nyt spilsystem. (For denne instruerbare jeg
Forbered din Raspberry Pi til noget !: 7 trin (med billeder)
Forbered din Raspberry Pi til noget !: Her på MakerSpace elsker vi Raspberry Pi! Og uanset om vi skal bruge det til programmering, hosting af en webserver eller test af den nyeste Raspbian -distribution, forbereder vi det altid på samme måde. Det er et godt udgangspunkt for at spille med Raspbe
Gør en generisk plastik -gadget til noget lidt smukkere: 14 trin (med billeder)
Skift en generisk plastik -gadget til noget lidt smukkere: Motivation: I løbet af sommeren surfer jeg enten eller arbejder på projekter omkring vores lille have/gård. Vinteren er over os her i Boston, og jeg er klar til at begynde at angribe den lange liste over projekter, jeg har udskudt til 'indendørsmånederne'. Jeg har dog
Internetradio med en tynd Evo T20 -klient, der ikke behøver noget monitortastatur eller mus til at køre !: 7 trin
Internetradio med en Evo T20 tynd klient, der ikke har brug for et monitortastatur eller mus til at køre !: Sådan bruges en Evo T20 tynd klient som en selvstændig internetradiomodtager: Hvorfor gør jeg det godt Jeg gjorde det af 3 grunde 1] fordi det var en udfordring 2] At have en lydløs lavforbrugsenhed kun 20 watt på toppen i stedet for at køre en støjende po