Tartalomjegyzék:

IOToilet: 7 lépés (képekkel)
IOToilet: 7 lépés (képekkel)

Videó: IOToilet: 7 lépés (képekkel)

Videó: IOToilet: 7 lépés (képekkel)
Videó: Женитьба Бальзаминова (FullHD, комедия, реж. Константин Воинов, 1964 г.) 2024, November
Anonim

Az IOToilet az első intelligens WC -papírtartó, amely nyomon követi a WC -papír napi használatát, és lehetővé teszi az ezeket a mutatókat bemutató statisztikák felhalmozását. És miért kell törődnöm a WC -papír napi használatával, kérdezheti? Nos, mint kiderült, a hasi egészségünknek, különösen az emésztési ciklusnak sok köze van mind testi, mind lelki egészségünkhöz. Például itt van egy szép TED -előadás (egyike a sok közül), amely részletesen foglalkozik ezzel a témával:

Kezdetben azt a megbízást kaptam, hogy építsek 10 egységet ebből az eszközből egy márkaügynökség számára, amelynek klipjét fent láthatja (2. hely), egy nagyvállalat célzott marketing kampányához. Kezdetben elutasítottam az ötletet, mint egy másik, túl kreatív elme felől érkezőket, akik kétségbeesetten próbáltak megnyerni egy ügyfélfiókot, de fokozatosan nőtt rajtam, amíg fel nem fogtam az eszközön keresztül gyűjtött információk értékét.

A felépítés egy meglévő hardverdarabon alapult, amelyet az ügyfelem az EBay -től kapott, egy vécépapír -tartóba ágyazott hangrögzítő eszközt. Megfelelő formatervezéssel és minden szükséges perifériával rendelkezett, mint például hangszóró, mozgásérzékelő a készülék beindításához, rugók, amelyek a WC-papírt tartják, elemtartó rekesz és ki-be kapcsoló, így örömmel választottam ezt a készenlétet használva, nem pedig a saját modellezését és nyomtatását.

1. lépés: Eszközök és anyagok

Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok

Felhasznált anyagok:

WC -papír tartó

Wemos D1 Mini

ATTiny85 chip, DIP csomagolás

2 x 2n2222 tranzisztor

220 Ohm ellenállás

2 * 1Kohm ellenállás

MPU6050 gyorsulásmérő

Opcionális, ha nem használja a PCB -t:

Wemos prototípus -pajzs

huzal, forrasztás stb.

Használt eszközök:

Dremel vágótárcsával

ATTiny fejlesztőtábla (a firmware kényelmes feltöltéséhez)

USB apró ISP programozó

háromszög alakú csavarhúzó, ezt a készletet használtam:

2. lépés: Az eredeti egység szétszerelése

Az eredeti egység szétszerelése
Az eredeti egység szétszerelése
Az eredeti egység szétszerelése
Az eredeti egység szétszerelése
Az eredeti egység szétszerelése
Az eredeti egység szétszerelése

Miután megszerezte az eredeti WC -papír orsót, kinyitottam a tokját egy háromszög alakú csavarhúzóval, és eltávolítottam az eredeti NYÁK -ot, leválasztva a hangszórót, és a lehető legtöbb vezetéket csatlakoztatva.

Ezután forrasztottam ki a LED -et és a dőlésérzékelőt az eredeti NYÁK -ból, hogy később beágyazhassam az új áramkörbe. Ügyeljen arra, hogy ne melegítse túl a billenőkapcsolót, mert az károsodhat. Az enyém szürke volt, de mivel nem készítettem jó felvételt, amikor eltávolítottam az eredeti készülékről, muszáj volt fotót használnom a netről (lásd fent), ahol zöld volt. Csak egy apró részlet.

A tok kinyitása és az elektronika eltávolítása után egy Dremelt is használtam a felesleges műanyag eltávolítására, amellyel az eredeti PCB -t, ezeket a kis műanyag polcokat és a 4 csavaros cső egyikét tartottuk. Ezt halaszthatja az összeszerelési szakaszra, ha úgy tetszik, de mindenesetre némi műanyag vágás szükséges.

3. lépés: Az áramkör magyarázata

Az áramkör magyarázata
Az áramkör magyarázata
Az áramkör magyarázata
Az áramkör magyarázata

Tehát itt van egy kis logika az áramkör mögött:

Annak érdekében, hogy az elemek sokáig bírják, a Wemos D1 Mini MPU6050 gyorsulásmérőjét és ESP8266 processzorát is alvó állapotba kellett helyeznem az aktiválások között. Az első könnyen elvégezhető egy tranzisztor segítségével, amely be- és kikapcsolta az MPU6050 -et.

Megjegyzés: Kezdetben arra gondoltam, hogy beprogramozhatom egy megszakítási jel küldésére, amely felébreszti a fő processzort. Sajnos nem találtam módot ennek megvalósítására, az MPU6050 megfelelő regisztereinek konfigurálása trükkös feladat volt, amit még mindig nem tudok, hogy egyáltalán lehetséges -e …

A második lehetőségem az eredeti egységhez mellékelt billenőkapcsoló használata volt az ESP felébresztéséhez. Először közvetlenül a Wemos RESET csaphoz kötöttem, a fenti képeken leírtak szerint, tranzisztorral aktiválva/deaktiválva a mechanizmust. Amikor a tranzisztor bázisa magas volt, a GND áthaladhat a billentőkapcsolón, és átmenetileg a RESET csaphoz kapcsolódhat, ami az MCU visszaállítását eredményezi (nyilvánvalóan csak így lehet felébreszteni az ESP -t a mély alvásból). Ezután csatlakoztattam a D0 -t a tranzisztor bázishoz, azt a feltevést követve, hogy ez a láb MAGAS, amíg az MCU alszik, és amint felébred, a D0 visszaáll LOW -ra, letiltva a reset mechanizmust. Végül is nem volt szükségem az ismétlődő visszaállításra, csak először, amikor a WC -papír tartó mozogni kezdett.

Azonban felfedeztem, hogy a D0 érintkező elég hosszú ideig tart az MCU visszaállítása után, hogy visszatérjen a LOW értékre, körülbelül 200 ms. Ez azt jelentette, hogy ha elég gyorsan megpörgettem a vécépapír -tartót, miközben az MCU aludt, akkor több RESET -et fogok végrehajtani, ahelyett, hogy a kört számolnám, ahogy kellene.

Tehát megpróbáltam megoldani ezt az új helyzetet néhány különálló komponenssel (kondenzátorok, tranzisztorok stb.), De csak részleges megoldást sikerült találnom a problémára.

Végül hozzáadtam egy másik MCU -t, egy ATTiny85 -öt, amelyet a billenő kapcsoló ébreszt fel alvásból, majd felébreszti az ESP8266 -ot, és vár egy ideig, mielőtt visszaalszik. Tudom, hogy ez valószínűleg nem a leggazdaságosabb megoldás a problémára, de volt egy határidőm…

A részletes megoldást a mellékelt sémában láthatja. Kérjük, vegye figyelembe, hogy a 10K ellenállásokat 1K -ra cserélték, mivel a 10k ellenállások túl magasak voltak ahhoz, hogy a tranzisztorok teljesen kinyíljanak.

4. lépés: Az ATTiny85 előkészítése

Az ATTiny85 előkészítése
Az ATTiny85 előkészítése

Ha még soha nem programozott ATTiny85 -öt, ne féljen! A szeretett Arduino IDE használatával teljesen eljuthat. Kezdje az alábbi utasításokkal az Arduino IDE beállításához:

github.com/SpenceKonde/ATTinyCore/blob/mas…

Ezután telepítse az USBTinyISP illesztőprogramjait innen:

learn.adafruit.com/usbtinyisp/drivers

Most töltse be a mellékelt tesztkódot: WakeOnExternalInterruptTest.ino

és csatlakoztassa (lásd ATTiny85 Pinout diagram):

1. Tapintógomb a 3. csap és a föld között

2. Egy led és egy 220 ohmos ellenállás sorban, a 2. érintkező és a föld között

Következő, Válassza ki az USBTinyISP programozót (Eszközök -> Programozó alatt), és töltse fel a tesztvázlatot a táblára.

A LED -nek ötször kell villognia, majd a chipnek aludnia kell. A gomb megnyomásával felébred, és megismétli ezt a sorozatot.

Működik? nagy! Töltse fel az utolsó "Awakener" vázlatot az ATTiny -re, amelyet a végső áramkörben kell használni.

5. lépés: A Wemos pajzs építése

A Wemos pajzs építése
A Wemos pajzs építése
A Wemos pajzs építése
A Wemos pajzs építése
A Wemos pajzs építése
A Wemos pajzs építése
A Wemos pajzs építése
A Wemos pajzs építése

Tehát a pajzs megépítéséhez 3 lehetőség közül választhat:

1. Használjon szabványos protoshieldet a Wemoshoz, és forrasztja rá az áramkört.

2. Készítsen NYÁK -t a mellékelt EAGLE fájlok alapján.

3. Kérjen tőlem egy PCB -t, amelyet el tudok küldeni csigapostai úton (van néhány fekvésem, a költség szinte semmi).

Mindenesetre azt javaslom, hogy az áramkört kenyérsütő deszkán építse fel, mielőtt elkötelezi magát a NYÁK mellett!

Ha a NYÁK opciókat használja, győződjön meg róla, hogy a fekete vezetéket a képen látható módon csatlakoztatja a tábla elülső vagy hátsó oldalához (ez utóbbi működött a legjobban nekem). Ez a vezeték összeköti a GND -t a Wemos -tól az ATTiny85 -ig, és anélkül az ébredés nem történik meg.

Csak nézze meg jól a képeket, és olvassa el a hozzászólásokat, amelyeket hozzáadtam, ez elég lesz.

6. lépés: A Wemos előkészítése

Ha még soha nem használta az Arduino IDE -t Wemos tábla programozásához, kezdje a táblakezelő telepítésével, és válassza ki a táblát az Eszközök -> Tábla menüben, az itt leírtak szerint:

github.com/esp8266/Arduino

Kezdje azzal, hogy feltölti a villogó vázlatot a táblájára, és győződjön meg arról, hogy a kód megfelelően van feltöltve.

7. lépés: Összerakás

Összerakni
Összerakni
Összerakni
Összerakni
Összerakni
Összerakni

Szerelje be a pajzsot a Wemos -ra. Lehet forrasztani, de javaslom a Wemoshoz forrasztott női fejlécek használatát, amelyek lehetővé teszik a Wemos és a pajzs közötti ideiglenes csatlakozást, bármilyen probléma esetén. Ne feledje, hogy az összeszerelés utolsó szakaszában a női fejnek le kell szállnia, hogy az egység illeszkedjen a műanyag burkolatba. Továbbá, hogy egy kicsit bonyolultabbá tegyük a dolgokat, jó esély van arra, hogy amikor a pajzsot csatlakoztatják a Wemos -hoz, a kódfeltöltés le lesz tiltva. Nem következetes módon találkoztam ezzel a jelenséggel, és nem volt időm kutatni.

Tanácsa: tervezzen előre.

Most, Tesztelés!

A telepítés után először töltse fel a BlinkAccelerometer tesztvázlatát a Wemos készülékre, és győződjön meg arról, hogy az be- és kikapcsolja az MPU6050 LED -et. Ha nem, ellenőrizze az MPU6050 tápellátásáért felelős tranzisztor vezetékeit. Az alapját a Wemos D5 csapjához, a kollektorot a gyorsulásmérő GND -hez, a kibocsátót pedig a közös GND -hez kell csatlakoztatni.

Ezután töltse fel a TurnCountTest1 vázlatot a Wemos táblára, és nyissa meg a Soros monitort. Látnia kell a monitoron megjelenő gyorsulásmérőből származó adatokat. Ha nem működik, ellenőrizze az órát és az adatvezetékeket: a CLK -t a D1 -hez, a DATA -t pedig a D2 -hez kell csatlakoztatni.

Most forgassa a billenőkapcsolót a táblán lévő kijelölt lyukakhoz (lásd a megjegyzéseket), ügyelve arra, hogy merőleges legyen a forgástengelyre, hogy az orsó pörgetése bezárja és kinyissa a két vezeték közötti kapcsolatot.

Ezután csatlakoztassa az akkumulátor 3 V -os bemenetét a Wemos VCC -hez, és mínusz csatlakozóját a Wemos GND -hez. Győződjön meg arról, hogy a kapcsoló bekapcsolása bekapcsolja a készüléket. Végül csatlakoztassa a hangszórót a GND -hez és a Wemos D4 tűjéhez.

Töltse fel a végső kódot a Wemos -ra - a SmartWipe nevű vázlatot. Nyisson meg egy soros monitort, és győződjön meg arról, hogy a készülék 3 perc elteltével alszik, és a billenőkapcsoló mozgatásával felébred (a megfelelő üzeneteknek meg kell jelenniük a monitoron).

Ha csökkenteni szeretné a Wemos ébrenléti idejét (főleg tesztelés céljából), csökkentse a params.h -ban meghatározott WIFI_CONFIGURATION_IDLE_TIMEOUT értékét, és töltse fel a vázlatot a táblára. Győződjön meg arról, hogy miután a Wemos mélyen alszik, a billenőkapcsoló mozgatásával az ATTiny felébred (a LED jelzi), ami viszont felébreszti a Wemókat.

Állítsa vissza a paraméter értékét 180000L -re (3 perc, ezredmásodpercben), és győződjön meg arról, hogy a Wemos elindítja az IOToilet_XXXXXXXX nevű hotspotot, ahol a XXXXXXX a chip MAC -címéről lesz lekérve. Csatlakozzon ehhez a Wifi -hez egy okostelefon segítségével, és egy regisztrációs űrlapra kell irányítani (a Captive Portal nevű mechanizmus). Töltse ki az adatokat, különösen fontos a helyi wifi SSID -je és jelszava, és küldje be az űrlapot. A készüléknek ezután meg kell próbálnia csatlakozni a hálózathoz a mellékelt hitelesítő adatok segítségével, és ha sikeres, játsszon le 3 növekvő hangot a hangszórón. Ha probléma merült fel a Wifi -hez való csatlakozáskor, 3 csökkenő hang lesz hallható. Ezt követően a wemóknak mélyen aludniuk kell, amíg a mozgás fel nem ébreszti őket.

Végül: Vége a végéig Rendszer teszt.

Görgessen néhány fordulatot a toalettpapírtartót a forgástengelye mentén, majd helyezze egy stabil felületre (jelezve, hogy a tekercs befejeződött, és elindítja az adatok feltöltését). Várjon körülbelül 10 másodpercet, amíg a tekercsszámot elküldi a felhőbe, majd keresse fel a https://smartwipe-iot.appspot.com/ webhelyet, és kattintson a Lekérdezés gombra. A felhőben látnia kell regisztrációs adatait és a legutóbbi használati tekercs számát! Ügyeljen arra, hogy írja le uuid -jét, amely a rendszer egyedi azonosítója a Wemos MAC -címéből.

Ha csak a statisztikákat kívánja kinyerni JSON formátumban, használjon ehhez hasonló URL -t:

smartwipe-iot.appspot.com/api?action=query&uuid=1234567890

csak cseréld az uuidet a tiedre.

Feltettem a webes alkalmazás összes forrását, amelyet a Google App motorban tárolnak, hogy azok a felhasználók, akik nagyobb adatvédelmet akarnak szerezni az adatok számára, telepíthessék azokat saját Google -felhasználóikon, hozzáadhassanak hitelesítést stb.

Ha minden működik, illessze az elektronikát a műanyag burkolatba, szükség szerint vágja le a műanyagot dremellel. Az egész darabnak szépen be kell illeszkednie a házba.

Baj? Írj nekem!

UNITED WE POOP!

Ajánlott: