Indholdsfortegnelse:
- Trin 1: Værktøjer og materialer
- Trin 2: Frakobling af den originale enhed
- Trin 3: Kredsløb forklaret
- Trin 4: Forberedelse af ATTiny85
- Trin 5: Bygning af Wemos -skjoldet
- Trin 6: Forberedelse af Wemos
- Trin 7: Sæt det hele sammen
Video: IOToilet: 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:30
IOToilet er den første smarte toiletpapirholder, der holder styr på vores daglige brug af toiletpapir og tillader akkumulering af statistik, der viser disse metrics. Og hvorfor skulle jeg bekymre mig om min daglige brug af toiletpapir, kan du spørge? Som det viser sig, har vores mavesundhed, især fordøjelsescyklussen, meget at gøre med både vores fysiske helbred og vores mentale. Her er for eksempel en dejlig TED -snak (en af ganske få i øvrigt), der uddyber dette emne:
Jeg fik oprindeligt til opgave at bygge 10 enheder af denne enhed til et brandingbureau, hvis klip du kan se ovenfor (2. placering), til en målrettet marketingkampagne for et stort firma. I begyndelsen afviste jeg ideen som en, der kom fra et andet overkreativt sind, der desperat forsøgte at vinde en klientkonto, men efterhånden voksede det på mig, indtil jeg indså værdien af de oplysninger, der blev indsamlet via denne enhed.
Opbygningen var baseret på et eksisterende stykke hardware, som min klient fik fra EBay, en stemmeoptagelsesenhed indkapslet i en toiletpapirholder. Den havde den rigtige formfaktor og alle de nødvendige eksterne enheder, der allerede var indbygget, såsom en højttaler, en bevægelsessensor til at udløse enheden, fjedre til at holde selve toiletpapiret, batterirum og en tænd / sluk-kontakt, så jeg valgte med glæde ved hjælp af denne færdige frem for at modellere og udskrive min egen.
Trin 1: Værktøjer og materialer
Anvendte materialer:
Toiletpapirholder
Wemos D1 Mini
ATTiny85 chip, DIP emballage
2 x 2n2222 transistor
220 Ohm modstand
2 * 1KOhm modstand
MPU6050 accelerometer
Valgfrit, hvis jeg ikke bruger mit printkort:
Wemos prototypeskjold
ledning, lodning osv.
Brugte værktøjer:
Dremel med skæreskive
ATTiny dev -kort (til bekvem upload af firmware)
USB Tiny ISP programmerer
trekantet skruetrækker, jeg brugte dette kit:
Trin 2: Frakobling af den originale enhed
Efter at have fået den originale toiletpapirspindel, åbnede jeg sagen ved hjælp af en trekantet skruetrækker og fjernede den originale print, afmonterede højttaleren og efterlod så meget ledning som muligt forbundet til den.
Derefter lodde jeg LED'en og tilt -sensoren ud af det originale printkort for senere at blive integreret i det nye kredsløb. Vær opmærksom på ikke at overophedes vippekontakten, da det kan beskadige. Min var grå, men da jeg ikke tog et godt skud af den, når jeg fjernede den fra den originale enhed, måtte jeg bruge et foto fra nettet (se ovenfor), hvor det var grønt. Bare en lille detalje.
Efter at have åbnet sagen og fjernet elektronikken, brugte jeg også en Dremel til at fjerne overskydende plastik, der blev brugt til at holde det originale printkort på plads, disse små plasthylder og en ud af de 4 skruerør. Du kan udskyde dette til samlingsstadiet, hvis du vil, men under alle omstændigheder er der brug for noget plastisk trimning.
Trin 3: Kredsløb forklaret
Så her er lidt om logikken bag kredsløbet:
For at batterierne skulle holde længe, måtte jeg lægge både MPU6050 accelerometer og ESP8266 processor i Wemos D1 Mini til at sove mellem aktiveringer. Den første blev let udført ved hjælp af en transistor, der tændte og slukkede MPU6050.
Bemærk: Jeg troede oprindeligt, at jeg kunne programmere det til at sende et afbrydelsessignal, der vækker hovedprocessoren. Ak, jeg kunne ikke finde en måde at få det til at ske, at konfigurere de korrekte registre for MPU6050 var en vanskelig opgave, som jeg stadig ikke ved, om det overhovedet er muligt …
Min anden mulighed var at bruge vippekontakten, der fulgte med den originale enhed, til at vække ESP. Jeg knyttede den først direkte til Wemos RESET -stiften som beskrevet på billederne ovenfor ved hjælp af en transistor til at aktivere/deaktivere mekanismen. Når transistorbasen var høj, kunne GND passere gennem vippekontakten og få den til midlertidigt at forbinde til RESET -stiften, hvilket forårsager MCU -nulstilling (dette er tilsyneladende den eneste måde at vække en ESP fra dyb søvn). Derefter sluttede jeg D0 til transistorbasen efter den forudsætning, at dette ben er HØJT, så længe MCU sover, og så snart det vågner, går D0 tilbage til LOW, hvilket deaktiverer nulstillingsmekanismen. Jeg behøvede jo ikke en tilbagevendende nulstilling til at ske, bare for første gang, da toiletpapirholderen begyndte at bevæge sig.
Hvad jeg dog opdagede var, at pin D0 tager ret lang tid efter MCU -nulstilling for at gå tilbage til LOW, cirka 200 ms. Dette betød, at hvis jeg snurrede toiletpapirholderen hurtigt nok, mens MCU sov, ville det få flere NULSTILLINGER, i stedet for at tælle runder, som det skulle.
Så jeg forsøgte at løse denne nye situation med nogle diskrete komponenter (kondensatorer, transistorer osv.), Men det lykkedes mig kun at få en delvis løsning på problemet.
Jeg endte med at tilføje en anden MCU, en ATTiny85, som ville blive vågnet fra søvn ved vippekontakten, derefter vågne ESP8266 og vente et stykke tid, før jeg går i dvale igen. Jeg ved, at dette nok ikke er den mest økonomiske løsning på problemet, men jeg havde en deadline …
Du kan se den detaljerede løsning i det skema, jeg har inkluderet. Bemærk, at 10K modstande blev udskiftet med 1K, da de 10k var for høje til, at transistorer kunne blive helt åbne.
Trin 4: Forberedelse af ATTiny85
Hvis du aldrig har programmeret en ATTiny85, frygt ikke! Brug af den elskede Arduino IDE kan få dig hele vejen. Start med disse instruktioner om, hvordan du konfigurerer Arduino IDE:
github.com/SpenceKonde/ATTinyCore/blob/mas…
Installer derefter driverne til USBTinyISP herfra:
learn.adafruit.com/usbtinyisp/drivers
Indlæs nu den vedhæftede testkode: WakeOnExternalInterruptTest.ino
og tilslut (se ATTiny85 Pinout -diagram):
1. Takt -knap mellem pin 3 og jord
2. En LED og en 220 Ohm modstand i serie, mellem pin 2 og jord
Næste, Vælg USBTinyISP som programmør (under Værktøjer -> Programmerer), og upload testskitsen til tavlen.
Lysdioden skal blinke 5 gange, derefter skal chippen gå i dvale. Ved at trykke på knappen får den til at vågne og gentage denne sekvens.
Fik det til at fungere? store! Upload den sidste skitse "Awakener" til ATTiny, der skal bruges på det sidste kredsløb.
Trin 5: Bygning af Wemos -skjoldet
Så for at konstruere skjoldet har du 3 muligheder, du kan vælge imellem:
1. Brug en standard protoshield til Wemos og lod kredsløbet på den.
2. Lav et PCB baseret på de vedhæftede EAGLE -filer.
3. Spørg mig om et printkort, som jeg kan sende dig med sneglepost (jeg har et par liggende, omkostningerne er næsten ingenting).
Under alle omstændigheder anbefaler jeg at konstruere kredsløbet på et brødbræt, før du går i gang med printkortet!
Hvis du bruger printkortmulighederne, skal du sørge for at tilslutte den sorte ledning som på fotos på enten forsiden eller bagsiden af brættet (sidstnævnte fungerede bedst for mig). Denne ledning forbinder GND fra Wemos til ATTiny85, og uden det vil vågne ikke finde sted.
Bare se godt på billederne og læs de annotationer, jeg har tilføjet, dette burde være nok.
Trin 6: Forberedelse af Wemos
Hvis du aldrig har brugt Arduino IDE til at programmere et Wemos -kort, start med at installere board manager og vælg boardet i menuen Tools -> Board, som beskrevet her:
github.com/esp8266/Arduino
Start med at uploade blinkskitsen til dit bord, og sørg for, at koden uploades korrekt.
Trin 7: Sæt det hele sammen
Installer skærmen på Wemos. Du kan lodde det, men jeg anbefaler at bruge kvindelige overskrifter loddet til Wemos, der tillader midlertidig forbindelse mellem Wemos og skjoldet i tilfælde af problemer. Bare husk på, at hunhovedet skal stå af i den sidste fase af samlingen, for at enheden kan passe ind i plastikskallen. For at gøre tingene lidt mere komplicerede er der også en god chance for, at kodeoverførsel vil blive deaktiveret, når der er sluttet et skjold til Wemos. Jeg har stødt på det fænomen på en ikke -konsekvent måde, og havde ikke tid til at undersøge det.
Råd: planlæg fremad.
Nu, test!
Når den er installeret, skal du starte med at uploade BlinkAccelerometer -testskitsen til Wemos, og sørg for at den tænder og slukker MPU6050 LED. Hvis ikke, skal du kontrollere ledningerne til transistoren, der er ansvarlig for strømforsyningen til MPU6050. Dens base skal tilsluttes pin D5 på Wemos, kollektoren skal forbindes til accelerometerets GND, og emitteren skal tilsluttes fælles GND.
Upload derefter TurnCountTest1 -skitsen til Wemos -kortet og åbn Serial Monitor. Du bør se data komme fra accelerometeret, der vises på skærmen. Hvis uret ikke fungerer, skal du kontrollere uret og datakabler: CLK skal tilsluttes D1, og DATA skal tilsluttes D2.
Nu loddes vippekontakten til de udpegede huller i brættet (se annotationer), og sørg for, at den er vinkelret på rotationsaksen, så spinding af spindlen lukker og åbner forbindelsen mellem dens to ledninger.
Tilslut derefter batteri 3V -indgangen til Wemos VCC og dens minusterminal til Wemos GND. Sørg for, at enheden tændes ved at tænde kontakten. Tilslut til sidst højttaleren til GND og pin D4 på Wemos.
Upload den sidste kode til Wemos - en skitse kaldet SmartWipe. Åbn en seriel skærm, og sørg for, at enheden går i dvale efter 3 minutter og vågner ved at flytte vippekontakten (tilsvarende meddelelser skal vises på skærmen).
Hvis du ønsker at reducere den tid, Wemos er vågen (hovedsageligt til testformål), skal du dæmpe værdien af WIFI_CONFIGURATION_IDLE_TIMEOUT defineret i params.h og uploade skitsen til tavlen. Sørg for, at når Wemos er gået i dyb søvn, vil bevægelse af vippekontakten få ATTiny til at vågne (signaleret af LED), hvilket igen vækker Wemos.
Skift værdien af parameteren tilbage til 180000L (3 minutter, i millisekunder), og sørg for, at Wemos affyrer et Hotspot kaldet IOToilet_XXXXXXXX, hvor XXXXXXX hentes fra MAC -adressen på chippen. Opret forbindelse til denne Wifi ved hjælp af en smarttelefon, og du skal ledes til en registreringsformular (en mekanisme kaldet Captive Portal). Udfyld detaljerne, især vigtigt er dit lokale wifi's SSID og adgangskode, og indsend formularen. Enheden skal derefter prøve at oprette forbindelse til netværket ved hjælp af de medfølgende legitimationsoplysninger, og hvis det lykkes, kan du afspille 3 stigende lyde på højttaleren. Hvis der havde været et problem med at oprette forbindelse til Wifi, afspilles 3 faldende lyd. Derefter skal Wemos gå i dyb søvn, indtil de vækkes af bevægelse.
Endelig: System -test fra ende til anden.
Rul toiletpapirholderen langs dens rotationsakse et par centrifugeringer, og anbring den derefter på en stabil overflade (for at signalere, at rullen er afsluttet og udløse dataoverførsel). Vent cirka 10 sekunder, før rulletallet sendes til skyen, og gå derefter til https://smartwipe-iot.appspot.com/ og klik på Forespørgsel. Du bør se dine registreringsoplysninger og dit seneste antal brugsruller i skyen! Sørg for at skrive din uuid ned, som er dit unikke id i systemet, hentet fra din Wemos 'MAC -adresse.
Hvis du kun ønsker at udtrække din statistik i JSON -format, skal du bruge en URL, der ligner denne:
smartwipe-iot.appspot.com/api?action=query&uuid=1234567890
bare udskift uuid med din.
Jeg har inkluderet alle kilder til webappen, som er hostet i Google App -motoren, så brugere, der ønsker at få mere privatliv til dataene, kan implementere dem på deres egen Google -bruger, tilføje godkendelse osv.
Når alt fungerer, skal elektronikken sættes ind i plastikskallen og trimmes plast med en dremel efter behov. Hele stykket skal passe godt ind i huset.
Problemer? Skriv til mig!
FORENEDE VI POOP!
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Arduino Halloween Edition - Pop -out -skærm med zombier (trin med billeder): 6 trin
Arduino Halloween Edition - Zombies Pop -out -skærm (trin med billeder): Vil du skræmme dine venner og lave skrigende støj i Halloween? Eller vil du bare lave en god sjov? Denne pop-out-skærm fra Zombies kan gøre det! I denne Instructable vil jeg lære dig, hvordan du nemt laver jump-out zombier ved hjælp af Arduino. HC-SR0
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)
Ciclop 3d Scanner My Way Step by Step: Hej alle sammen, jeg kommer til at indse den berømte Ciclop 3D -scanner.Alle trin, der er godt forklaret på det originale projekt, er ikke til stede.Jeg lavede nogle rettelser for at forenkle processen, først Jeg udskriver basen, og end jeg genstarter printkortet, men fortsæt
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores