Բովանդակություն:

IOToilet: 7 քայլ (նկարներով)
IOToilet: 7 քայլ (նկարներով)

Video: IOToilet: 7 քայլ (նկարներով)

Video: IOToilet: 7 քայլ (նկարներով)
Video: «Растения против зомби 2», телешоу «Тролль квест», «Мой говорящий Том 2», «Игры о кальмарах», Skibidi.io, «Туалетная драка» 2024, Նոյեմբեր
Anonim

IOToilet- ը զուգարանի թղթի առաջին խելացի պահողն է, որը հետևում է զուգարանի թղթի մեր ամենօրյա օգտագործմանը և թույլ է տալիս կուտակել վիճակագրություն, որը ցույց է տալիս այդ ցուցանիշները: Եվ ինչո՞ւ ես պետք է մտածեմ զուգարանի թղթի իմ ամենօրյա օգտագործման մասին, որը կարող եք հարցնել: Դե, ինչպես պարզվում է, մեր որովայնի առողջությունը, հատկապես մարսողության ցիկլը, շատ կապ ունի թե՛ մեր ֆիզիկական առողջության, թե՛ մեր մտավոր առողջության հետ: Օրինակ, ահա TED- ի մի գեղեցիկ խոսակցություն (ի դեպ, սակավաթիվներից մեկը), որը մանրամասնում է այս թեման.

Սկզբում ինձ հանձնարարվեց կառուցել այս սարքի 10 միավոր բրենդային գործակալության համար, որի տեսահոլովակը կարող եք տեսնել վերևում (2 -րդ տեղ), խոշոր ընկերության նպատակային շուկայավարման արշավի համար: Սկզբում ես մերժեցի այդ գաղափարը, քանի որ մեկը գալիս էր մեկ այլ չափազանց ստեղծագործ մտքից, որը հուսահատորեն փորձում էր շահել հաճախորդի հաշիվը, բայց աստիճանաբար այն աճեց ինձ վրա, մինչև չհասկացա այս սարքի միջոցով հավաքված տեղեկատվության արժեքը:

Կառուցվածքը հիմնված էր եղած սարքավորումների վրա, որոնք իմ հաճախորդը ստացել էր EBay- ից ՝ ձայնի ձայնագրման սարք, որը պատված է զուգարանի թղթի պահարանում: Այն ուներ ձևի ճիշտ գործոն և արդեն ներկառուցված բոլոր անհրաժեշտ սարքերը, ինչպիսիք են բարձրախոսը, սարքը գործարկելու շարժման տվիչը, աղբյուրներ, որոնք ինքնին պահում են զուգարանի թուղթը, մարտկոցի խցիկը և անջատիչ անջատիչը, ուստի ես սիրով ընտրեցի օգտագործելով այս պատրաստը, այլ ոչ թե իմ սեփականը մոդելավորելը և տպելը:

Քայլ 1: Գործիքներ և նյութեր

Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր

Օգտագործված նյութեր.

Toուգարանի թղթի սեփականատեր

Wemos D1 Mini

ATTiny85 չիպ, DIP փաթեթավորում

2 x 2n2222 տրանզիստոր

220 Օմ դիմադրություն

2 * 1KOhm դիմադրություն

MPU6050 արագացուցիչ

Լրացուցիչ, իմ PCB- ն չօգտագործելու դեպքում.

Wemos նախատիպերի վահան

մետաղալար, զոդ և այլն:

Օգտագործված գործիքներ.

Dremel կտրող սկավառակով

ATTiny dev board (որոնվածը հարմար տեղադրելու համար)

USB Tiny ISP ծրագրավորող

եռանկյուն պտուտակահան, ես օգտագործեցի այս հավաքածուն ՝

Քայլ 2. Սկզբնական միավորի ապամոնտաժում

Սկզբնական միավորի ապամոնտաժում
Սկզբնական միավորի ապամոնտաժում
Սկզբնական միավորի ապամոնտաժում
Սկզբնական միավորի ապամոնտաժում
Սկզբնական միավորի ապամոնտաժում
Սկզբնական միավորի ապամոնտաժում

Toiletուգարանի թղթի բնօրինակը ձեռք բերելուց հետո ես եռանկյունաձև պտուտակահանով բացեցի դրա պատյանը և հանեցի սկզբնական PCB- ն ՝ անջատելով բարձրախոսը և հնարավորինս շատ մետաղալար թողնելով դրան միացված:

Այնուհետև ես զոդեցի LED- ն և թեքության սենսորը սկզբնական PCB- ից, որը հետագայում կներառվի նոր սխեմաներում: Ուշադրություն դարձրեք թեքության անջատիչի գերտաքացմանը, քանի որ այն կարող է վնասել: Իմը մոխրագույն էր, բայց քանի որ սկզբնական սարքից հեռացնելիս ես այն լավ չէի նկարահանել, ստիպված եղա ցանցից օգտվել լուսանկարից (տես վերևում), որտեղ այն կանաչ էր: Պարզապես մի փոքր մանրամասնություն:

Գործը բացելուց և էլեկտրոնիկայի հեռացումից հետո ես նաև օգտագործեցի Dremel- ը `ավելորդ պլաստմասը հեռացնելու համար, որն օգտագործվում էր օրիգինալ PCB- ն տեղում պահելու համար, այս փոքրիկ պլաստմասե դարակաշարերը և 4 պտուտակավոր խողովակներից մեկը: Եթե ցանկանում եք, կարող եք հետաձգել հավաքման փուլը, բայց ամեն դեպքում կպահանջվի պլաստիկ կտրվածք:

Քայլ 3. Շրջանակի բացատրությունը

Շրջանակի բացատրություն
Շրջանակի բացատրություն
Շրջանակի բացատրություն
Շրջանակի բացատրություն

Այսպիսով, այստեղ մի փոքր շղթայի հետևում գտնվող տրամաբանության մասին.

Որպեսզի մարտկոցները երկար ծառայեն, ես ստիպված էի ինչպես MPU6050 արագացուցիչը, այնպես էլ ESP8266 պրոցեսորը տեղադրել Wemos D1 Mini- ում ակտիվացումների միջև քնելու համար: Առաջինը հեշտությամբ կատարվեց տրանզիստորի միջոցով, որը միացրեց և անջատեց MPU6050- ը:

Նշում. Սկզբում ես մտածում էի, որ կարող եմ այն ծրագրել ՝ ընդհատման ազդանշան ուղարկելու համար, որը կարթնացնի հիմնական պրոցեսորը: Ավաղ, ես չկարողացա միջոցներ գտնել դա իրականացնելու համար, MPU6050- ի պատշաճ գրանցամատյանների կազմաձևումը բարդ խնդիր էր, որը ես դեռ չգիտեմ, եթե հնարավոր է ընդհանրապես…

Իմ երկրորդ տարբերակը ESP- ն արթնացնելու համար բնօրինակ միավորի հետ տրամադրված թեքության անջատիչի օգտագործումն էր: Սկզբում այն ուղղակիորեն կապեցի Wemos RESET քորոցին, ինչպես նկարագրված է վերևի լուսանկարներում ՝ օգտագործելով տրանզիստոր ՝ մեխանիզմը ակտիվացնելու/անջատելու համար: Երբ տրանզիստորների հիմքը բարձր էր, GND- ն կարող էր անցնել թեքության անջատիչով և պատճառ դառնալ, որ այն ժամանակավորապես միանա RESET քորոցին ՝ առաջացնելով MCU- ի վերականգնում (սա, ըստ երևույթին, ESP- ն խոր քունից արթնացնելու միակ միջոցն է): Այնուհետև ես միացրեցի D0- ը տրանզիստորների հիմքին ՝ այն նախադրյալի համաձայն, որ այս ոտքը ԲԱՐԻ է այնքան ժամանակ, քանի դեռ MCU- ն քնած է, և արթնանալուն պես D0- ն վերադառնում է LOW ՝ անջատելով վերականգնման մեխանիզմը: Ի վերջո, ես կարիք չունեի կրկնվող վերագործարկման, որպեսզի տեղի ունենար, պարզապես առաջին անգամ, երբ զուգարանի թղթի բռնիչը սկսեց շարժվել:

Այնուամենայնիվ, այն, ինչ ես հայտնաբերեցի, այն էր, որ D0- ի քորոցը բավական երկար ժամանակ է պահանջում MCU- ի վերականգնումից հետո LԱOWՐ վերադառնալու համար `մոտ 200 մ: Սա նշանակում էր, որ եթե ես զուգարանի թղթի բռնիչը բավական արագ պտտեի, երբ MCU- ն քնած էր, ապա այն կստանար մի քանի RESET- եր ՝ պտույտները հաշվելու փոխարեն, ինչպես դա պետք է:

Այսպիսով, ես փորձեցի լուծել այս նոր իրավիճակը որոշ առանձին բաղադրիչներով (կոնդենսատորներ, տրանզիստորներ և այլն), բայց ինձ հաջողվեց միայն մասնակի լուծում տալ խնդրին:

Վերջում ավելացրի ևս մեկ MCU ՝ ATTiny85, որը քնից արթնանում էր թեքության անջատիչով, այնուհետև արթնացնում էր ESP8266- ը և որոշ ժամանակ սպասում քնելուց առաջ: Ես գիտեմ, որ սա, հավանաբար, խնդրի առավել տնտեսական լուծումը չէ, բայց ես վերջնաժամկետ ունեի…

Մանրամասն լուծումը կարող եք տեսնել իմ ընդգրկած սխեմայում: Խնդրում ենք նկատի ունենալ, որ 10K դիմադրիչները փոխարինվեցին 1K- ով, քանի որ 10k- երը չափազանց բարձր էին, որպեսզի տրանզիստորները լիովին բացվեին:

Քայլ 4. ATTiny85- ի պատրաստում

ATTiny85- ի պատրաստում
ATTiny85- ի պատրաստում

Եթե դուք երբեք չեք ծրագրավորել ATTiny85- ը, մի վախեցեք: Սիրված Arduino IDE- ի օգտագործումը կարող է ձեզ հասցնել մինչև վերջ: Սկսեք այս ցուցումներով, թե ինչպես կարգավորել Arduino IDE- ն.

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

Հաջորդը, տեղադրեք USBTinyISP- ի վարորդները այստեղից.

learn.adafruit.com/usbtinyisp/drivers

Այժմ, բեռնեք կից թեստի կոդը ՝ WakeOnExternalInterruptTest.ino

և միացեք (տես ATTiny85 Pinout դիագրամը).

1. Կտտացրեք կոճակը 3 -րդ կապի և գետնի միջև

2. Առաջնորդվող և 220 Օմ դիմադրություն շարքով ՝ 2 -րդ կապի և գետնի միջև

Հաջորդը, Ընտրեք USBTinyISP- ը որպես ծրագրավորող (Գործիքներ -> merրագրավորող) և փորձարկման ուրվագիծը վերբեռնեք տախտակին:

LED- ը պետք է թարթվի 5 անգամ, այնուհետև չիպը պետք է քնի: Կոճակը սեղմելը կհանգեցնի այն արթնանալուն և կրկնել այդ հաջորդականությունը:

Աշխատե՞լ է: հիանալի Վերբեռնեք «Արթնացնող» վերջնական ուրվագիծը ATTiny- ում, որը կօգտագործվի վերջին շրջանի վրա:

Քայլ 5. Կառուցեք Wemos Shield- ը

Wemos Shield- ի կառուցում
Wemos Shield- ի կառուցում
Wemos Shield- ի կառուցում
Wemos Shield- ի կառուցում
Wemos Shield- ի կառուցում
Wemos Shield- ի կառուցում
Wemos Shield- ի կառուցում
Wemos Shield- ի կառուցում

Այսպիսով, վահանը կառուցելու համար դուք ունեք 3 տարբերակ, որոնցից կարող եք ընտրել.

1. Օգտագործեք Wemos- ի համար նախատեսված սովորական protoshield և զոդեք դրա վրա միացված սխեմաները:

2. Պատրաստեք PCB ՝ հիմնված կից EAGLE ֆայլերի վրա:

3. Հարցրեք ինձ համար PCB, որը ես կարող եմ ձեզ ուղարկել խխունջի փոստով (ես մի քանիսը պառկած եմ, արժեքը գրեթե ոչինչ չէ):

Ամեն դեպքում, ես խորհուրդ եմ տալիս միացում կառուցել տախտակի վրա ՝ նախքան PCB- ին միանալը:

Եթե օգտագործում եք PCB- ի ընտրանքները, անպայման միացրեք սև մետաղալարերը, ինչպես լուսանկարներում, տախտակի առջևի կամ հետևի կողմերում (վերջինս ինձ համար ամենալավն էր աշխատում): Այս մետաղալարը WND- ից GND- ը միացնում է ATTiny85- ին և առանց դրա արթնանալը տեղի չի ունենա:

Պարզապես լավ նայեք պատկերներին և կարդացեք իմ ավելացրած ծանոթագրությունները, սա պետք է բավական լինի:

Քայլ 6: Wemos- ի պատրաստում

Եթե դուք երբեք չեք օգտագործել Arduino IDE- ն Wemos տախտակ ծրագրավորելու համար ՝ սկսելով տախտակի կառավարչի տեղադրումից և տախտակի ընտրությունից Գործիքներ -> Տախտակի ընտրացանկում, ինչպես նկարագրված է այստեղ.

github.com/esp8266/Arduino

Սկսեք ՝ թարթելու էսքիզը ձեր տախտակին վերբեռնելով ՝ համոզվեք, որ կոդը ճիշտ է վերբեռնվում:

Քայլ 7: Ամեն ինչ միասին դնել

Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը

Տեղադրեք վահանը Wemos- ի վրա: Դուք կարող եք այն զոդել, բայց ես խորհուրդ եմ տալիս օգտագործել Wemos- ի վրա զետեղված կին վերնագրեր, որոնք թույլ կտան ժամանակավոր կապ ունենալ Wemos- ի և վահանի միջև ՝ ցանկացած դժվարության դեպքում: Պարզապես հիշեք, որ վերնագիրը պետք է դուրս գա հավաքման վերջին փուլում, որպեսզի միավորը տեղավորվի պլաստիկ պատյանում: Բացի այդ, ամեն ինչ մի փոքր ավելի բարդացնելու համար, մեծ հավանականություն կա, որ երբ վահանը միացված է Wemos- ին, ծածկագրի վերբեռնումը անջատված կլինի: Ես հանդիպել եմ այդ երևույթին ոչ հետևողական ձևով և ժամանակ չեմ ունեցել այն ուսումնասիրելու համար:

Խորհուրդ. Նախապես պլանավորեք:

Հիմա, փորձարկում!

Տեղադրվելուց հետո սկսեք վերբեռնել BlinkAccelerometer թեստային ուրվագիծը Wemos- ում և համոզվեք, որ այն միացնում և անջատում է MPU6050 LED- ը: Եթե ոչ, ստուգեք տրանզիստորի էլեկտրագծերը, որոնք պատասխանատու են MPU6050- ի սնուցման համար: Դրա հիմքը պետք է միացված լինի Wemos- ի D5 կապին, կոլեկտորը `արագացուցիչի GND- ին, իսկ Emitter- ը` ընդհանուր GND- ին:

Հաջորդը, վերբեռնեք TurnCountTest1 ուրվագիծը Wemos տախտակին և բացեք Serial Monitor- ը: Դուք պետք է տեսնեք տվյալները, որոնք գալիս են մոնիտորի վրա ներկայացված արագացուցիչից: Եթե այն չի աշխատում, ստուգեք ժամացույցը և տվյալների լարերը. CLK- ը պետք է միացված լինի D1- ին, իսկ ՏՎՅԱԼՆԵՐԸ `D2- ին:

Այժմ, թեքության անջատիչը կպցրեք տախտակի նշանակված անցքերին (տես ծանոթագրությունները) `համոզվելով, որ այն ուղղահայաց է պտտման առանցքի վրա, որպեսզի պտտվող spindle- ը կփակի և կբացի կապը նրա երկու հաղորդալարերի միջև:

Հաջորդը, Մարտկոցի 3 Վ մուտքը միացրեք Wemos VCC- ին, իսկ դրա մինուս տերմինալը Wemos GND- ին: Համոզվեք, որ անջատիչը միացնելը միացնում է սարքը: Վերջապես, բարձրախոսը միացրեք GND- ին և Wemos- ի D4 կապին:

Վերբեռնեք վերջնական ծածկագիրը Wemos- ում ՝ էսքիզ, որը կոչվում է SmartWipe: Բացեք սերիական մոնիտորը և համոզվեք, որ սարքը քնում է 3 րոպե հետո և արթնանում `թեքության անջատիչը տեղափոխելով (համապատասխան հաղորդագրությունները պետք է հայտնվեն մոնիտորի վրա):

Եթե ցանկանում եք նվազեցնել Wemos- ի արթուն մնալու ժամանակը (հիմնականում փորձարկման նպատակով), ապա մարեք պարամետրերում: սահմանեք WIFI_CONFIGURATION_IDLE_TIMEOUT արժեքը և վերբեռնեք էսքիզը տախտակին: Համոզվեք, որ Wemos- ի խոր քուն մտնելուց հետո թեքության անջատիչի շարժումը հանգեցնում է ATTiny- ի արթնացմանը (ազդանշանով LED- ով), որն էլ իր հերթին արթնացնում է Wemos- ին:

Փոխեք պարամետրի արժեքը 180000L (3 րոպե, միլիվայրկյանում) և համոզվեք, որ Wemos- ը գործարկում է IOToilet_XXXXXXX անվանումով թեժ կետ, որտեղ XXXXXXX- ը կվերցվի չիպի MAC հասցեից: Միացեք այս Wifi- ին ՝ օգտագործելով խելացի հեռախոս, և դուք պետք է ուղղորդվեք գրանցման ձևին (մեխանիզմ, որը կոչվում է գերության պորտալ): Լրացրեք մանրամասները, հատկապես կարևոր է ձեր տեղական wifi- ի SSID- ն ու գաղտնաբառը և ներկայացրեք ձևը: Այնուհետև միավորը պետք է փորձի միանալ ցանցին ՝ օգտագործելով տրամադրված հավատարմագրերը և հաջողության դեպքում 3 բարձրացող հնչողություն հնչեցնի բարձրախոսի վրա: Եթե Wifi- ին միանալու խնդիր առաջացած լիներ, 3 նվազման ձայն կհնչի: Դրանից հետո վեմոսները պետք է խոր քնի գնան, մինչև արթնացնեն շարժումները:

Վերջապես. System to end to end համակարգի փորձարկում:

Toiletուգարանի թղթի բռնակն իր պտտման առանցքի երկայնքով պտտեք մի քանի պտույտով, այնուհետև դրեք այն կայուն մակերևույթի վրա (գլանափաթեթի միջոցով ազդանշանն ավարտվել է և առաջացնում տվյալների վերբեռնում): Սպասեք մոտ 10 վայրկյան, մինչև գլանների քանակն ուղարկվի ամպ, այնուհետև գնացեք https://smartwipe-iot.appspot.com/ և կտտացրեք Հարցում: Ամպում պետք է տեսնեք ձեր գրանցման տվյալները և ձեր վերջին օգտագործման ցուցակների քանակը: Համոզվեք, որ գրեք ձեր uuid- ը, որը համակարգում ձեր եզակի id- ն է ՝ հանված ձեր Wemos- ի MAC հասցեից:

Եթե ցանկանում եք արդյունահանել միայն ձեր վիճակագրությունը JSON ձևաչափով, օգտագործեք այսպիսի URL.

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

պարզապես uuid- ը փոխարինեք ձերով:

Ես ներառել եմ վեբ հավելվածի բոլոր աղբյուրները, որը տեղակայված է Google App- ի շարժիչում, որպեսզի օգտվողները, ովքեր ցանկանում են ավելի շատ գաղտնիություն ձեռք բերել տվյալների նկատմամբ, կարող են դրանք տեղադրել իրենց Google օգտվողի վրա, ավելացնել վավերացում և այլն:

Երբ ամեն ինչ աշխատում է, էլեկտրոնիկան տեղադրեք պլաստմասե պատյանում ՝ անհրաժեշտության դեպքում պլաստիկը կտրելով դրեմելով: Ամբողջ կտորը պետք է լավ տեղավորվի պատյանում:

Դժվա՞ր Գրիր ինձ!

ՄԻԱITՎԱ ՄԵՆՔ ՊՈ PՈԿ!

Խորհուրդ ենք տալիս: