Мазмуну:

IOToilet: 7 кадам (Сүрөттөр менен)
IOToilet: 7 кадам (Сүрөттөр менен)

Video: IOToilet: 7 кадам (Сүрөттөр менен)

Video: IOToilet: 7 кадам (Сүрөттөр менен)
Video: «Растения против зомби 2», телешоу «Тролль квест», «Мой говорящий Том 2», «Игры о кальмарах», Skibidi.io, «Туалетная драка» 2024, Ноябрь
Anonim

IOToilet - бул даарат кагазынын күнүмдүк колдонулушун көзөмөлдөгөн жана бул көрсөткүчтөрдү көрсөткөн статистиканы топтоого мүмкүнчүлүк берген биринчи акылдуу даарат кагазынын кармагычы. Анан эмне үчүн мен күнүмдүк даарат кагазын колдонууга кам көрүшүм керек? Ооба, көрүнүп тургандай, биздин курсактын ден соолугуна, айрыкча, сиңирүү циклине физикалык ден соолугубузга да, психикабызга да көп тиешеси бар. Мисалы, бул жерде бул темада иштелип чыккан жагымдуу TED талкуусу (айтмакчы, бир нече):

Мен башында бул компаниянын 10 бирдигин брендинг агенттиги үчүн курууну тапшыргам, анын клибин жогоруда көрө аласыз (2 -орун), чоң компания үчүн максаттуу маркетинг кампаниясы үчүн. Башында мен бул идеяны четке кагып, кардардык эсепти утуп алууга аракет кылып жаткан башка чыгармачыл акылдан баш тарттым, бирок бара-бара ал мага өстү, мен бул аппарат аркылуу чогултулган маалыматтын баалуулугун түшүндүм.

Курулуш менин кардарым EBayден алынган, туалет кагазынын кармагычына капталган үн жазуучу жабдууларга негизделген. Бул туура форма факторуна жана керектүү бардык тышкы жабдууларга ээ болчу, мисалы динамик, аппаратты иштетүү үчүн кыймыл сенсору, даарат кагазынын өзүн кармоо үчүн булактар, батарея бөлүмү жана өчүрүү өчүргүч, ошондуктан мен кубаныч менен тандадым. муну өзүмдүн моделдөөмдү жана басып чыгарууну эмес, даярды колдонууну.

1 -кадам: Куралдар жана материалдар

Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар

Колдонулган материалдар:

Даарат кагазынын кармагычы

Wemos D1 Mini

ATTiny85 чип, DIP таңгак

2 x 2n2222 транзистор

220 Ом каршылыгы

2 * 1KOhm каршылыгы

MPU6050 акселерометр

Кошумча, эгерде менин ПХБ колдонулбаса:

Wemos прототипдөөчү калкан

зым, ширетүүчү ж.

Колдонулган куралдар:

Dremel кесүүчү диск менен

ATTiny dev board (программалык камсыздоону ыңгайлуу жүктөө үчүн)

USB Tiny ISP программисти

үч бурчтуу бурагыч, мен бул комплектти колдондум:

2 -кадам: Оригиналдуу бирдикти өчүрүү

Оригиналдуу бирдикти жок кылуу
Оригиналдуу бирдикти жок кылуу
Оригиналдуу бирдикти жок кылуу
Оригиналдуу бирдикти жок кылуу
Оригиналдуу бирдикти жок кылуу
Оригиналдуу бирдикти жок кылуу

Оригиналдуу ажаткана кагазынын шпинделин алгандан кийин, мен анын корпусун үч бурчтуу бурагыч менен ачтым жана оригиналдуу ПХБны алып салдым, динамикти ажыратып, ага мүмкүн болушунча көбүрөөк зым калтырдым.

Мен кийинчерээк жаңы схемага киргизиле турган баштапкы ПКБдан LED менен жантаюу сенсорун ширеттим. Көңүл буруңуз, бурулуп кетиши мүмкүн, анткени ал зыян келтириши мүмкүн. Меники боз түстө болчу, бирок мен баштапкы түзмөктөн алып салууда жакшы тартпаганым үчүн, жашыл болгон тордон (жогорудан караңыз) сүрөтүн колдонууга туура келди. Болгону майда деталдар.

Корпусту ачып, электрониканы алып салгандан кийин, мен дагы Дремелдин жардамы менен баштапкы ПХБны кармап туруу үчүн колдонулган ашыкча пластикти алып салдым, бул кичинекей пластикалык текчелер жана 4 бурамалуу түтүктөрдүн бири. Кааласаңыз, муну монтаждоо баскычына жылдырсаңыз болот, бирок кандайдыр бир учурда пластикалык кыркуу талап кылынат.

3 -кадам: Circuitry түшүндүрүлөт

Circuitry Explained
Circuitry Explained
Circuitry Explained
Circuitry Explained

Ошентип, бул жерде схеманын артындагы логика жөнүндө бир аз:

Батарейкалар узак убакыт иштеши үчүн, мен WMOS D1 Miniдеги MPU6050 акселерометрди да, ESP8266 процессорун да активдештирүүнүн ортосунда уктатышым керек болчу. Биринчиси оңой эле MPU6050 күйгүзүп жана өчүргөн транзисторду колдонуп жасалган.

Эскертүү: Мен башында аны негизги процессорду ойгото турган үзгүлтүк сигналын жөнөтүү үчүн программалай алам деп ойлогом. Тилекке каршы, мен аны ишке ашыруунун жолун таба алган жокмун, MPU6050 туура регистрлерин конфигурациялоо татаал иш болчу, мен дагы деле мүмкүн болсо, билбейм …

Экинчи вариантым, ESPти ойготуу үчүн түпнуска менен камсыз болгон эңкейиш которгучун колдонуу. Мен муну түздөн -түз механизми активдештирүү/өчүрүү үчүн транзисторду колдонуп, жогорудагы сүрөттөрдө сүрөттөлгөн Wemos RESET пинине байладым. Транзистордун базасы жогору болгондо, GND эңкейиш которгучтан өтүп, RESET пинге убактылуу туташуусуна алып келиши мүмкүн, бул MCUду кайра орнотууга алып келет (бул ESPти терең уйкудан ойготуунун бирден -бир жолу, кыязы). Мен андан кийин D0ду транзистордук базага туташтырдым, бул бут MCU уктап жатканда эле БИЙИК деп ойготуп, ойгоноор замат D0 LOW режимине кайтып, баштапкы абалга келтирүү механизмин өчүрөт. Акыр -аягы, мага кайталануучу абалга келүүнүн кереги жок болчу, биринчи жолу даарат кагазынын кармагычы кыймылдай баштаганда.

Бирок, мен тапканым, D0 пини MCU баштапкы абалына кайткандан кийин LOW, болжол менен 200ms. Бул, эгерде мен 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ти программист катары тандаңыз (Куралдар -> Программисттин астында) жана тесттин эскизин тактага жүктөңүз.

Светодиод 5 ирет өчүп -күйүп, анан чип уктап калышы керек. Баскычты басуу анын ойгонушуна жана ошол ырааттуулукту кайталашына алып келет.

Иштедиңизби? абдан жакшы! ATTinyге акыркы ойготкучтун акыркы эскизин жүктөп, акыркы схемада колдонуңуз.

5 -кадам: Wemos Shieldди куруу

Wemos Shield куруу
Wemos Shield куруу
Wemos Shield куруу
Wemos Shield куруу
Wemos Shield куруу
Wemos Shield куруу
Wemos Shield куруу
Wemos Shield куруу

Ошентип, калкан куруу үчүн сизде 3 вариант бар:

1. Wemos үчүн стандарттуу прото калканчты колдонуңуз жана ага схеманы ширетиңиз.

2. Тиркелген EAGLE файлдарынын негизинде ПХБ жасаңыз.

3. Менден үлүл почта аркылуу жөнөтө ала турган ПХБ сураңыз (менде бир нече жатам, баасы эч нерсеге жакын эмес).

Кандай болбосун, мен ПХБга киришүүдөн мурун схеманы нан тактасына курууну сунуштайм!

Эгерде PCB параметрлерин колдонуп жатсаңыз, кара зымды сүрөттөрдөгүдөй тактайдын алдыңкы же арткы жагына туташтырыңыз (акыркы мен үчүн эң жакшы иштеген). Бул зым GNDди Wemosтон ATTiny85ке туташтырат жана ансыз ойгонуу болбойт.

Жөн гана сүрөттөрдү жакшылап карап, мен кошкон аннотацияларды окуңуз, бул жетиштүү болушу керек.

6 -кадам: Вемолорду даярдоо

Эгерде сиз эч качан Arduino IDEди Wemos тактасын программалоо үчүн колдоно элек болсоңуз, анда менеджерди орнотуп, бул жерде сүрөттөлгөндөй Tools -> Board менюсунда тактаны тандап алыңыз:

github.com/esp8266/Arduino

Коддун туура жүктөлгөнүн текшерүү үчүн тактаңызга эскизди жүктөө менен баштаңыз.

7 -кадам: Бардыгын бириктирүү

Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу

Калканды Wemosко орнотуңуз. Сиз аны ширете аласыз, бирок мен Wemosко ширетилген аялдардын башын колдонууну сунуштайм, бул кандайдыр бир кыйынчылык болгон учурда Wemos менен калкан ортосунда убактылуу байланышка мүмкүнчүлүк берет. Эсиңизде болсун, аялдын башы пластикалык кабыкка батышы үчүн монтаждын акыркы этабында түшүшү керек. Ошондой эле, нерселерди бир аз татаалдаштыруу үчүн, калкан Wemosко туташканда, кодду жүктөө өчүрүлүп калышы толук ыктымал. Мен бул көрүнүштү ырааттуу эмес жолуктурдум жана аны изилдөөгө убактым жок болчу.

Кеңеш: алдын ала пландаңыз.

Эми, тестирлөө!

Орнотулгандан кийин, BlinkAccelerometer тесттин эскизин Wemosко жүктөөдөн баштаңыз жана анын MPU6050 LEDди күйгүзүп жана өчүрүп турганын текшериңиз. Болбосо, MPU6050 иштетүү үчүн жооптуу болгон транзистордун зымдарын текшериңиз. Анын базасы Wemosтун D5 пинине туташтырылышы керек, коллектор акселерометрдин GNDсына жана Эмиттер жалпы GNDге туташтырылышы керек.

Андан кийин, TurnCountTest1 эскизин Wemos тактасына жүктөп, Serial Monitorду ачыңыз. Сиз монитордо көрсөтүлгөн акселерометрден келген маалыматтарды көрүшүңүз керек. Эгерде иштебесе, саатты жана маалымат зымдарын текшериңиз: CLK D1ге, DATA D2ге туташышы керек.

Эми, ийилүү которгучун тактанын белгиленген тешиктерине (аннотацияларды караңыз) ээрчиңиз, анын айлануу огуна перпендикуляр экенин текшериңиз, ошондо шпиндель ийрилип жабылат жана анын эки учунун ортосундагы байланыш ачылат.

Андан кийин, Батарея 3V кирүүсүн Wemos VCCге жана анын минус терминалын Wemos GNDге туташтырыңыз. Коммутаторду күйгүзүү менен бирдикти күйгүзөрүңүздү текшериңиз. Акырында, динамикти GND менен Wemosтун D4 пинине туташтырыңыз.

Wemosко акыркы кодду жүктөңүз - SmartWipe деп аталган эскиз. Сериялык мониторду ачыңыз жана аппарат 3 мүнөттөн кийин уктап жаткандыгын жана кыйшайтуу которгучун жылдыруу менен ойгонорун текшериңиз (монитордо тиешелүү билдирүүлөр пайда болушу керек).

Эгерде сиз Wemosтун ойгонуу убактысын кыскартууну кааласаңыз (негизинен тестирлөө үчүн), params.h менен аныкталган WIFI_CONFIGURATION_IDLE_TIMEOUT маанисин азайтыңыз жана эскизди тактага жүктөңүз. Wemos терең уйкуга кеткенден кийин, кыйшайтуу которгучун жылдыруу ATTinyдин ойгонушуна алып келет (LED сигнал менен), бул өз кезегинде Wemosту ойготот.

Параметрдин маанисин кайра 180000Lге (3 мүнөт, миллисексте) өзгөртүңүз жана Wemos IOToilet_XXXXXXXX деп аталган Hotspotту күйгүзгөнүн текшериңиз, мында XXXXXXX чиптин MAC дарегинен алынат. Бул Wifiга акылдуу телефонуңуз менен туташыңыз, жана сиз каттоо формасына (Captive Portal деп аталган механизмге) багытталууңуз керек. Чоо -жайын толтуруңуз, өзгөчө жергиликтүү wifi'нын SSID жана паролу маанилүү жана форманы тапшырыңыз. Андан кийин, бирдик камсыздалган ишеним грамоталарын колдонуп, тармакка туташууга аракет кылышы керек жана эгер ийгиликтүү болсо, динамикте 3 көтөрүлүүчү үндөрдү ойнотуу керек. Эгер Wifiга туташууда көйгөй болсо, анда 3 түшүүчү үн ойнотулат. Андан кийин, Wemos кыймыл менен ойгонгуча, терең уйкуга кетиши керек.

Акыр -аягы: аягына чейин системасы тест.

Даарат кагазынын кармагычын айлануу огунун айланасында бир нече айлантуу, андан кийин аны туруктуу бетке коюңуз (түрмөктүн жардамы менен сигнал берүү үчүн жана маалыматтарды жүктөө). Болжолдуу түрдө 10 секунд күтө туруңуз, булутка жөнөтүлөт, андан кийин https://smartwipe-iot.appspot.com/ дарегине кирип, Суроону басыңыз. Сиз каттоонун чоо -жайын жана акыркы булутта колдонууңуздун санын көрүшүңүз керек! Wemosтун MAC дарегинен алынган тутумуңуздагы уникалдуу идентификаторуңуз болгон uuid сөзсүз жазыңыз.

Эгерде сиз статистикаңызды JSON форматында гана чыгаргыңыз келсе, ушуга окшош URL колдонуңуз:

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

жөн гана uuidди өзүңүзгө алмаштырыңыз.

Мен Google App кыймылдаткычында жайгашкан веб -тиркеме үчүн бардык булактарды киргиздим, андыктан маалыматтын купуялыгын сактоону каалаган колдонуучулар аны өзүнүн Google колдонуучусуна жайгаштыра алышат, аутентификация ж.б.

Баары иштеп турганда, электрониканы пластикалык кабыкка салып, пластмассаны дремель менен кесиңиз. Бүт бөлүк корпуска жакшынакай батышы керек.

Кыйынчылыкпы? Мага жаз!

БИРИККЕН БИЗ КУТТУК!

Сунушталууда: