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

ESP-01 Շարժման սենսոր ՝ խորը քունով. 5 քայլ
ESP-01 Շարժման սենսոր ՝ խորը քունով. 5 քայլ

Video: ESP-01 Շարժման սենսոր ՝ խորը քունով. 5 քայլ

Video: ESP-01 Շարժման սենսոր ՝ խորը քունով. 5 քայլ
Video: La Educación Prohibida - Película Completa HD Oficial 2024, Նոյեմբեր
Anonim
Image
Image

Ես աշխատում էի տնական շարժման տվիչների ստեղծման վրա, որոնք գործարկելիս էլ. Կան բազմաթիվ օրինակելի հրահանգներ և դրա կատարման այլ օրինակներ: Վերջերս ես պետք է դա անեի մարտկոցով աշխատող PIR շարժման ցուցիչով և ESP-01- ով: ESP-01- ը շատ ֆունկցիոնալ է և ունի բոլոր անհրաժեշտ հնարավորությունները, ինչու՞ չօգտագործել անհրաժեշտ նվազագույն և ամենաթանկ ծախսերը: Խառնուրդին ավելացվեց մեկ այլ առանձին և հեռավոր ESP-01 մոդուլ, որը շարժիչ սենսոր գործարկելիս ազդանշան առաջացրեց:

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

Ես նույն խնդիրն ունեի PIR սենսորին աշխատեցնելու համար ՝ ESP-01 խոր քունը հրահրելու համար: Շատ ճանապարհներ, մինչև որ մեկը չաշխատեր:

Ավելորդ է ասել, որ կային որոշ հետաքրքիր խոչընդոտներ կամ գուցե ավելի տեղին ՝ էլեկտրոնիկայի ավելի լավ իմացություն, որն ինձ անհրաժեշտ էր: Շարունակում եք սովորել, մինչև որ ինչ -որ բան ստացվի, և այլևս պետք չէ սովորել:

ESP-01- ը կատարում է խոր քուն, ինչպես նաև ցանկացած այլ ESP8266 մոդուլ, քանի դեռ չեք պահանջում ժամանակային քուն: Եթե ցանկանում եք, որ մոդուլն արթնանա որոշ ժամանակ անց, ESP-01- ը օգտագործման մոդուլ չէ: Բայց դա այն չէ, ինչ ես ուզում էի: Անցած ժամանակը անիմաստ է PIR օգտագործելիս: Ես ուզում էի, որ ESP-01- ը արթնանա միայն այն ժամանակ, երբ շարժվում է PIR- ի կողմից զգացված շարժման միջոցով: Եթե ժամեր կամ օրեր շարունակ շարժում չկա, ESP-01- ը քնում է ՝ օգտագործելով մարտկոցի նվազագույն էներգիան:

Դուք կտեսնեք բազմաթիվ սխեմաներ, որոնք օգտագործում են GPIO16 միացված ESP8266 Reset- ին, քանի որ GPIO16- ը արթնացման ազդանշան է: Սա ճիշտ է, բայց դա արթնության ազդանշան է ժամանակավոր քունից: Մենք կարող ենք անտեսել այս PIN- ը, որը լավ է, քանի որ այն հասանելի չէ ESP-01- ում:

Հիմնականում մեզ անհրաժեշտ է միայն PIR- ից ազդանշան ստանալ ESP-01 Reset քորոցը գործարկելու համար: Առաջին դժվարությունը, որը դուք կռահեք, այն է, որ Reset- ը գործարկվում է LOW ազդանշանի վրա, և PIR- ը գործարկման ժամանակ ուղարկում է HIGH ազդանշան: Վերակայումը նույնպես պետք է լինի HIGH կամ լողա բեռնախցիկում: Այսքան կարճ պահելու համար, որոշ տարբեր սխեմաներ փորձելուց հետո, ես որոշեցի օգտագործել NPN տրանզիստորը `ձգվող դիմադրիչով` բեռնման ընթացքում RESET pin- ը բարձր պահելու համար: PIR- ից ելքը նվազագույն է, բայց ապահովում է տրանզիստորի միացման բավարար բազային հոսանք:

Ինչպես կտեսնեք ներքևի սխեմաներում, ESP-01- ը արթնանում էր խոր քունից ամեն անգամ, երբ PIR- ը զգում էր շարժումը:

Բայց կար մեկ այլ խնդիր. ESP-01- ի վերագործարկումը տեղի ունեցավ միայն այն բանից հետո, երբ PIR- ը դադարեց շարժումը զգալուց և վերադարձավ ցածր ազդանշանին, որն անջատեց տրանզիստորը և Վերականգնման քորոցը վերադարձավ HIGH- ին `քաշման դիմադրության պատճառով: Սա կնշանակի, որ էլ. Ես ուզում էի, որ ձգանը տեղի ունենար շարժումը զգալուն պես:

Այն, ինչ ես որոշեցի այս վարքագծից, այն է, որ ESP-01- ն իրականում միանում է ազդանշանի բարձրացող եզրին: Վերակայման քորոցը գետնին պահելը իրականում չի առաջացնում ESP-01- ը խոր քունից, բայց այն պահին, երբ լարումը բարձրանում է դեպի բարձր ազդանշան, ապա տեղի է ունենում վերականգնում:

Այս վարքագծին իմ շատ պարզ պատասխանը Կոնդիրատոր ավելացնելն էր PIR ելքի և տրանզիստորի բազայի միջև ընկած գծին: Դա պատճառ դարձավ, որ տրանզիստորը միանա միայն կոնդենսատորի լիցքավորման ժամանակ: Լիցքավորվելուց հետո այլ հոսանք չկար, և տրանզիստորը անջատվեց: 5k դիմադրությունը թույլ է տալիս հոսանքը հոսել գետնին: Ես դա փորձարկեցի LED- ով ESP-01- ի փոխարեն և կարող էի տեսնել, որ LED լուսարձակը միացված է մի վայրկյան առաջ `անջատվելուց առաջ: Այս փոքրիկ զարկերակը բավական էր Reset- ի քորոցը վայրկենապես գետնին քաշելու և բավական երկար ՝ Reset- ը խոր քունից դուրս բերելու համար:

Քայլ 1: ESP-01 Deep Sleep մոդուլ

ESP-01 Deep Sleep մոդուլ
ESP-01 Deep Sleep մոդուլ
ESP-01 Deep Sleep մոդուլ
ESP-01 Deep Sleep մոդուլ

Խորը քնի մոդուլը օգտագործում է երկու աշխատանքային լարման: PIR- ի մարտկոցի տուփի պատահական 5v+, ինչպես նաև ESP-01- ի համար 3.3 վոլտ կարգավորիչ տախտակ: Ես նաև դիոդ եմ ներառում սխեմայի մեջ `վնասված մասերը հակառակ լարումներից կանխելու համար: Սա իսկապես օգտագործում է մի փոքր լրացուցիչ էներգիա և մարտկոցի լարման նվազում է 0.7 վոլտով: Դիոդը կարող է դուրս մնալ միացումից, եթե վստահ եք, որ երբեք չեք շրջի մարտկոցի տուփի լարերը: Անջատիչն ավելացվում է նաև հարմարությունից ելնելով:

Այս մոդուլը փոքր թարմացում է իմ սկզբնական ոչ խորը քնի դասավորության: Ոչ խորը քնի կոնֆիգուրացիայում PIR- ն ուղղակիորեն միացված է ESP-01- ի RX կապին: Ես օգտագործում եմ ESP-01- ի RX կապը որպես PIR- ի մուտքի փին մի քանի պատճառներով: GPIO0- ը չի աշխատում, քանի որ բեռնախցիկում PIR- ի ելքային PIN- ը OWԱOWՐ կլինի, ինչը ESP-01- ին մտցնում է ֆլեշ ռեժիմ: Ես չեմ օգտագործել GPIO2- ը, քանի որ այն ժամանակ ես չէի կարող ներկառուցված LED- ն օգտագործել տեսողական հետադարձման համար: RX և TX կապում հաճախ նկարագրվում է որպես լրացուցիչ IO կապ, բայց իմ փորձն այն է, որ RX- ը լրացուցիչ INPUT քորոց է, իսկ TX- ը լրացուցիչ OUTPUT քորոց:

Խորը քնի կոնֆիգուրացիայի դեպքում RX կապը խիստ անհրաժեշտ չէ: Ես այն օգտագործում եմ միայն վերահսկելու համար, թե որքան ժամանակ է սկսվում PIR- ը ՝ LED- ը միացնելով, մինչդեռ մուտքը ԲԱՐՁՐ է: Ինչպես արդեն նշվեց, եթե դուք մաքրում եք օղակի գործառույթը և օգտագործում եք միայն կարգաբերման ռեժիմը, ապա RX կապն ավելորդ է:

Ահա ESP-01 խորը քնի մոդուլի մասերի ցանկը.

1 - 5 x 7 սմ PCB նախատիպի տախտակ

1 - 2 փին միակցիչ

2 - 1 x 3 կանացի վերնագիր

1 - AMS1117 - 3.3 լարման կարգավորիչ տպատախտակ

1 - 1 x 3 Աջ անկյուն Արական վերնագրի քորոց

1 - 1 x 3 կանացի վարդակից վերնագրի քորոց

1 - 1 x 4 կանացի վարդակից վերնագրի քորոց

1 - 2 x 4 կին գլխով

1 - 1uf կոնդենսատոր

1 - HC -SR501 PIR շարժման ցուցիչ

1 - 2N2222 տրանզիստոր

1 - 10k Resistor

1 - 4.7k Resistor

1 - 1k դիմադրություն

1 - 1N4148 դիոդ

1 - անջատիչ SS12D00G4 SPDT

1 - ESP -01

1 - 4AA մարտկոցի փաթեթ

Խնդրում ենք նկատի ունենալ, որ տեսանյութում տպատախտակն օգտագործում է ESP-01 տախտակի ադապտեր `2 x 4 վերնագրի փոխարեն: Թեև այս ադապտերն ավելի հեշտ է զոդել, 2 x 4 վերնագիրը լավ է աշխատում և իրականում ավելի լավ է տեղավորվում:

Քայլ 2: ESP-01 Deep Sleep Code

Deep Sleep ծածկագիրը կատարում է երկու գործառույթ: Ուղարկեք էլփոստի հաղորդագրություն (որպես կանխադրված gmail- ի միջոցով) և ուղարկեք http վեբ հարցում համապատասխան ESP-01 ազդանշանային մոդուլին `ազդանշանը միացնելու համար:

Գործարկելիս այս մոդուլը տալիս է ծանուցման երկու տարբերակ և կարող է հատկապես օգտակար լինել, երբ ուշադրություն չեք դարձնում էլ.

Էսքիզը աշխատեցնելու համար ձեզ հարկավոր է թարմացնել վեց տող ձեր հատուկ արժեքներով:

const char* ssid = "xxxxx"; // Ձեր WiFi SSIDconst char* գաղտնաբառը = "xxxxx"; // Ձեր WiFi գաղտնաբառի լարային ուղարկողներ_Մուտք = "xxxxx"; // ձեր էլփոստի մատակարարի մուտքը String Senders_Password = "xxxxx"; // ձեր էլփոստի մատակարարի գաղտնաբառը

Դեպի = "xxxxxx"; From = "xxxxxx"; // Gmail- ը հիմնականում նախընտրում է, որ սա լինի նույնը, ինչ Senders_Login- ը և կարող է փոխարինել

Ես գտա, որ խորը քնի մոդուլը գործում է անկանխատեսելիորեն, երբ PIR սենսորը դրված էր 10 վրկ -ից ցածր ՝ ձգանման իրադարձության տևողության համար: Ես իմը դրել եմ 20 վրկ: Սա ապացուցվել է շատ հուսալի, բայց դա նաև նշանակում է, որ իրադարձությունների հրահրումը կարող է տեղի ունենալ այդ հաճախականությամբ:

Ես նաև կոդ եմ ավելացրել օղակի գործառույթին ՝ ESP-01- ը միացված պահելու համար, քանի դեռ PIR- ը դեռ զգում է շարժումը: Օղակի գործառույթի բոլոր ծածկագրերը կարող են հեռացվել, և խորը քնի կանչը տեղափոխվել է կարգաբերման գործառույթի ավարտին:

Ես օգտագործում եմ թարթման գործառույթը ESP-01 մոդուլով գործունեության տեսողական ցուցիչի համար:

Մինչ ես օգտագործել և փորձարկել եմ gmail- ի հետ կապը, այլ էլփոստի մատակարարներ նույնպես աշխատում են: Ես զույգ եմ փորձել: Իրականում, ես gmail- ն ավելի անհանգստացնող եմ գտել: Gmail- ը պահանջում է, որ ձեր հաշիվը կազմաձևված լինի ոչ ապահով ծրագրերի հասանելիության համար: Այս հաշվի կարգավորումը լռելյայն անջատված է, այնպես որ համոզվեք, որ այն գտնում եք և փոխում այն ավելի քիչ ապահովի: Gmail- ն այլ կերպ չի աշխատի:

Եթե ընտրում եք ունենալ մեկից ավելի ազդանշանային մոդուլ, պարզապես ավելացրեք http հաճախորդի լրացուցիչ զանգեր (կրկնել երեք տողի ծածկագիրը, բայց փոխել օգտագործված IP հասցեն և միայն մեկ անգամ սահմանել httpCode փոփոխականը որպես int):

Նկատի ունեցեք, որ ազդանշանի IP հասցեն կոշտ կոդավորված է այս մոդուլում: Պարտադիր չէ օգտագործել իմ ընտրած IP հասցեն, այլ պետք է այս մոդուլում համացանցային զանգի IP հասցեն համապատասխանեցնել հաջորդ մոդուլում վեբ սերվերի տեղադրման IP հասցեին:

Քայլ 3. ESP-01 ազդանշանային մոդուլ

ESP-01 ազդանշանային մոդուլ
ESP-01 ազդանշանային մոդուլ
ESP-01 ազդանշանային մոդուլ
ESP-01 ազդանշանային մոդուլ
ESP-01 ազդանշանային մոդուլ
ESP-01 ազդանշանային մոդուլ

Buանգի մոդուլն ունի բավականին պարզ կարգավորում: Այն մարտկոցի տուփի փոխարեն օգտագործում է USB միակցիչ, քանի որ չեմ կարծում, որ այս մոդուլը հարմար է մարտկոցի համար: Այն պետք է մշտապես միացված լինի և Nework/wifi- ն միշտ միացված լինի, քանի որ երբեք չգիտի, թե երբ է վեբ հարցում կատարվելու: Սա պահանջում է ավելի շարունակական էներգիա, քան մարտկոցներն օգտակար են:

Buzzer մոդուլները կարող են հարմար տեղադրվել բազմաթիվ վայրերում ՝ ապահովելով շարժման սենսորների հրահրող իրադարձության մասին ծանուցում, անկախ նրանից, թե որտեղ եք գտնվում:

Theանգիչը միացված է USB միակցիչի 5 վ-ին և կա մեկ այլ 3.3 վ կարգավորիչ տախտակ, որը սնուցում է ESP-01- ը:

Buանգի մոդուլը կգործի `օգտագործելով TX, GPIO0 կամ GPIO2 ելքի համար: Իմ կազմաձևում ես օգտագործում եմ GPIO0- ը: (Մոդուլի նկարում մետաղալարը միացված է GPIO2- ին, բայց ես այն տեղափոխել եմ այն): Թեև GPIO0- ը չի աշխատում խորը քնի մոդուլի համար (որպես INPUT), այն լավ է աշխատում այս դասավորության հետ, որպես OUTPUT: Բեռնախցիկի վրա այն գետնին չի քաշվում, ինչը խնդիրներ կառաջացնի: Ես իսկապես օգտագործեցի GPIO2- ը, բայց հետո չկարողացա օգտագործել լուսադիոդային լուսարձակը որևէ հետադարձ կապի համար, բայց օգտագործելով GPIO0- ը OUTPUT- ի համար ես կարող եմ օգտագործել նավի վրա գտնվող LED- ը:

Ես փորձեցի օգտագործել NPN տրանզիստորը `ազդանշանի ազդանշանը միացնելու համար, երբ ESP-01- ը բարձր ազդանշան դրեց GPIO0 քորոցին, բայց արդյունքները սարսափելի անհամապատասխան էին: Թվում էր, թե բզզոցը ցանկանում է հնչել բոլոր ժամանակներում, նույնիսկ շատ փոքր հզորությամբ: Դրա փոխարեն ես օգտագործեցի N ալիք MOSFET (2n7000) և արդյունքը սարսափելի էր: IO- ի քորոցը անհրաժեշտության դեպքում քշում է դարպասը:

Մինչ մեզ անհրաժեշտ է երկու կապում USB միակցիչից Vcc (+) և Gnd (-), ես օգտագործում եմ 5 փին վերնագիր `PCB- ի տախտակին միանալու համար լրացուցիչ կայունության և զոդման համար` USB- ը կարգավորիչին միացնելուց առաջ: Իմ 3.3 վ կարգավորիչ խորհուրդը եկավ նախապես տեղադրված կապում և մտքումս ՝ գլխիվայր: Այսպիսով, կարգավորիչը վերնագրի կապում տեղադրելու համար կարող եք տեսնել, որ տպատախտակը թաքնված է, բայց դրանից վատ, կարգավորիչի վրա vcc և gnd հակադարձվում են vcc- ից և gnd USB միակցիչի վրա: Այսպիսով, լարերը հատվում են:

Նաև նշեք, որ + ազդանշանի ակտիվ հզորությունը գալիս է USB- ի 5 վ -ից: Բացի այդ, 4 փին իգական վարդակի վերնագիրը լավ է աշխատում ազդանշանի տեղադրման հետ:

ESP-01 Buzzer մոդուլի մասերի ցուցակ.

1 - 5 x 7 PCB տախտակ

1 - USB մինի միակցիչ ՝ քորոցային վերնագրերով (7 կապում)

2 - 1 x 3 իգական վերնագիր

1 - AMS1117-3.3 v լարման կարգավորիչ տախտակ

1 - 2 x 4 կին գլխով

2 - 1 x 4 կանացի վարդակների վերնագրեր

1 - 2N7000 N -channel MOSFET

1 - 10 օմ դիմադրություն

1 - 5v ակտիվ ազդանշան

Քայլ 4: ESP-01 ազդանշանային մոդուլի կոդ

Buանգի մոդուլը գործում է որպես պարզ ESP-01 վեբ սերվեր: Այն պատասխանում է մի պարզ հաղորդագրությամբ ՝ արմատային խնդրանքին, և երբ այն ստանում է buzz- ի հարցումը, այն կակտիվացնի ազդանշանը: GPIO0- ն օգտագործվում է GPIO կապի համար ազդանշանային ազդանշանի համար:

Նկատի ունեցեք, որ ESP-01- ը կազմաձևված է կոշտ կոդավորված IP հասցեով: Սա պահանջվում է, որպեսզի խորը քնի մոդուլը զուգորդվի ազդանշանային հասցեին:

Ինչպես և նախորդ մոդուլը, դուք պետք է թարմացնեք երկու տող ձեր հատուկ արժեքներով.

// Ձեր WiFi երթուղիչի SSID և գաղտնաբառ char* ssid = "xxxxxxx";

const char* գաղտնաբառ = "xxxxxxxx";

Եթե ունեք բազմաթիվ ազդանշանային մոդուլներ, ապա յուրաքանչյուրը պետք է բեռնված լինի իր յուրահատուկ IP հասցեով:

Կարող եք նաև ավելացնել բզզման տարբեր եղանակներ, որոնք արտադրում են տարբեր բզզող մեղեդիներ: Օրինակ, եթե դու ունես PIR սենսոր առջևի դռան մոտ և մեկը հետևի դռան մոտ, նրանք կարող են վեբ հարցում կատարել ձեր յուրաքանչյուր ազդանշանային մոդուլից, բայց մեկ սենսորի վրա կարող է լինել ուրվագիծ, որը զանգում է buzz, իսկ մյուս ուրվագիծը կարող է զանգահարել buzz2: որպեսզի ձայնից կարողանաք հասկանալ, թե որ սենսորն է գործարկվել: Եվ այսպես, և այլն: Buzz2 գործառույթը գոյություն չունի, այլ պարզապես պատճենեք buzz գործառույթը և փոխեք հետաձգման արժեքները:

Վեբ սերվերի համար պարզապես պետք է ավելացնել այսպիսի ծածկագրի տող.

server.on ("/buzz2", buzz2);

Քայլ 5: Վերջնական մտքեր

Սա իմ առաջին հրահանգն է, այնպես որ ես կարող եմ բաց թողնել որոշ գործնական բաներ, որոնք պետք է ներառեի: AMS1117-3.3 կարգավորիչ խորհուրդը, որը ես օգտագործել եմ, ներառում է մի փոքրիկ լուսադիոդ, որը վառվում է միացման ժամանակ: Խորը քնի մոդուլի համար ես չէի ցանկանա, որ դա հանգեցնի և ուժը սպառի անհարկի: Այսպիսով, ես չվաճառեցի այն, ինչ կարող էի տախտակի վրա կապարի մի կողմում, այնուհետև օգտագործեցի դանակը `հետքը գիծը կտրելու համար: Սա ավելի հեշտ էր, քան ես կարծում էի և կանխում է LED- ի լուսավորությունը: Ես չեմ կարողացել որոշել, թե որն է էներգիայի սպառումը, երբ ESP-01- ը խոր քնի մեջ է, բայց միգուցե մի քանի շաբաթվա ընթացքում պատասխան ունենամ: Իմ գործընկերը գործարկում էր սենսորը (ոչ խոր քնի մեջ) և մոտ մեկ շաբաթում գտավ, որ մարտկոցները սպառված են (5AA): Կարծում եմ, որ այս կարգավորումը պետք է տա մեկ ամիս կամ նույնիսկ ավելին: Կտեսնենք:

Խորը քնի մոդուլն արժեցել է մոտ 8 դոլար CDN մասերով (մարտկոցները ներառված չեն) և ազդանշանային մոդուլը ՝ 5 դոլար:

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