Мазмуну:
- 1-кадам: ESP-01 Deep Sleep Module
- 2-кадам: ESP-01 Deep Sleep Code
- 3-кадам: ESP-01 Buzzer Module
- 4-кадам: ESP-01 Buzzer Module Code
- 5 -кадам: Акыркы ойлор
Video: ESP-01 Кыймыл сенсору терең уйку менен: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Мен иштетилгенде электрондук почта билдирүүсүн жөнөтүүчү үй кыймыл датчиктерин жасоонун үстүндө иштеп жатам. Муну көрсөткөн көптөгөн көрсөтмөлөр жана башка мисалдар бар. Мен жакында муну батарея менен иштеген PIR кыймыл сенсору жана ESP-01 менен жасашым керек болчу. ESP-01 абдан функционалдуу жана керектүү бардык мүмкүнчүлүктөргө ээ, андыктан эмне үчүн минималдуу жана эң кымбат бааны колдонбойсуз? Микске дагы бир өзүнчө жана алыскы ESP-01 модулу кошулду, ал кыймыл сенсору иштетилгенде ызылдакты иштетти.
Код жана акыркы схема интернеттеги көптөгөн булактардан чогултулган жана мен аларды атайын аныктай албайм деп ойлойм. Gmail аркылуу электрондук каттарды жөнөтүү идеясы көрсөтмө жана башка булактардан келген жана акыркы код ошол булактардан алынган амальгам. Жумушка терең уктоо мени көп жолдорго алып келди, алар көбүнчө жемишсиз болуп калды. Кызыгы, жол жемиштүү болгондон кийин, сиз башка жолдорду издөөнү токтотосуз. Ошентип, менин ийгилигиме салым кошкон жана азырынча белгисиз болгондорго ыраазычылык билдирем.
Менде PIR сенсорун ESP-01 терең уйкусун иштетүү үчүн бир эле маселе бар болчу. Иштегенге чейин көптөгөн жолдор.
Айтып кереги жок, кээ бир кызыктуу тоскоолдуктар болгон же, балким, көбүрөөк тиешелүү болгон, мен талап кылган электрониканы жакшыраак түшүнүү. Сиз бир нерсе иштегенге чейин үйрөнө бересиз, андан кийин дагы үйрөнүүнүн кажети жок.
ESP-01 терең уктоону, ошондой эле башка ESP8266 модулун аткарат, эгерде сиз уктоону талап кылбасаңыз. Эгерде сиз модуль белгиленген убакыттан кийин ойгонушун кааласаңыз, ESP-01 колдонула турган модуль эмес. Бирок мен каалагандай болгон жок. PIR колдонууда өткөн убакыт маанисиз. Мен ESP-01дин PIR тарабынан сезилген кыймыл түрткү болгондо гана ойгонушун кааладым. Эгерде саат же күн бою кыймыл сезилбесе, ESP-01 эң аз батарея кубатын колдонуу менен уктап калат.
GPIO16 ESP8266 Resetке туташкан көптөгөн схемаларды көрөсүз, анткени GPIO16 ойгонуу сигналы. Бул чындык, бирок бул убакыттагы уйкудан ойготуучу сигнал. Биз бул ПИНди этибарга албайбыз, бул жакшы, анткени ал ESP-01де жок.
Негизинен, бизге керек болгон нерсе-бул ESP-01дин баштапкы абалга келтирүү үчүн PIRден сигналды алуу. Сиз божомолдой турган биринчи кыйынчылык - бул Reset LOW сигналында иштейт жана PIR иштетилгенде HIGH сигналын жөнөтөт. Баштапкы абалга келтирүү ЖОГОРУ же жүктөөдө калкып турушу керек. Муну кыска кылуу үчүн, ар кандай схемаларды сынап көргөндөн кийин, жүктөө учурунда RESET пинди БИЙИК сактап калуу үчүн NPN транзисторун тартуучу каршылыгы менен чечтим. PIRден өндүрүш минималдуу, бирок ал транзисторду иштетүү үчүн жетиштүү базалык токту камсыз кылат.
Төмөндөгү схемада көрүнүп тургандай, ESP-01 PIR кыймылын сезген сайын терең уйкудан ойгонот.
Бирок башка көйгөй бар болчу. ESP-01ди баштапкы абалга келтирүү, PIR кыймылды сезүүнү токтоткондон жана транзисторду өчүрүп, тартылуу каршылыгынан улам баштапкы абалга келтирүү пинин жогорку сигналга кайтаргандан кийин гана болду. Бул электрондук почта жөнөтүлбөй тургандыгын билдирет жана PIR КИЙИНКИ кыймылды сезүүнү токтотмойунча коңгуроо иштетилбейт. Мен кыймылдын сезилээри менен триггердин болушун кааладым.
Мен бул жүрүм-турумдан эмнени аныктадым, ESP-01 чындыгында сигналдын көтөрүлүүчү четинде иштейт. Баштапкы абалга келтирүү ESP-01ди терең уйкудан иштетпейт, бирок чыңалуу HIGH сигналына көтөрүлгөндө, кайра орнотуу ишке ашат.
Менин бул жүрүм -турумума абдан жөнөкөй жообум - PIR чыгаруу менен транзистордук базанын ортосундагы линияга конденсатор кошуу. Бул транзистордун конденсатор заряддалып жатканда гана күйүп калышына алып келди. Заряддалгандан кийин, мындан ары ток болгон жок жана транзистор өчүрүлдү. 5k каршылыгы токтун жерге агып кетишине мүмкүндүк берет. Мен муну ESP-01дин ордуна светодиод менен сынап көрдүм жана өчүп калардан мурун LED жарыгын секундадан бир азга чейин көрө алдым. Бул кичинекей импульс баштапкы абалга келтирүү түйүнүн бир азга жана узун абалга келтирүү үчүн жетиштүү болду жана терең абалда баштапкы абалга келтирүү үчүн жетиштүү болду.
1-кадам: ESP-01 Deep Sleep Module
Терең уйку модулу эки жумушчу чыңалуусун колдонот. Пир үчүн батарейканын туш келди 5v+ жана ESP-01 үчүн 3.3 вольттуу жөнгө салуучу такта. Мен ошондой эле тескери чыңалуудан бузулган бөлүктөрдү алдын алуу үчүн схемага диод киргизем. Бул бир аз кошумча энергияны колдонот жана батарейканын чыңалуусун 0,7 вольтко түшүрөт. Батарея пакетинин жетелөөлөрүн эч качан артка кайтарбай турганыңызга ишенсеңиз, диодду схемадан тышкары калтырууга болот. Ыңгайлуулуктан улам которгуч кошулат.
Бул модуль менин терең эмес уйкунун макетине кичине жаңыртуу. Терең уйку конфигурациясында, PIR түздөн-түз ESP-01дин RX пинине туташкан. Мен ESP-01дин RX пинин бир нече себептерден улам PIRдин кирүүчү пини катары колдонуп жатам. GPIO0 иштеген жок, анткени жүктөөдө PIR чыгаруу PINи LOW болуп, ESP-01дин флеш режимине өтүшүнө алып келет. Мен GPIO2 колдонгон жокмун, анткени анда визуалдык берүү үчүн камтылган LEDди колдоно алган жокмун. RX жана TX казыктары көбүнчө кошумча IO казыктары катары сүрөттөлөт, бирок менин тажрыйбам RX - бул кошумча INPUT пини жана TX - бул кошумча OUTPUT пини.
Терең уйку конфигурациясында RX туташуусу өтө зарыл эмес. Мен муну киргизүү ЖОК болуп турганда LEDди күйгүзүү менен PIR канча убакыт иштей турганын көзөмөлдөө үчүн гана колдонуп жатам. Жогоруда айтылгандай, эгер сиз цикл функциясын тазалап, жөндөө тартибин гана колдонсоңуз, анда RX туташуусу керек эмес.
Бул жерде ESP-01 терең уйку модулунун бөлүктөрүнүн тизмеси келтирилген:
1 - 5 x 7 см ПХБ прототип тактасы
1-2 пин туташтыргычы
2 - 1 x 3 аял башы
1 - AMS1117 - 3.3 чыңалуу жөнгө салуучу схемасы
1 - 1 x 3 Оң бурчтуу Эркек баш пин
1 - 1 x 3 ургаачы розеткага төөнөгүч
1 - 1 х 4 аял розеткасынын баш пин
1 - 2 x 4 аял башы
1 - 1UF конденсатор
1 - HC -SR501 PIR Motion Sensor
1 - 2N2222 Транзистор
1 - 10к резистор
1 - 4.7k резистор
1 - 1к резистор
1 - 1N4148 диод
1 - которуу SS12D00G4 SPDT
1 - ESP -01
1 - 4АА Батарея пакети
Сураныч, видеодо схема 2 х 4 аталыштын ордуна ESP-01 нан адаптерин колдонот. Бул адаптер 2 x 4 баштыкты ширетүү үчүн оңой болгону менен, жакшы иштейт жана чындыгында жакшыраак келет.
2-кадам: ESP-01 Deep Sleep Code
Deep Sleep коду эки функцияны аткарат. Электрондук почта билдирүүсүн жөнөтүңүз (gmail аркылуу демейки) жана сигналды иштетүү үчүн байланышкан ESP-01 сигналдык модулуна http веб сурамын жөнөтүңүз.
Иштетилгенде, бул модуль эки эскертме вариантын камсыз кылат жана сиз электрондук почта билдирүүлөрүнө көңүл бурбаганыңызда өзгөчө пайдалуу болушу мүмкүн.
Эскиздин иштеши үчүн конкреттүү баалуулуктарыңыз менен алты сап кодду жаңыртууңуз керек болот:
const char* ssid = "xxxxx"; // Сиздин WiFi SSIDconst char* password = "xxxxx"; // Сиздин WiFi Сырсөз Стринг Senders_Login = "xxxxx"; // сиздин электрондук почта провайдериңизге кирүү String Senders_Password = "xxxxx"; // сиздин электрондук почта провайдериңиздин сырсөзү
To = "xxxxxx"; From = "xxxxxx"; // Gmail көбүнчө муну Senders_Login менен бирдей көрөт жана алмаштыра алат
Мен терең уйку модулу PIR сенсорун триггер окуясынын узундугу 10 секундадан төмөн болгондо күтүүсүз иштегенин таптым. Менде 20 сек. Бул абдан ишенимдүү далилденди, бирок ошол эле учурда окуялар ошол жыштыкта болушу мүмкүн экенин билдирет.
Мен ошондой эле PIR дагы эле кыймылды сезип турганда ESP-01ди жетектөө үчүн цикл функциясына код коштум. Укурук функциясындагы бардык коддорду алып салса болот жана терең уйкуга чалуу орнотуу функциясынын аягына жылат.
Мен ESP-01 модулу менен иштин визуалдык индикатору үчүн жаркылдоо функциясын колдоном.
Мен gmail менен байланышты колдонгон жана сынап көргөнүм менен, башка электрондук почта провайдерлери да иштешет. Мен бир жупту сынап көрдүм. Чынында, мен gmailди дагы түйшүктүү деп таптым. Gmail сиздин эсебиңиз коопсуздугу начарыраак колдонмолор үчүн конфигурацияланган болушуңузду талап кылат. Бул каттоо эсебинин жөндөөсү демейки боюнча ӨЧҮК, андыктан аны таап, коопсуздугу начарыраак кылып өзгөртүңүз. Gmail башкача иштебейт.
Эгерде сиз бир нече сигнал модулуна ээ болууну тандасаңыз, жөн гана http кардарынын кошумча чалууларын кошуңуз (үч сап кодду кайталаңыз, бирок колдонулган IP дарегин өзгөртүңүз, ошондой эле httpCode өзгөрмөсүн int катары бир гана жолу аныктаңыз!
Бул модулда коңгуроонун IP дареги катуу коддолгонуна көңүл буруңуз. Сиз тандаган IP дарегин колдонуунун кажети жок, бирок бул модулдагы веб -чалуунун IP -дареги менен кийинки модулда веб -сервердин орнотуу IP -дареги дал келиши керек.
3-кадам: ESP-01 Buzzer Module
Зумер модулу абдан жөнөкөй орнотууга ээ. Бул батарейканын ордуна USB туташтыргычын колдонот, анткени бул модуль батарейкага ылайыктуу эмес деп ойлойм. Ал дайыма күйүп турушу керек жана nework/wifi дайыма туташып турушу керек, анткени ал веб -суроо качан берилерин эч качан билбейт. Бул батарейкалар үчүн пайдалуу болгонго караганда үзгүлтүксүз кубаттуулукту талап кылат.
Күзгү модулдары кайсы жерде болбосун кыймыл сенсорунун триггери жөнүндө кабарлоочу бир нече жерге ыңгайлуу жайгаштырылышы мүмкүн!
Зумер USB туташтыргычынын 5v туташтырылган жана ESP-01ге кубат берген дагы бир 3.3v жөнгө салуучу такта бар.
Зумер модулу TX, GPIO0 же GPIO2 аркылуу иштейт. Менин конфигурациямда мен GPIO0 колдонуп жатам. (Модулдун сүрөтүндө зым GPIO2ге туташкан, бирок мен аны жылдырдым.) GPIO0 терең уйку модулу үчүн иштебесе да (INPUT катары) бул макет менен ЧЫККАНЧА жакшы иштейт. Бул көйгөйлөргө алып келүүчү жүктөөдө жерге тартылган эмес. Мен GPIO2 колдондум, бирок андан кийин мен эч кандай пикир билдирүү үчүн борттогу LEDди колдоно албай койдум, бирок ЧЫГУУ үчүн GPIO0 менен мен борттогу LEDди колдоно алам.
Мен NPN транзисторун колдонуп, ESP-01 GPIO0 төөнөгүчүнө ЖОГОРКУ сигналды койгондо, бирок жыйынтыгы абдан карама-каршы келген. Будильник өтө аз кубаттуулукта болсо дагы, ар дайым угулгусу келгендей көрүндү. Ошентип, анын ордуна мен N каналын MOSFET (2n7000) колдондум жана натыйжасы сонун болду. IO пин дарбазаны талапка ылайык айдайт.
Бизге USB туташтыргычынан Vcc (+) жана Gnd (-) эки гана төөнөгүч керек болсо да, мен кошумча туруктуулук үчүн жана USBди регуляторго туташтыруудан мурун, ширетүү үчүн PCB тактасына туташуу үчүн 5 пин башын колдоном. Менин 3.3v жөнгө салуу тактасы төөнөгүчтөрдү алдын ала орнотулган жана оюма төңкөрүш менен келген. Ошентип, жөндөгүчтү баш казыктарына коюу үчүн, сиз схеманын жашыруун экенин көрө аласыз, бирок андан да жаманы, жөндөгүчтөгү vcc жана gnd USB туташтыргычында vcc жана gndден тескери. Ошентип зымдар кесип өтүшөт.
Белгилей кетчү нерсе, активдүү сигнал үчүн + кубаты USB 5vден келет. Ошондой эле, 4 пинтүү аял розеткасынын башкычы коңгуроонун пин орнотуусу менен жакшы иштейт.
ESP-01 Buzzer Module тетиктеринин тизмеси:
1 - 5 х 7 ПХБ тактасы
1 - пин баштары бар USB мини туташтыргычы (7 казык)
2 - 1 x 3 аял башы
1 - AMS1117-3.3 v чыңалуу жөндөгүч такта
1 - 2 x 4 аял башы
2 - 1 x 4 аял розеткасынын башы
1 - 2N7000 N -канал MOSFET
1 - 10 Ом каршылыгы
1 - 5в активдүү үн чыгаруучу
4-кадам: ESP-01 Buzzer Module Code
Зумер модулу жөнөкөй ESP-01 веб-сервери катары иштейт. Бул тамыр сурамасына жөнөкөй билдирүү менен жооп берет жана ызы -чуу түшкөндө, ал ызылдаткычты иштетет. GPIO0 коңгуроо сигналы үчүн GPIO пин үчүн колдонулат.
ESP-01 катуу коддолгон ip дареги менен конфигурацияланганына көңүл буруңуз. Бул терең уйку модулу коңгуроо дарегине кошулушу үчүн талап кылынат.
Мурунку модуль сыяктуу эле, сиз өзүңүздүн баалуулуктарыңыз менен коддун эки сабын жаңыртууңуз керек болот:
// SSID жана WiFi роутеринин сырсөзү char* ssid = "xxxxxxx";
const char* password = "xxxxxxxx";
Эгерде сизде бир нече сигнал модулдары түзүлгөн болсо, алардын ар бири өзүнүн уникалдуу IP дареги менен жүктөлүшү керек.
Сиз ошондой эле ар кандай ызы -чуу обондорун жаратуучу ар кандай ызы -чуу ыкмаларын кошо аласыз. Мисалы, эгер сизде алдыңкы эшикте жана арткы эшикте PIR сенсору бар болсо, анда алар ар бириңиздин сигналдык модулдарыңызга веб -өтүнүч менен кайрылса болот, бирок бир сенсордо чырылдаган эскиз болушу мүмкүн, экинчисинде buzz2 кайсы сенсор иштетилгенин үндөн билүүгө болот. Жана башкалар, ошондой эле ушул сыяктуу! Buzz2 функциясы жок, бирок жөн гана buzz функциясын көчүрүү жана кечигүү маанилерин өзгөртүү.
Веб -сервер үчүн сиз жөн гана мындай кодду киргизишиңиз керек болот:
server.on ("/buzz2", buzz2);
5 -кадам: Акыркы ойлор
Бул менин биринчи көрсөтмөм, ошондуктан мен киргизишим керек болгон практикалык нерселерди сагынып калышым мүмкүн. Мен колдонгон AMS1117-3.3 регулятордук тактасы күйгүзүлгөндө күйүп турган кичинекей ледди камтыйт. Терең уйку модулу үчүн мен муну каалабадым жана күчтү зарылдыгы жок кылдым. Ошентип, мен досканын жетегинин бир жагында болгон нерселерди сатпай койдум, андан кийин трассаны кесүү үчүн пайдалуу бычакты колдондум. Бул мен ойлогондон да жеңил болду жана LEDдин күйүшүнө жол бербейт. Мен ESP-01 катуу уйкуда турганда электр энергиясынын тартылышын аныктай алган жокмун, бирок мен бир нече жумадан кийин жооп алам. Менин кесиптешим сенсорду иштетип жаткан (терең уйкуда эмес) жана бир жуманын ичинде батарейкалары түгөнгөнүн (5АА) тапкан. Менимче, бул орнотуу бир ай же андан да көп убакыт бериши керек. Биз көрөбүз.
Терең уйку модулунун бөлүктөрү болжол менен $ 8 CDN турат (батарейкалар кошулган эмес!) Жана сигнал модулу 5 доллар.
Сунушталууда:
Үн сенсору жана сервосу: реактивдүү кыймыл: 4 кадам
Sound Sensor & Servo: Reactive Motion: Алгач бул схеманы бириктирүү үчүн тиешелүү материалдарды чогултуу керек
DIY дем алуу сенсору Arduino менен (өткөргүч токулган сунуу сенсору): 7 кадам (сүрөттөр менен)
DIY дем алуу сенсору Arduino менен (Өткөргүч токулган сенсор): Бул DIY сенсор өткөргүч трикотаж сунуу сенсорунун формасын алат. Ал көкүрөгүңүздү/ашказаныңызды ороп алат, жана көкүрөгүңүз/ашказаныңыз кеңейгенде жана контрактта болгондо, сенсор, демек, Arduinoго берилүүчү маалымат. Ошентип
DIY: Фокусацияланган кыймыл сенсору менен шыпка орнотулган мини сенсор кутусу: 4 кадам
DIY: Фокусацияланган кыймыл сенсору менен шыпка орнотулган мини сенсор кутусу: Саламатсызбы. Бир нече убакыт мурун мен досума акылдуу үй түшүнүгү менен жардам берип, 40х65мм тешикке шыпка орнотула турган ыңгайлаштырылган дизайндагы мини сенсор кутучасын түздүм. Бул кутуча төмөнкүлөргө жардам берет: • жарыктын интенсивдүүлүгүн өлчөө • нымдуулукту өлчөө
Esp 8266 Esp-01 менен Arduino IDE менен баштоо - Esp такталарын Arduino Ideде орнотуу жана Esp программалоо: 4 кадам
Esp 8266 Esp-01 менен Arduino IDE менен баштоо | Эсеп такталарын Arduino Ideде орнотуу жана программалоо Esp: Бул көрсөтмөлөрдө биз esp8266 такталарын Arduino IDEде кантип орнотууну жана esp-01ди кантип программалоону жана ага кодду жүктөөнү үйрөнөбүз. бул жана адамдардын көбү көйгөйгө туш болушат
Кыймыл сенсору/эсептегич жарыктар: 7 кадам
Motion Sensor/Counter Controlled Lights: Бул долбоор Сан Полис, Сан Луис Обиспо (CPE 133) боюнча Санариптик Дизайн курсунун акыркы долбоору катары түзүлгөн .Эмнеге биз муну кылып жатабыз? Биз дүйнөдөгү жаратылыш ресурстарын сактоого жардам бергибиз келет. Биздин долбоор электр энергиясын үнөмдөөгө багытталган. Дагы бир нерсени сактоо менен