Sadržaj:
- Korak 1: Alati i materijali
- Korak 2: Dismentalizacija originalne jedinice
- Korak 3: Objašnjenje kola
- Korak 4: Priprema ATTiny85
- Korak 5: Izgradnja Wemos štita
- Korak 6: Priprema Wemosa
- Korak 7: Sastavite sve zajedno
Video: IOToilet: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:09
IOToilet je prvi pametni držač toaletnog papira koji prati našu svakodnevnu upotrebu toaletnog papira i omogućava prikupljanje statističkih podataka koji pokazuju ove metrike. Možda biste pitali zašto bih trebao brinuti o svakodnevnom korištenju toaletnog papira? Pa, pokazalo se da naše trbušno zdravlje, posebno probavni ciklus, imaju mnogo veze kako s fizičkim zdravljem tako i s mentalnim. Na primjer, evo lijepog TED govora (usput jedan od rijetkih) koji razrađuje ovu temu:
Prvobitno mi je bilo naloženo da napravim 10 jedinica ovog uređaja za agenciju za brendiranje, čiji isječak možete vidjeti gore (2. lokacija), za namjensku marketinšku kampanju za veliku kompaniju. U početku sam odbacio ideju kao ideju nekog drugog, previše kreativnog uma koji je očajnički pokušavao osvojiti korisnički račun, ali postupno je to raslo na meni, sve dok nisam shvatio vrijednost podataka prikupljenih putem ovog uređaja.
Konstrukcija se temeljila na postojećem komadu hardvera koji je moj klijent dobio od EBay -a, uređaja za snimanje glasa koji je zatvoren u držač toaletnog papira. Imao je pravi faktor oblika i sve potrebne periferne uređaje koji su već ugrađeni, poput zvučnika, senzora pokreta za aktiviranje uređaja, opruga za držanje samog toaletnog papira, pretinca za baterije i prekidača za uključivanje i isključivanje, pa sam se rado odlučio koristeći ovo već pripremljeno umjesto modeliranja i štampanja vlastitog.
Korak 1: Alati i materijali
Upotrebljeni materijali:
Nosač toaletnog papira
Wemos D1 Mini
ATTiny85 čip, DIP pakovanje
2 x 2n2222 tranzistor
220 Ohm otpornik
2 * 1KOhm otpornik
Akcelerometar MPU6050
Opcionalno, u slučaju da ne koristim PCB:
Wemos prototipni štit
žica, lemljenje itd.
Upotrebljeni alati:
Dremel sa diskom za rezanje
ATTiny dev ploča (za prikladno učitavanje firmvera)
USB Tiny ISP programer
trokutasti odvijač, koristio sam ovaj komplet:
Korak 2: Dismentalizacija originalne jedinice
Nakon što sam nabavio originalno vreteno toaletnog papira, otvorio sam njegovo kućište pomoću trokutastog odvijača i uklonio originalnu PCB, odspojivši zvučnik i ostavivši na njemu što je moguće više žice.
Zatim sam lemio LED i senzor nagiba s originalne štampane ploče, da bi kasnije bili ugrađeni u nova kola. Pazite da ne pregrijete prekidač za nagib jer se može oštetiti. Moj je bio siv, ali budući da ga nisam dobro snimio prilikom uklanjanja s originalnog uređaja, morao sam upotrijebiti fotografiju s mreže (vidi gore), gdje je bila zelena. Samo mali detalj.
Nakon otvaranja kućišta i uklanjanja elektronike, također sam upotrijebio Dremel za uklanjanje viška plastike koja se koristila za držanje originalne PCB -a na mjestu, ovih malih plastičnih polica i jedne od 4 vijčane cijevi. Možete odgoditi ovo do faze montaže ako želite, ali u svakom slučaju bit će potrebno odrezivanje plastike.
Korak 3: Objašnjenje kola
Dakle, evo malo o logici koja stoji iza kola:
Kako bi baterije trajale dugo, morao sam staviti akcelerometar MPU6050 i procesor ESP8266 u Wemos D1 Mini u stanje mirovanja između aktivacija. Prvi je lako obavljen pomoću tranzistora koji je uključivao i isključivao MPU6050.
Napomena: U početku sam mislio da ga mogu programirati za slanje signala prekida koji će probuditi glavni procesor. Nažalost, nisam mogao pronaći način da to ostvarim, konfiguriranje odgovarajućih registara MPU6050 bilo je škakljiv zadatak za koji još uvijek ne znam je li uopće moguće …
Moja druga mogućnost je bila upotreba prekidača za naginjanje isporučenog s originalnom jedinicom da probudim ESP. Prvo sam ga vezao direktno na Wemos RESET pin kao što je opisano na gornjim fotografijama, koristeći tranzistor za aktiviranje/deaktiviranje mehanizma. Kad je baza tranzistora bila visoka, GND bi mogao proći kroz prekidač za nagib i uzrokovati njegovo privremeno povezivanje s RESET pinom, uzrokujući resetiranje MCU -a (ovo je jedini način da se ESP probudi iz dubokog sna). Zatim sam spojio D0 na bazu tranzistora, slijedeći premisu da je ova noga VISOKA sve dok MCU spava, a čim se probudi, D0 se vraća na LOW, onemogućujući mehanizam za poništavanje. Uostalom, nije mi bilo potrebno ponavljanje resetiranja, samo po prvi put kad se držač toaletnog papira počeo micati.
Međutim, ono što sam otkrio je da pin D0 treba dosta vremena nakon resetiranja MCU -a da se vrati na LOW, oko 200ms. To je značilo da će, ako okrenem držač toaletnog papira dovoljno brzo dok je MCU spavao, doći do višestrukih RESET -ova, umjesto brojanja rundi, kako bi trebalo.
Stoga sam pokušao riješiti ovu novu situaciju s nekim diskretnim komponentama (kondenzatori, tranzistori itd.), Ali uspio sam samo djelomično riješiti problem.
Na kraju sam dodao još jedan MCU, ATTiny85, koji bi se probudio iz sna pomoću prekidača za naginjanje, a zatim probudio ESP8266 i čekao neko vrijeme prije nego što sam se vratio u san. Znam da ovo vjerovatno nije najekonomičnije rješenje problema, ali imao sam rok …
Detaljno rješenje možete vidjeti u shemi koju sam uključio. Imajte na umu da su 10K otpornici zamijenjeni 1K jer su oni 10K bili previsoki da bi se tranzistori mogli potpuno otvoriti.
Korak 4: Priprema ATTiny85
Ne bojte se ako nikada niste programirali ATTiny85! Korištenjem omiljenog Arduino IDE -a možete doći do kraja. Počnite s ovim uputama o tome kako konfigurirati Arduino IDE:
github.com/SpenceKonde/ATTinyCore/blob/mas…
Zatim instalirajte upravljačke programe za USBTinyISP odavde:
learn.adafruit.com/usbtinyisp/drivers
Sada učitajte priloženi testni kod: WakeOnExternalInterruptTest.ino
i spojite (pogledajte ATTiny85 dijagram iscrtavanja):
1. Taknite dugme između pina 3 i mase
2. LED i otpornik od 220 Ohma u nizu, između pina 2 i mase
Sljedeći, Odaberite USBTinyISP kao programera (pod Alati -> Programer) i otpremite testnu skicu na ploču.
LED bi trebao treptati 5 puta, a zatim bi čip trebao zaspati. Pritiskom na dugme probudit će se i ponoviti taj niz.
Jesi li uspio? odlično! Otpremite konačnu skicu "Budilac" na ATTiny, koja će se koristiti na završnom krugu.
Korak 5: Izgradnja Wemos štita
Dakle, za izgradnju štita imate 3 mogućnosti koje možete birati:
1. Za Wemos upotrijebite standardni protozaslon i lemite krugove na njega.
2. Napravite PCB, na osnovu priloženih datoteka EAGLE.
3. Zatražite od mene PCB koji vam mogu poslati puževom poštom (nekoliko ih leži, trošak je gotovo ništa).
U svakom slučaju, preporučujem da se sklopi krug na matičnoj ploči prije predaje na PCB!
Ako koristite opcije PCB -a, obavezno spojite crnu žicu kao na fotografijama, s prednje ili stražnje strane ploče (ovo mi je najbolje odgovaralo). Ova žica povezuje GND od Wemosa do ATTiny85 i bez nje se neće probuditi.
Samo dobro pogledajte slike i pročitajte napomene koje sam dodao, ovo bi trebalo biti dovoljno.
Korak 6: Priprema Wemosa
Ako nikada niste koristili Arduino IDE za programiranje Wemos ploče, počnite instaliranjem upravitelja ploče i odabirom ploče u izborniku Alati -> Ploča, kako je ovdje opisano:
github.com/esp8266/Arduino
Počnite tako što ćete postaviti blink skicu na svoju ploču, pazeći da se kôd pravilno učita.
Korak 7: Sastavite sve zajedno
Postavite štit na Wemos. Možete ga zalemiti, ali preporučujem upotrebu ženskih zaglavlja zalemljenih na Wemos koji će omogućiti privremenu vezu između Wemosa i štita, u slučaju bilo kakvih problema. Samo imajte na umu da će žensko zaglavlje morati sići u posljednjoj fazi montaže da bi se jedinica uklopila u plastičnu školjku. Također, kako bismo stvari zakomplicirali, postoji velika šansa da će, kada je štit povezan s Wemosom, biti onemogućen prijenos koda. Susreo sam se s tom pojavom na nedosljedan način i nisam imao vremena da je istražim.
Savjet: planirajte unaprijed.
Sada, testiranje!
Nakon instaliranja počnite postavljanjem testne skice BlinkAccelerometra na Wemos i pobrinite se da uključuje i isključuje LED MPU6050. Ako nije, provjerite ožičenje tranzistora koji je odgovoran za napajanje MPU6050. Njegova baza bi trebala biti spojena na pin D5 Wemosa, kolektor bi trebao biti spojen na GND akcelerometra, a emiter na zajednički GND.
Zatim postavite skicu TurnCountTest1 na ploču Wemos i otvorite Serial Monitor. Trebali biste vidjeti podatke koji dolaze sa mjerača ubrzanja prikazani na monitoru. Ako ne radi, provjerite sat i ožičenje podataka: CLK bi trebao biti spojen na D1, a DATA na D2.
Sada lemite prekidač za nagib na predviđene rupe na ploči (pogledajte napomene), pazeći da je okomit na os rotacije, tako da se okretanjem vretena zatvori i otvori veza između njegova dva vodiča.
Zatim spojite 3V ulaz baterije na Wemos VCC, a njegov minus terminal na Wemos GND. Uvjerite se da uključivanjem prekidača uređaj uključuje. Na kraju, spojite zvučnik na GND i pin D4 Wemosa.
Otpremite konačni kod u Wemos - skicu pod nazivom SmartWipe. Otvorite serijski monitor i pobrinite se da uređaj pređe u stanje spavanja nakon 3 minute i da se probudi pomicanjem prekidača za naginjanje (odgovarajuće poruke bi se trebale pojaviti na monitoru).
Ako želite smanjiti vrijeme dok je Wemos budan (uglavnom radi testiranja), smanjite vrijednost WIFI_CONFIGURATION_IDLE_TIMEOUT definiranu u params.h i postavite skicu na ploču. Pobrinite se da nakon što Wemos zaspi, pomicanje prekidača za nagib uzrokuje buđenje ATTiny -a (signalizira LED), što zauzvrat budi Wemos.
Vratite vrijednost parametra na 180000L (3 minute, u milisekundama) i pobrinite se da Wemos pokrene žarišnu točku zvanu IOToilet_XXXXXXXX gdje će se XXXXXXX dohvatiti s MAC adrese čipa. Povežite se na ovaj Wifi putem pametnog telefona i trebali biste biti preusmjereni na obrazac za registraciju (mehanizam koji se naziva Captive Portal). Ispunite detalje, posebno je važno SSID i lozinka vaše lokalne WiFi mreže i pošaljite obrazac. Uređaj bi se zatim trebao pokušati povezati s mrežom pomoću priloženih vjerodajnica, a ako uspije, reproducirati 3 rastuća zvuka na zvučniku. Ako je došlo do problema pri povezivanju na Wifi, reproducirat će se 3 silazna zvuka. Nakon toga, Wemos bi trebao zaspati, sve dok ga pokret ne probudi.
Konačno: Sistemski test s kraja na kraj.
Zamotajte držač toaletnog papira duž njegove osi rotacije nekoliko okretaja, a zatim ga postavite na stabilnu površinu (za signalizaciju pomoću rolne je kraj i pokretanje otpremanja podataka). Sačekajte oko 10 sekundi da se broj rola pošalje u oblak, a zatim idite na https://smartwipe-iot.appspot.com/ i kliknite Upit. Trebali biste vidjeti svoje podatke o registraciji i broj nedavnih upotreba u oblaku! Obavezno zapišite svoj uuid, koji je vaš jedinstveni ID u sistemu, izdvojen iz MAC adrese vašeg Wemosa.
Ako želite izdvojiti samo svoju statistiku u JSON formatu, upotrijebite URL sličan ovom:
smartwipe-iot.appspot.com/api?action=query&uuid=1234567890
samo zamijeni uuid sa svojim.
Uključio sam sve izvore za web aplikaciju koja je hostirana na Google App engine -u tako da korisnici koji žele steći veću privatnost podataka mogu ih postaviti na svog Google korisnika, dodati autentifikaciju itd.
Kad sve radi, umetnite elektroniku u plastičnu školjku, obrezujući plastiku dremelom po potrebi. Cijeli komad trebao bi se lijepo uklopiti u kućište.
Nevolja? Pišite mi!
UJEDINJENI POOP!
Preporučuje se:
Kako: Instaliranje Raspberry PI 4 bez glave (VNC) sa Rpi-imagerom i slikama: 7 koraka (sa slikama)
Kako: Instaliranje Raspberry PI 4 Headless (VNC) s Rpi-imagerom i slikama: Planiram koristiti ovaj Rapsberry PI u hrpi zabavnih projekata na svom blogu. Slobodno provjerite. Htio sam se vratiti korištenju svog Raspberry PI -a, ali nisam imao tipkovnicu ili miš na novoj lokaciji. Prošlo je dosta vremena od postavljanja maline
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovo početi vježbati. Koju opremu treba pripremiti?
Brojač koraka - Mikro: Bit: 12 koraka (sa slikama)
Brojač koraka - Micro: Bit: Ovaj projekat će biti brojač koraka. Za mjerenje koraka koristit ćemo senzor akcelerometra koji je ugrađen u Micro: Bit. Svaki put kada se Micro: Bit protrese, broju ćemo dodati 2 i prikazati ga na ekranu
Atari Punk konzola s bebom Sekvencer za 8 koraka: 7 koraka (sa slikama)
Atari Punk konzola sa Baby Step Sequencer-om: Ova srednja verzija je sve-u-jednom Atari Punk Console i Baby 8 Step Sequencer koju možete glodati na stolnoj PCB glodalici Bantam Tools. Sastoji se od dvije ploče: jedna je ploča korisničkog sučelja (UI), a druga je pomoćna bo
Kako rastaviti računar jednostavnim koracima i slikama: 13 koraka (sa slikama)
Kako rastaviti računar jednostavnim koracima i slikama: Ovo uputstvo o tome kako rastaviti računar. Većina osnovnih komponenti je modularna i lako se uklanja. Međutim, važno je da se oko toga organizirate. To će vam pomoći da izbjegnete gubitak dijelova, a također i prilikom ponovnog sastavljanja