Sisällysluettelo:
- Vaihe 1: Työkalut ja materiaalit
- Vaihe 2: Alkuperäisen yksikön hajottaminen
- Vaihe 3: Piirit selitetty
- Vaihe 4: ATTiny85: n valmistelu
- Vaihe 5: Wemos -kilven rakentaminen
- Vaihe 6: Wemojen valmistelu
- Vaihe 7: Yhdistä kaikki
Video: IOToilet: 7 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
IOToilet on ensimmäinen älykäs wc -paperipidike, joka seuraa päivittäistä wc -paperinkäyttöämme ja mahdollistaa näiden mittareiden näyttämisen. Ja miksi minun pitäisi välittää päivittäisestä wc -paperin käytöstä, jota saatat kysyä? No, kuten käy ilmi, vatsamme terveydellä, erityisesti ruoansulatusjaksolla, on paljon tekemistä sekä fyysisen että henkisen terveytemme kanssa. Esimerkiksi tässä on mukava TED -keskustelu (yksi harvoista, muuten), joka käsittelee tätä aihetta:
Minulle annettiin alun perin tilaus rakentaa 10 yksikköä tätä laitetta bränditoimistoon, jonka leike näkyy yllä (toinen sijainti), suurelle yritykselle suunnattua markkinointikampanjaa varten. Aluksi hylkäsin ajatuksen, koska se tuli toiselta liian luovalta mieleltä, joka epätoivoisesti yritti voittaa asiakastilin, mutta vähitellen se kasvoi minussa, kunnes ymmärsin tämän laitteen kautta kerättyjen tietojen arvon.
Rakenne perustui olemassa olevaan laitteistoon, jonka asiakas sai EBaylta, äänitallennuslaitteesta, joka oli koteloitu vessapaperipidikkeeseen. Siinä oli oikea muoto ja kaikki tarvittavat oheislaitteet, kuten kaiutin, liikeanturi, joka käynnistää laitteen, jouset, jotka pitävät vessapaperia, paristolokero ja virtakytkin, joten valitsin mielelläni käyttämällä tätä valmiina sen sijaan, että mallinnan ja painan omaani.
Vaihe 1: Työkalut ja materiaalit
Käytetyt materiaalit:
WC -paperin pidike
Wemos D1 Mini
ATTiny85 -siru, DIP -pakkaus
2 x 2n2222 transistori
220 ohmin vastus
2 * 1Kohmin vastus
MPU6050 kiihtyvyysanturi
Valinnainen, jos et käytä PCB: tä:
Wemosin prototyyppikilpi
lanka, juote jne.
Käytetyt työkalut:
Dremel leikkuulautasella
ATTiny -kehityskortti (laiteohjelmiston kätevää lataamista varten)
USB Pieni Internet -palveluntarjoaja
kolmionmuotoinen ruuvimeisseli, käytin tätä sarjaa:
Vaihe 2: Alkuperäisen yksikön hajottaminen
Kun olin hankkinut alkuperäisen wc -paperikaran, avasin sen kotelon kolmionmuotoisella ruuvimeisselillä ja poistin alkuperäisen piirilevyn irrottamalla kaiuttimen ja jättäen siihen mahdollisimman paljon johtoa.
Juotin sitten LEDin ja kallistusanturin alkuperäisestä piirilevystä, jotta ne voidaan myöhemmin upottaa uuteen piiriin. Varo ylikuumentamasta kippikytkintä, koska se voi vaurioittaa. Omani oli harmaa, mutta koska en ottanut siitä hyvää kuvaa poistettaessa alkuperäisestä laitteesta, minun piti käyttää valokuvaa verkosta (katso yllä), jossa se oli vihreä. Vain pieni yksityiskohta.
Kotelon avaamisen ja elektroniikan poistamisen jälkeen poistin Dremelillä myös ylimääräisen muovin, jota käytettiin alkuperäisen piirilevyn pitämiseen paikallaan, nämä pienet muoviset hyllyt ja yksi neljästä ruuviputkesta. Voit siirtää tämän kokoonpanovaiheeseen, jos haluat, mutta joka tapauksessa tarvitaan muovista leikkaamista.
Vaihe 3: Piirit selitetty
Joten tässä on vähän logiikkaa piirin takana:
Jotta paristot kestäisivät pitkään, minun piti laittaa sekä MPU6050 -kiihtyvyysmittari että ESP8266 -prosessori Wemos D1 Mini -laitteeseen nukkumaan aktivoinnin välillä. Ensimmäinen tehtiin helposti käyttämällä transistoria, joka kytki MPU6050: n päälle ja pois.
Huomautus: Ajattelin aluksi, että voisin ohjelmoida sen lähettämään keskeytyssignaalin, joka herättää pääprosessorin. Valitettavasti en löytänyt tapaa toteuttaa sitä, MPU6050: n oikeiden rekisterien määrittäminen oli hankala tehtävä, jota en vieläkään tiedä, onko se mahdollista ollenkaan …
Toinen vaihtoehto oli käyttää alkuperäisen yksikön mukana toimitettua kallistuskytkintä ESP: n herättämiseen. Sidoin sen ensin suoraan Wemos RESET -tappiin, kuten yllä olevissa kuvissa on kuvattu, käyttämällä transistoria aktivoimaan/deaktivoimaan mekanismi. Kun transistoripohja oli korkea, GND voi kulkea kallistuskytkimen läpi ja aiheuttaa sen väliaikaisen yhteyden RESET -nastaan aiheuttaen MCU -nollauksen (tämä on ainoa tapa herättää ESP, ilmeisesti). Yhdistin sitten D0: n transistorialustaan, olettaen, että tämä jalka on KORKEA niin kauan kuin MCU nukkuu, ja heti kun se herää, D0 palaa LOW -asentoon ja poistaa nollausmekanismin käytöstä. Loppujen lopuksi en tarvinnut toistuvaa nollausta tapahtua, vain ensimmäistä kertaa, kun wc -paperipidike alkoi liikkua.
Huomasin kuitenkin, että nasta D0 kestää melko kauan MCU -nollauksen jälkeen palatakseen matalaan, noin 200 ms. Tämä tarkoitti sitä, että jos pyöritin wc -paperipidikettä riittävän nopeasti MCU: n nukkuessa, siinä tapahtuisi useita RESET -tapahtumia sen sijaan, että laskettaisiin kierroksia, kuten pitäisi.
Joten yritin ratkaista tämän uuden tilanteen eräillä erillisillä komponenteilla (kondensaattorit, transistorit jne.), Mutta onnistuin saamaan vain osittaisen ratkaisun ongelmaan.
Päätin lisätä toisen MCU: n, ATTiny85: n, joka heräisi unesta kallistuskytkimen avulla, herätä sitten ESP8266 ja odota jonkin aikaa ennen kuin menen takaisin nukkumaan. Tiedän, että tämä ei todennäköisesti ole taloudellisin ratkaisu ongelmaan, mutta minulla oli määräaika…
Näet yksityiskohtaisen ratkaisun kaaviossa, jonka olen sisällyttänyt. Huomaa, että 10K vastukset korvattiin 1K: lla, koska 10k vastukset olivat liian korkeita, jotta transistorit saisivat täysin auki.
Vaihe 4: ATTiny85: n valmistelu
Jos et ole koskaan ohjelmoinut ATTiny85: tä, älä pelkää! Rakastetun Arduino IDE: n käyttäminen voi auttaa sinua. Aloita näillä ohjeilla Arduino IDE: n määrittämiseksi:
github.com/SpenceKonde/ATTinyCore/blob/mas…
Asenna seuraavaksi USBTinyISP: n ohjaimet täältä:
learn.adafruit.com/usbtinyisp/drivers
Lataa nyt liitteenä oleva testikoodi: WakeOnExternalInterruptTest.ino
ja yhdistä (katso ATTiny85 Pinout -kaavio):
1. Kosketa painiketta tapin 3 ja maan välillä
2. Johdettu LED ja 220 ohmin vastus sarjassa nastan 2 ja maan välillä
Seuraava, Valitse ohjelmoijaksi USBTinyISP (kohdasta Työkalut -> Ohjelmoija) ja lataa testiluonnos taululle.
LED -valon pitäisi vilkkua 5 kertaa, minkä jälkeen sirun pitäisi mennä nukkumaan. Painikkeen painaminen herättää sen ja toistaa tämän jakson.
Saiko sen toimimaan? loistava! Lataa lopullinen luonnos "Awakener" ATTiny -laitteeseen käytettäväksi viimeisessä piirissä.
Vaihe 5: Wemos -kilven rakentaminen
Joten kilven rakentamiseen sinulla on 3 vaihtoehtoa, joista voit valita:
1. Käytä Wemos -vakiokoteloa ja juota virtapiiri siihen.
2. Valmista piirilevy liitteenä olevien EAGLE -tiedostojen perusteella.
3. Pyydä minulta piirilevyä, jonka voin lähettää sinulle etanapostina (minulla on muutama makuulla, hinta ei ole mitään).
Joka tapauksessa suosittelen rakentamaan piirin leipälevylle ennen sitoutumista piirilevyyn!
Jos käytät PCB -vaihtoehtoja, muista liittää musta johto kuten kuvissa, joko levyn etu- tai takapuolelle (jälkimmäinen toimi minulle parhaiten). Tämä lanka yhdistää GND: n Wemosta ATTiny85: een ja ilman sitä herääminen ei onnistu.
Katso vain kuvia kunnolla ja lue lisäämäni huomautukset, tämän pitäisi riittää.
Vaihe 6: Wemojen valmistelu
Jos et ole koskaan käyttänyt Arduino IDE: tä Wemos -levyn ohjelmointiin, aloita asentamalla kortinhallinta ja valitsemalla levy Työkalut -> Hallitus -valikosta, kuten tässä on kuvattu:
github.com/esp8266/Arduino
Aloita lataamalla vilkkuva luonnos taulullesi ja varmista, että koodi lähetetään oikein.
Vaihe 7: Yhdistä kaikki
Asenna suoja Wemosiin. Voit juottaa sen, mutta suosittelen käyttämään Wemosiin juotettuja naaraspuolisia otsikoita, jotka mahdollistavat väliaikaisen yhteyden Wemosin ja kilven välillä ongelmatilanteissa. Muista vain, että naaraspuolisen otsikon on poistuttava kokoonpanon viimeisessä vaiheessa, jotta yksikkö mahtuu muovikuoreen. Lisäksi, jotta asiat hieman monimutkaisemmiksi, on hyvä mahdollisuus, että kun kilpi on kytketty Wemosiin, koodin lataus poistetaan käytöstä. Olen kohdannut tämän ilmiön epäjohdonmukaisella tavalla, eikä minulla ollut aikaa tutkia sitä.
Neuvoja: suunnittele etukäteen.
Nyt testataan!
Kun olet asentanut, aloita lataamalla BlinkAccelerometer -testiluonnos Wemosiin ja varmista, että se sytyttää ja sammuttaa MPU6050 -merkkivalon. Jos ei, tarkista MPU6050: n virtalähteestä vastaavan transistorin johdotus. Sen pohja tulee kytkeä Wemosin nastaan D5, keräimen tulee olla kiihtyvyysmittarin GND: hen ja lähetin yhteiseen GND: hen.
Lataa seuraavaksi TurnCountTest1 -luonnos Wemos -taululle ja avaa Serial Monitor. Sinun pitäisi nähdä näytössä näkyvät kiihtyvyysmittarin tiedot. Jos ei toimi, tarkista kello ja datajohdot: CLK on kytkettävä D1: een ja DATA D2: een.
Juotos nyt kallistuskytkin levyn osoitettuihin reikiin (katso huomautukset) ja varmista, että se on kohtisuorassa pyörimisakseliin niin, että karan pyöriminen sulkeutuu ja avaa liitännän kahden johdon välillä.
Liitä seuraavaksi Battery 3V -tulo Wemos VCC: hen ja miinusnapa Wemos GND: hen. Varmista, että kytkimen kytkeminen päälle kytkee laitteen päälle. Lopuksi kytke kaiutin GND -liittimeen ja Wemosin nasta D4.
Lataa lopullinen koodi Wemosiin - luonnos nimeltä SmartWipe. Avaa sarjamonitori ja varmista, että laite menee nukkumaan 3 minuutin kuluttua ja herää kääntämällä kallistuskytkintä (vastaavien viestien pitäisi näkyä näytössä).
Jos haluat lyhentää Wemon hereilläoloaikaa (lähinnä testaustarkoituksiin), pienennä parametrin.h määrittämän WIFI_CONFIGURATION_IDLE_TIMEOUT -arvon arvo ja lataa luonnos taululle. Varmista, että kun Wemos menee syvään uneen, kallistuskytkimen siirtäminen saa ATTinyin heräämään (LED -merkkivalo), joka puolestaan herättää Wemot.
Muuta parametrin arvoksi 180000L (3 minuuttia, millisekunteina) ja varmista, että Wemos käynnistää IOToilet_XXXXXXXX -hotspotin, josta XXXXXXX haetaan sirun MAC -osoitteesta. Muodosta yhteys tähän Wifi -verkkoon älypuhelimella, niin sinut ohjataan rekisteröintilomakkeelle (Captive Portal -mekanismi). Täytä tiedot, erityisen tärkeä on paikallisen wifi -verkon SSID ja salasana, ja lähetä lomake. Tämän jälkeen laitteen on yritettävä muodostaa yhteys verkkoon mukana toimitetuilla kirjautumistiedoilla, ja jos se onnistuu, toistetaan 3 nousevaa ääntä kaiuttimesta. Jos Wi -Fi -yhteyden muodostamisessa oli ongelmia, kuuluu 3 laskevaa ääntä. Tämän jälkeen Wemojen pitäisi mennä syvään uneen, kunnes liike herättää ne.
Lopuksi: Päästä loppuun Järjestelmätesti.
Pyöritä vessapaperipidikettä sen pyörimisakselia pitkin muutama kierros, ja aseta se sitten tasaiselle alustalle (ilmoittaaksesi rullan käytöstä ja käynnistä tietojen lataaminen). Odota noin 10 sekuntia, kunnes rullamäärä lähetetään pilveen, ja siirry sitten osoitteeseen https://smartwipe-iot.appspot.com/ ja napsauta Kysely. Sinun pitäisi nähdä rekisteröintitietosi ja viimeisimmän käyttökertasi määrä pilvessä! Muista kirjoittaa muistiin uuid, joka on yksilöllinen tunnuksesi järjestelmässä, joka on poimittu Wemosin MAC -osoitteesta.
Jos haluat poimia vain tilastosi JSON -muodossa, käytä tämänkaltaista URL -osoitetta:
smartwipe-iot.appspot.com/api?action=query&uuid=1234567890
vaihda vain uuid omaasi.
Olen sisällyttänyt kaikki Web -sovelluksen lähteet, jota isännöidään Google -sovellusmoottorissa, jotta käyttäjät, jotka haluavat saada enemmän yksityisyyttä tietoihin, voivat ottaa sen käyttöön omalla Google -käyttäjällään, lisätä todennusta jne.
Kun kaikki toimii, aseta elektroniikka muovikuoreen ja leikkaa muovia tarvittaessa dremelillä. Koko kappaleen pitäisi sopia koteloon.
Ongelma? Kirjoita minulle!
UNITED WE POOP!
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Weasleyn sijaintikello neljällä kädellä: 11 vaihetta (kuvilla)
Weasleyn sijaintikello neljällä kädellä: Joten Raspberry Pi: n kanssa, joka oli pyörinyt jonkin aikaa, halusin löytää mukavan projektin, jonka avulla voisin hyödyntää sitä parhaalla mahdollisella tavalla. Löysin ppeters0502 tämän upean Instructable Build Your Own Weasley Location Clockin ja ajattelin, että
Ammattimainen sääasema käyttäen ESP8266- ja ESP32 -DIY: 9 vaihetta (kuvilla)
Ammattimainen sääasema käyttämällä ESP8266- ja ESP32 -DIY: LineaMeteoStazione on täydellinen sääasema, joka voidaan liittää Sensirionin ammattitunnistimiin sekä joihinkin Davis -instrumenttikomponentteihin (sademittari, tuulimittari)
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite