Բյուջետային GSM ազդանշանային համակարգ Arduino-ի ուղեղով: Անվտանգության ազդանշանի ստեղծում՝ շարժման սենսորով, որը հիմնված է Arduino-ի և ինֆրակարմիր սենսորների վրա Զարթուցիչ բջջային հեռախոսից և arduino-ից

Վերջին տասնամյակում ավտոմեքենաների գողությունը աշխարհում կատարված հանցագործությունների կառուցվածքում զբաղեցրել է կարևորագույն տեղերից մեկը։ Դա պայմանավորված է ոչ այնքան գողության այս կատեգորիայի տեսակարար կշռով հանցագործությունների ընդհանուր թվի նկատմամբ, որքան մեքենաների թանկության պատճառով պատճառված վնասի նշանակությամբ։ Ավտոմեքենաների գողության դեմ պայքարի ոլորտում ձեռնարկված միջոցառումների թույլ արդյունավետությունը 90-ականների վերջին հանգեցրեց կայուն խմբերի ստեղծմանը, որոնք մասնագիտացած էին այդ հանցագործությունների կատարման մեջ և տիրապետում էին. բնորոշ նշաններկազմակերպված հանցագործություն; Դուք հավանաբար լսել եք «սև մեքենաների բիզնես» տերմինը: Ավտոկայան Եվրոպական պետություններտարեկան հանցավոր ոտնձգությունների առարկա դարձած մեքենաների ≈ 2%-ը չի հաշվվում։ Այսպիսով, ես գաղափար ունեցա իմ մեքենայի համար gsm ահազանգ ստեղծելու Arduino Uno-ի հիման վրա:

Եկ սկսենք!

Ինչի՞ց ենք հավաքելու։

Մենք պետք է ընտրենք մեր համակարգի սիրտը։ Իմ կարծիքով, նման ազդանշանի համար Arduino Uno-ից լավ բան չկա: Հիմնական չափանիշն է բավականկապում և գինը:


Arduino Uno-ի հիմնական առանձնահատկությունները

Միկրոկառավարիչ - ATmega328
Աշխատանքային լարումը - 5 Վ
Մուտքային լարումը (խորհուրդ է տրվում) - 7-12 Վ
Մուտքային լարումը (սահմանային) - 6-20 Վ
Թվային I/O - 14 (որից 6-ը կարող են օգտագործվել որպես PWM ելքեր)
Անալոգային մուտքեր - 6
DC հոսանք մուտքի/ելքի միջոցով - 40 մԱ
DC հոսանք ելքային 3.3 Վ - 50 մԱ
Ֆլեշ հիշողություն - 32 ԿԲ (ATmega328), որից 0,5 ԿԲ-ն օգտագործվում է բեռնիչի համար
RAM - 2 Կբ (ATmega328)
EEPROM - 1 Կբ (ATmega328)
Ժամացույցի հաճախականությունը - 16 ՄՀց


Տեղավորվում է

Այժմ դուք պետք է ընտրեք gsm մոդուլ, քանի որ մեր ազդանշանային համակարգը պետք է կարողանա տեղեկացնել մեքենայի սեփականատիրոջը: Այսպիսով, պետք է «google» անել... Այստեղ հիանալի սենսոր է SIM800L, չափը պարզապես հիանալի է։


Մտածեցի ու պատվիրեցի Չինաստանից։ Այնուամենայնիվ, ամեն ինչ այնքան էլ վարդագույն չէր. Սենսորը պարզապես հրաժարվել է գրանցել SIM քարտը ցանցում: Փորձվել է հնարավոր ամեն ինչ՝ արդյունքը զրոյական է։
հայտնաբերվել է բարի մարդիկ, ով ինձ տրամադրեց ավելի սառը բան՝ Sim900 Shield: Հիմա սա ինչ-որ լուրջ բան է: Shield-ն ունի և՛ խոսափողի, և՛ ականջակալների խցիկ, լիարժեք հեռախոս:


Sim900 Shield-ի հիմնական առանձնահատկությունները

4 աշխատանքային հաճախականության ստանդարտներ 850/ 900/ 1800/ 1900 ՄՀց
GPRS բազմաբնակարան դասի 10/8
GPRS շարժական կայան B դասի
Համապատասխանում է GSM 2/2+ փուլին
Դաս 4 (2 Վտ @850/900 ՄՀց)
Դաս 1 (1 Վտ @ 1800/1900 ՄՀց)
Վերահսկում AT հրամանների միջոցով (GSM 07.07, 07.05 և SIMCOM ընդլայնված AT հրամաններ)
Ցածր էներգիայի սպառում՝ 1,5 մԱ (քնի ռեժիմ)
Աշխատանքային ջերմաստիճանի միջակայքը՝ -40°C-ից +85°C


Տեղավորվում է

Լավ, բայց սեփականատիրոջը ծանուցելու համար պետք է որոշ սենսորներից ցուցումներ վերցնել: Հանկարծ մեքենան տարհանվում է, այդ ժամանակ մեքենայի դիրքն ակնհայտորեն կփոխվի տարածության մեջ։ Վերցրեք արագացուցիչ և գիրոսկոպ: Լավ: Տաքսի, հիմա սենսոր ենք փնտրում։

Կարծում եմ, որ GY-521 MPU6050-ը հաստատ կտեղավորվի։ Պարզվեց, որ այն ունի նաև ջերմաստիճանի տվիչ։ Դա անհրաժեշտ կլինի օգտագործել, կլինի այդպիսի «սպանող հատկանիշ»: Ենթադրենք, մեքենայի տերը այն դրեց տան տակ և հեռացավ։ Մեքենայի ներսում ջերմաստիճանը «սահուն» կփոխվի։ Ի՞նչ կլինի, եթե ներխուժողը փորձի մեքենա նստել: Օրինակ, նա կկարողանա բացել դուռը: Մեքենայում ջերմաստիճանը կսկսի արագ փոխվել, քանի որ սրահի օդը կսկսի խառնվել օդի հետ։ միջավայրը. Կարծում եմ՝ կստացվի։


GY-521 MPU6050-ի հիմնական առանձնահատկությունները

Մոդուլ 3-առանցքային գիրոսկոպ + 3-առանցքային արագացուցիչ GY-521 MPU-6050 չիպի վրա: Թույլ է տալիս որոշել օբյեկտի դիրքն ու շարժումը տարածության մեջ, անկյունային արագությունը պտտման ժամանակ։ Ունի նաև ներկառուցված ջերմաստիճանի սենսոր։ Այն օգտագործվում է տարբեր ուղղաթիռների և ինքնաթիռների մոդելներում, և այս սենսորների հիման վրա կարող եք հավաքել շարժման գրավման համակարգ:

Չիպ - MPU-6050
Մատակարարման լարումը - 3.5V-ից մինչև 6V (DC);
Գիրո միջակայք - ± 250 500 1000 2000 ° / վ
Արագացուցիչի միջակայքը - ± 2 ± 4 ± 8 ± 16 գ
Հաղորդակցման ինտերֆեյս - I2C
Չափը - 15x20 մմ:
Քաշը - 5 գ


Տեղավորվում է

Վիբրացիայի սենսորը նույնպես օգտակար է: Հանկարծ «բիրտ ուժով» կփորձեն բացել մեքենան, լավ, կամ կայանատեղիում ուրիշ մեքենա կդիպչի ձեր մեքենային։ Վերցնենք թրթռման ցուցիչը SW-420 (կարգավորելի):


SW-420-ի հիմնական առանձնահատկությունները

Մատակարարման լարումը - 3.3 - 5V
Ելքային ազդանշան՝ թվային բարձր/ցածր (սովորաբար փակ)
Օգտագործված սենսոր - SW-420
Օգտագործված համեմատիչ - LM393
Չափերը՝ 32x14 մմ
Լրացուցիչ - Կա կարգավորող դիմադրություն:


Տեղավորվում է

Պտուտակեք SD հիշողության քարտի մոդուլը: Եկեք գրենք log ֆայլ:


SD հիշողության քարտի մոդուլի հիմնական առանձնահատկությունները

Մոդուլը թույլ է տալիս պահպանել, կարդալ և գրել SD քարտի վրա միկրոկառավարիչի հիման վրա սարքի աշխատանքի համար անհրաժեշտ տվյալները: Սարքի օգտագործումը տեղին է տասնյակ մեգաբայթից մինչև երկու գիգաբայթ ֆայլեր պահելու ժամանակ: Տախտակը պարունակում է SD քարտի կոնտեյներ, քարտի հոսանքի կայունացուցիչ, ինտերֆեյսի և հոսանքի գծերի միակցիչ վարդակից: Եթե ​​Ձեզ անհրաժեշտ է աշխատել ձայնի, վիդեո կամ այլ ծավալային տվյալների հետ, ինչպիսիք են իրադարձությունների գրանցումը, սենսորային տվյալները կամ վեբ սերվերի տեղեկատվության պահպանումը, ապա Arduino-ի SD հիշողության քարտի մոդուլը հնարավորություն կտա օգտագործել SD քարտ այդ նպատակների համար: Օգտագործելով մոդուլը, կարող եք ուսումնասիրել SD քարտի առանձնահատկությունները:
Մատակարարման լարումը - 5 կամ 3,3 Վ
SD քարտի հիշողության ծավալը՝ մինչև 2 ԳԲ
Չափերը - 46 x 30 մմ


Տեղավորվում է

Եվ ավելացրեք servo drive, երբ սենսորները գործարկվեն, DVR-ով սերվո դրայվը կշրջվի և կնկարահանի միջադեպի տեսանյութը: Վերցրեք MG996R սերվոն:


MG996R սերվոյի հիմնական առանձնահատկությունները

Կայուն և հուսալի պաշտպանություն վնասներից
- Մետաղական շարժիչ
- Կրկնակի շարքով գնդիկավոր առանցքակալ
- Լարի երկարությունը 300 մմ
- Չափերը 40x19x43 մմ
- Քաշը 55 գր
- Պտտման անկյուն՝ 120 աստիճան
- Գործող արագություն՝ 0,17 վրկ/60 աստիճան (4,8 Վ առանց բեռի)
- Գործող արագություն՝ 0,13 վրկ/60 աստիճան (6 Վ առանց բեռի)
- Մեկնարկային ոլորող մոմենտ՝ 9,4 կգ/սմ 4,8 Վ լարման դեպքում
- Մեկնարկային ոլորող մոմենտ՝ 11կգ/սմ 6Վ սնուցմամբ
- Գործող լարումը` 4.8 - 7.2V
- Բոլոր շարժիչ մասերը պատրաստված են մետաղից


Տեղավորվում է

Հավաքում

Google-ում յուրաքանչյուր սենսոր միացնելու մասին մեծ գումարհոդվածներ։ Իսկ ես նոր հեծանիվներ հորինելու ցանկություն չունեմ, ուստի կթողնեմ պարզ ու աշխատանքային տարբերակների հղումներ։

Բարի օր 🙂 Այսօր կխոսենք ազդանշանների մասին։ Ծառայությունների շուկան լի է ընկերություններով, կազմակերպություններով, որոնք տեղադրում և պահպանում են անվտանգության համակարգեր: Այս ընկերությունները գնորդին առաջարկում են լայն ընտրությունահազանգ. Այնուամենայնիվ, դրանց արժեքը հեռու է էժան լինելուց: Բայց ի՞նչ կարելի է ասել այն մարդու մասին, ով չունի այնքան անձնական գումար, որը կարող է ծախսվել գողոնի ահազանգի վրա: Կարծում եմ՝ եզրակացությունն ինքնին հուշում է. անելահազանգ նրանց ձեռքեր. Այս հոդվածը օրինակ է, թե ինչպես կարող եք ստեղծել ձեր սեփական կոդավորված անվտանգության համակարգը՝ օգտագործելով Arduino տախտակ uno և մի քանի մագնիսական սենսորներ:

Համակարգը կարելի է անջատել՝ մուտքագրելով գաղտնաբառը ստեղնաշարից և սեղմելով « * '. Եթե ​​ցանկանում եք փոխել ձեր ընթացիկ գաղտնաբառը, կարող եք դա անել՝ սեղմելով « Բ', և եթե ցանկանում եք բաց թողնել կամ ընդհատել գործողությունը, կարող եք դա անել՝ սեղմելով ստեղնը ‘#’. Համակարգն ունի ազդանշան՝ որոշակի գործողություն կատարելիս տարբեր ձայներ նվագարկելու համար:

Համակարգն ակտիվանում է՝ սեղմելով «A» կոճակը: Համակարգը 10 վայրկյան է տալիս սենյակից դուրս գալու համար։ 10 վայրկյան հետո ահազանգը կակտիվանա։ Մագնիսական սենսորների քանակը կախված կլինի ձերից սեփական ցանկությունը. Նախագիծը ներառում էր 3 սենսոր (երկու պատուհանի և դռան համար): Երբ պատուհանը բացվում է, համակարգը միանում է, և ազդանշանային ազդանշանը միանում է: Համակարգը կարելի է ապաակտիվացնել՝ մուտքագրելով գաղտնաբառ: Երբ դուռը բացվում է, ահազանգը մուտք գործող անձին տալիս է 20 վայրկյան գաղտնաբառը մուտքագրելու համար։ Համակարգն օգտագործում է ուլտրաձայնային սենսոր, որը կարող է հայտնաբերել շարժումը:

Սարքի տեսանյութ

արհեստՊատրաստված է տեղեկատվական/կրթական նպատակներով: Եթե ​​ցանկանում եք օգտագործել այն տանը, ապա ձեզ հարկավոր է փոփոխել այն: Փակեք կառավարման բլոկը մետաղական մարմինև ապահովեք էլեկտրահաղորդման գիծը հնարավոր վնասից:

Եկեք սկսենք!

Քայլ 1. Այն, ինչ մեզ անհրաժեշտ կլինի

  • տախտակ Arduino uno;
  • բարձր հակադրություն LCD էկրան 16×2;
  • ստեղնաշար 4×4;
  • 10~20kΩ պոտենցիոմետր;
  • 3 մագնիսական սենսոր (դրանք նաև եղեգի անջատիչներ են);
  • 3 2-փին պտուտակային տերմինալներ;
  • HC-SR04 ուլտրաձայնային սենսոր;

Եթե ​​ցանկանում եք համակարգ կառուցել առանց Arduino-ի օգտագործման, ձեզ նույնպես անհրաժեշտ կլինի հետևյալը.

  • DIP վերնագիր atmega328 + microcontroller atmega328-ի համար;
  • 16 ՄՀց քվարցային ռեզոնատոր;
  • 2 հատ. 22pF կերամիկա, 2 հատ. 0.22 uF էլեկտրոլիտիկ կոնդենսատոր;
  • 1 հատ. 10kΩ դիմադրություն;
  • սնուցման վարդակ (DC հոսանքի վարդակ);
  • հացի տախտակ;
  • 5 Վ էլեկտրամատակարարում;

Եվ մեկ տուփ այն ամենը փաթեթավորելու համար:

Գործիքներ:

  • Մի բան, որը կարող է կտրել պլաստիկ տուփի միջով;
  • Տաք սոսինձ ատրճանակ;
  • Գայլիկոն / պտուտակահան:

Քայլ 2. Տագնապային դիագրամ

Կապի սխեման բավականին պարզ է.

Փոքր պարզաբանում.

Բարձր հակադրություն LCD.

  • Pin1 - Vdd դեպի GND
  • Pin2 - Vss-ից մինչև 5V;
  • Pin3 - Vo (դեպի պոտենցիոմետրի կենտրոնական ելք);
  • Pin4 - RS դեպի Arduino փին 8;
  • Pin5 - RW դեպի GND
  • Pin6 - EN Arduino փին 7;
  • Pin11 - D4 դեպի Arduino փին 6;
  • Pin12 - D5 դեպի Arduino փին 5;
  • Pin13 - D6 դեպի Arduino փին 4;
  • Pin14 - D7 դեպի Arduino փին 3;
  • Pin15 - Vee (պոտենցիոմետրի աջ կամ ձախ ելք):

Ստեղնաշար 4×4:

Ձախից աջ.

  • Pin1-ից A5 Arduino փին;
  • Pin2-ից A4 Arduino փին;
  • Pin3 դեպի Arduino փին A3;
  • Pin4 դեպի Arduino փին A2;
  • Pin5 դեպի Arduino փին 13;
  • Pin6 դեպի Arduino փին 12;
  • Pin7 դեպի Arduino փին 11;
  • Pin8-ը Arduino փին 10-ին:

Քայլ 3. որոնվածը

Քայլը ցույց է տալիս կոդը, որն օգտագործվում է ներկառուցված !

Ներբեռնեք codebender հավելվածը: Կտտացրեք «Գործարկել» կոճակը Arduino-ում և թարթեք ձեր տախտակը այս ծրագրով: Այսքանը: Դուք հենց նոր եք ծրագրավորել Arduino-ն: Եթե ​​ցանկանում եք փոփոխություններ կատարել կոդը, սեղմեք «Խմբագրել» կոճակը:

Նշում. Եթե դուք չեք օգտագործում Codebender IDE-ը Arduino տախտակը ծրագրավորելու համար, ապա ձեզ հարկավոր է լրացուցիչ գրադարաններ տեղադրել Arduino IDE-ում:

Քայլ 4. Ստեղծեք ձեր սեփական վերահսկիչ խորհուրդը

Երբ հաջողությամբ կառուցեք և փորձարկեք ձեր նոր Arduino uno նախագիծը, կարող եք սկսել ձեր սեփական տախտակը պատրաստել:

Մի քանի խորհուրդ՝ պարտավորությունն ավելի հաջող ավարտելու համար.

  • Atmega328 միկրոկառավարիչի 1-ին (վերակայում) և 7-րդ պինդին (Vcc) պետք է միացված լինի 10kΩ դիմադրություն:
  • 16 ՄՀց բյուրեղը պետք է միացված լինի XTAL1 և XTAL2 պիտակավորված 9-րդ և 10-րդ կապին:
  • Միացրեք յուրաքանչյուր ռեզոնատորի լարը 22pF կոնդենսատորներին: Միացրեք կոնդենսատորների ազատ լարերը միկրոկոնտրոլերի 8-րդ պտուտակին (GND):
  • Մի մոռացեք միացնել ATmega328-ի երկրորդ հոսանքի գիծը սնուցման աղբյուրին, 20-Vcc և 22-GND կապանքներին:
  • Երկրորդ նկարում կարող եք գտնել լրացուցիչ տեղեկություններ միկրոկոնտրոլերի քորոցների մասին:
  • Եթե ​​նախատեսում եք օգտագործել 6 Վ-ից բարձր լարման սնուցման աղբյուր, դուք պետք է օգտագործեք LM7805 գծային կարգավորիչ և երկու 0,22 uF էլեկտրոլիտիկ կոնդենսատորներ, որոնք պետք է տեղադրվեն կարգավորիչի մուտքի և ելքի վրա: Դա կարեւոր է! Տախտակին 6 Վ-ից ավելի մի կիրառեք!!! Հակառակ դեպքում, դուք կվառեք ձեր Atmega միկրոկոնտրոլերը և LCD էկրանը:

Քայլ 5. Տեղադրեք սխեման պատյանում

Ինֆրակարմիր (IR) սենսորները սովորաբար օգտագործվում են հեռավորությունները չափելու համար, բայց դրանք կարող են օգտագործվել նաև օբյեկտներ հայտնաբերելու համար: Միացնելով մի քանի IR սենսորներ Arduino-ին, մենք կարող ենք ստեղծել կողոպուտի ահազանգ:

Ընդհանուր ակնարկ

Ինֆրակարմիր (IR) սենսորները սովորաբար օգտագործվում են հեռավորությունները չափելու համար, բայց դրանք կարող են օգտագործվել նաև օբյեկտներ հայտնաբերելու համար: IR սենսորները բաղկացած են ինֆրակարմիր հաղորդիչից և ինֆրակարմիր ընդունիչից: Հաղորդիչը արձակում է ինֆրակարմիր ճառագայթման իմպուլսներ, մինչդեռ ստացողը հայտնաբերում է ցանկացած արտացոլում: Եթե ​​ստացողը արտացոլում է հայտնաբերում, դա նշանակում է, որ ինչ-որ հեռավորության վրա սենսորի դիմաց ինչ-որ առարկա կա: Եթե ​​արտացոլանք չկա, չկա օբյեկտ:

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

Մի քանի IR սենսորներ միացնելով Arduino-ին, մենք կարող ենք պարզ կողոպտիչ ազդանշան ստեղծել: Մենք սենսորներ կդնենք դռան շրջանակի վրա, և սենսորները ճիշտ դասավորելով՝ կկարողանանք հայտնաբերել, թե երբ է ինչ-որ մեկը անցնում դռնով: Երբ դա տեղի ունենա, IR սենսորի ելքը կփոխվի, և մենք կհայտնաբերենք այս փոփոխությունը՝ անընդհատ կարդալով սենսորների ելքը: Արդուինո. IN այս օրինակըմենք գիտենք, որ առարկան անցնում է դռնով, երբ IR սենսորի ելքը գերազանցում է 400-ը: Երբ դա տեղի ունենա, Arduino-ն ահազանգ կգործարկի: Զարթուցիչը վերականգնելու համար օգտագործողը կարող է սեղմել կոճակը:

Աքսեսուարներ

  • 2 x IR հեռավորության սենսոր;
  • 1 x Arduino Mega 2560
  • 1 x ազդանշան;
  • 1 x կոճակ;
  • 1 x 470 օհմ դիմադրություն;
  • 1 x NPN տրանզիստոր;
  • ցատկողներ.

Միացման դիագրամ

Այս նախագծի շղթան ներկայացված է ստորև բերված նկարում: Երկու IR սենսորների ելքերը միացված են A0 և A1 կապանքներին: Մյուս երկու կապերը միացված են 5V և GND կապին: 12 վոլտ լարման ազդանշանը տրանզիստորի միջոցով միացված է պին 3-ին, իսկ ահազանգը անջատելու համար օգտագործվող կոճակը միացված է 4-րդ փին:


Ստորև բերված լուսանկարը ցույց է տալիս, թե ինչպես մենք սոսնձեցինք սենսորները դռան շրջանակի վրա այս փորձի համար: Իհարկե, մշտական ​​օգտագործման դեպքում սենսորները այլ կերպ կտեղադրեիք։


Տեղադրում

  1. Միացրեք Arduino տախտակի 5V և GND կապերը սենսորների հոսանքի և GND կապին: Դուք կարող եք նաև արտաքին էներգիա մատակարարել նրանց:
  2. Միացրեք սենսորների ելքային կապերը Arduino տախտակի A0 և A1 կապանքներին:
  3. Arduino-ի 3-րդ կապը միացրեք տրանզիստորի հիմքին 1K ռեզիստորի միջոցով:
  4. Կիրառեք 12 Վ տրանզիստորի կոլեկտորին:
  5. Միացրեք 12 Վ լարման ազդանշանի դրական հաղորդիչը արտանետիչին, իսկ բացասականը դեպի վերգետնյա ռելս:
  6. Կոճակի միջոցով միացրեք 4 կապը 5 Վ լարման հետ: Անվտանգության նկատառումներից ելնելով, միշտ լավագույնն է դա անել լրացուցիչ փոքր ռեզիստորի միջոցով՝ բարձր հոսանքից խուսափելու համար:
  7. Միացրեք Arduino տախտակը ձեր համակարգչին USB մալուխի միջոցով և վերբեռնեք ծրագիրը միկրոկոնտրոլերի վրա՝ օգտագործելով Arduino IDE:
  8. Միացրեք Arduino տախտակը սնուցման աղբյուրի, մարտկոցի կամ USB մալուխի միջոցով:

Կոդը

const int buzzer=3; // pin 3-ը ազդանշանի ելքն է const int pushbutton=4; // pin 4-ը կոճակի մուտքագրման void setup() (pinMode(buzzer,OUTPUT); // PIN 3-ը դրեք ելքային pinMode (pushbutton,INPUT); // սահմանեք pin 4-ը մուտքագրման համար) void loop() ( // read երկու սենսորների ելքը և արդյունքը համեմատեք շեմային արժեքի հետ int sensor1_value = analogRead(A0); int sensor2_value = analogRead(A1); if (sensor1_value > 400 || sensor2_value > 400) ( while(true) (digitalWrite( buzzer,HIGH) ; // միացնել ահազանգը, եթե (digitalRead (pushbutton) == HIGH) break; ) ) else ( digitalWrite (buzzer, LOW); // անջատել ահազանգը) )

Տեսանյութ

Այսօր մենք կխոսենք, թե ինչպես օգտագործել Արդուինոհավաքել անվտանգության համակարգ. Մեր «պահակը» կհսկի մեկ շրջան և կվերահսկի մեկ ավետարան։

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

Սարքի շահագործման պարզեցված սկզբունքը հետևյալն է (նկ. 1). Հոսանքը միացնելուց հետո սարքը մտնում է աշխատանքային ռեժիմ և սպասում զինվելու: Զինավորումն ու զինաթափումն իրականացվում է մեկ կոճակով։ Անվտանգությունը բարձրացնելու համար ավելի լավ է այս կոճակը տեղադրել պաշտպանված սենյակի ներսում (սեյֆ կամ տուփ): Անվտանգության ռեժիմը միացնելուց առաջ դուռը պետք է մի փոքր բացվի։ Երբ անվտանգության ռեժիմը միացված է (սեղմելով կոճակը) էլեկտրոնային միացումսպասում է մինչև փակեք սենյակի դուռը (սեյֆի դուռը, տուփի կափարիչը և այլն):

Ցանկացած տեսակի սահմանային անջատիչ պետք է տեղադրվի դռան (կամ դռան) վրա, դրա մասին ավելի ուշ: Փակելով (կամ բացելով), սահմանային անջատիչը կտեղեկացնի սարքին, որ պաշտպանված միացումը փակ է, և սարքը կանցնի զինված ռեժիմի: Համակարգը ձեզ կտեղեկացնի երկուսով զինված ռեժիմին անցնելու մասին կարճ ազդանշաններ(ինչպես մեքենաների ահազանգերում): Այս ռեժիմում սարքը «բռնում է» դռան բացվածքը։ Դուռը բացելուց հետո համակարգը սպասում է մի քանի վայրկյան (սա կարգավորելի արժեք է, մոտ տասը վայրկյան սենյակների համար, մեկ կամ երկու՝ տուփի համար) զինաթափման համար, եթե դա տեղի չունենա, ազդանշանը միանում է: Ալգորիթմը և սխեման նախագծված են այնպես, որ ազդանշանը հնարավոր է անջատել միայն պատյանն ամբողջությամբ ապամոնտաժելու և հոսանքն անջատելու միջոցով:

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

Հարմար է նաև ավտոմեքենայի ահազանգերի սահմանային անջատիչը (նկ. 4): Հարկ է նշել, որ ծրագիրը գրված է reed switch-ի համար։ Երբ դուռը փակ է, նրա շփումը փակ է: Եթե ​​դուք օգտագործում եք մեքենայի ազդանշանային անջատիչ, ապա երբ դուռը փակ է, այն, ամենայն հավանականությամբ, բաց կլինի, իսկ կոդի համապատասխան տեղերում ձեզ անհրաժեշտ կլինի փոխել 0-ը 1-ի և հակառակը:

Որպես ազդանշան առաջարկում եմ օգտագործել բելառուսական արտադրության PKI-1 IVOLGA ձայնային հաղորդիչը (նկ. 5): Մատակարարման լարումը 9 - 15 Վ, աշխատանքային հոսանքը 20 - 30 մԱ: Սա թույլ է տալիս այն օգտագործել մարտկոցի էներգիայով: Միաժամանակ «դուրս է տալիս» 95 - 105 դԲ։

Krona մարտկոցից նման բնութագրերով այն կհնչի մի քանի տասնյակ րոպե: Ինտերնետում գտա 110 ռուբլով: Նույն տեղում մագնիսով եղեգի անջատիչն արժե մոտ 30 ռուբլի: Ավտոպահեստամասերում մեքենայի ազդանշանային անջատիչը գնվել է 28 ռուբլով։ KT315 տրանզիստորը կարելի է վերցնել ցանկացած տառով կամ փոխարինել ցանկացած ժամանակակից ցածր հզորության սիլիցիումի համապատասխան հաղորդունակության տրանզիստորով: Եթե ​​մեկ ազդարարի ծավալը բավարար չէ (ով գիտի, միգուցե ցանկանում եք լսել շատ կիլոմետրեր), կարող եք զուգահեռաբար միացնել մի քանի հաղորդիչ կամ վերցնել ավելի հզոր, միայն այս դեպքում տրանզիստորը պետք է փոխարինվի ավելի հզոր (օրինակ, ծանոթ տրանզիստորային հավաքույթ ULN2003): Որպես եղեգի անջատիչ և ազդանշան միացնելու միակցիչներ, ես օգտագործեցի աուդիո / վիդեո սարքերի ամենապարզ միակցիչները. ռադիոյի շուկայում գինը 5 ռուբլի է: զույգի համար.

Սարքի մարմինը կարող է սոսնձվել պլաստիկից կամ նրբատախտակից; եթե լուրջ առարկան հսկվում է, ապա ավելի լավ է այն մետաղական դարձնել։ Հուսալիությունը և անվտանգությունը բարձրացնելու համար մարտկոցներ կամ կուտակիչներ, ցանկալի է տեղադրել պատյանի ներսում։

Ծրագրի կոդը պարզեցնելու համար էներգախնայող տարրեր չեն օգտագործվել, իսկ մարտկոցները երկար ժամանակ չեն բավարարում։ Դուք կարող եք օպտիմիզացնել կոդը, կամ նույնիսկ ավելի լավ՝ արմատապես վերափոխել այն՝ կիրառելով իրադարձությունների մշակում ընդհատումների և MK քնի ռեժիմում: Այս դեպքում սնուցումը երկու քառակուսի մարտկոցներից միացված շարքով (9 Վ) պետք է տեւի մի քանի ամիս:

Այժմ կոդը

// մշտական
const int կոճակ = 12; // կոճակի քորոց
const int gerkon = 3; // փին եղեգի անջատիչի համար
const int sirena = 2; // Siren control pin
const int led = 13; // ցուցիչի քորոց
// փոփոխականներ
int buttonState = 0; // կոճակի վիճակը
intgerkonState=0; // եղեգի անջատիչի վիճակը
int N = 0; // զինաթափման կոճակի հաշվիչը
void setup()(
// ազդանշանի և ցուցիչի կառավարում - ելք
pinMode (sirena, OUTPUT);
pinMode (led, OUTPUT); // կոճակ և եղեգի անջատիչ - մուտքեր
pinMode (gerkon, INPUT);
pinMode (կոճակ, INPUT);
}
void loop()(
digitalWrite (led, HIGH);
while(buttonState= =0)( // սպասել հանգույց մինչև կոճակը սեղմվի
buttonState = digitalRead (կոճակ); // զինված ռեժիմի անցնելու համար
}
digitalWrite (led, LOW);
buttonState=0; // վերակայել կոճակի արժեքը
while(gerkonState= =0)( // հանգույց, մինչև փակենք դուռը

}
ուշացում (500); // :-)
digitalWrite (sirena, HIGH); // Կոդը
ուշացում (100); // ցուցումներ
digitalWrite (sirena, LOW); // ներառում
ուշացում (70); // ռեժիմ
digitalWrite (sirena, HIGH); // պահակներ
ուշացում (100); // ծանուցում
digitalWrite (sirena, LOW); // ձայն
while(gerkonState= =1)( // սպասել, որ դուռը բացվի
gerkonState = digitalRead (gerkon);
}
համար (int i=0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonState = digitalRead (կոճակ); // գաղտնի կոճակ
եթե (buttonState = = ԲԱՐՁՐ) ( // հետևել մեր սեփականին՝ ուրիշի
N=N+1;
}
ուշացում (1500); // գաղտնի հատկանիշ :-)))
}
եթե (N > 0) ( // ամենակարևորը
digitalWrite (sirena, LOW); // մի միացրու սիրենը
}
ուրիշ (
digitalWrite (sirena, HIGH); // կամ միացրեք ազդանշանը
}
digitalWrite (led, HIGH); // միացնել ցուցիչը N = 0;
buttonState=0;
ուշացում (15000); // հիշեցում դյումիների համար, ովքեր սիրում են
digitalWrite (led, LOW); // սեղմել կոճակներ առանց ընդհատման հետաձգման (1000);

Դրա հեղինակը ցանկացել է տնական պատրաստել, որպեսզի այն լինի էժան և անլար։
Այս տնական արտադրանքը օգտագործում է PIR շարժման սենսոր, և տեղեկատվությունը փոխանցվում է ռադիոհաղորդիչ մոդուլի միջոցով:

Հեղինակը ցանկանում էր օգտագործել ինֆրակարմիր մոդուլը, բայց քանի որ այն ունի սահմանափակ տիրույթ, և գումարած այն կարող է աշխատել միայնտեսադաշտի տեսադաշտը ստացողի հետ, ուստի նա ընտրեց ՌԴ մոդուլ, որը կարող էր հասնել մոտավորապես 100 մետր հեռավորության վրա:


Որպեսզի այցելուների համար ավելի հարմար լինի դիտել ազդանշանային հավաքը, ես որոշեցի հոդվածը բաժանել 5 փուլերի.
Փուլ 1. հաղորդիչի ստեղծում:
Փուլ 2. Ստեղծեք ընդունիչ:
Փուլ 3. Ծրագրաշարի տեղադրում:
Փուլ 4. Հավաքված մոդուլների փորձարկում:
Փուլ 5. պատյանի հավաքում և դրա մեջ մոդուլի տեղադրում:

Այն ամենը, ինչ անհրաժեշտ է հեղինակին, հետևյալն է.
- 2 տախտակ ARDUINO UNO / ARDUINO MINI / ARDUINO NANO ընդունիչի և հաղորդիչի համար;
- ՌԴ հաղորդիչի մոդուլ (433 ՄՀց);
- PIR շարժման ցուցիչ;
- 9V մարտկոցներ (2 հատ) և դրանց միացումներ;
- Buzzer;
- լուսարձակող դիոդ;
- 220 Օմ դիմադրությամբ դիմադրություն;
- հացի տախտակ;
- Թռիչքներ / լարեր / ցատկողներ;
- միացման տախտակ;
- Interboard pin միակցիչներ;
- Անջատիչներ;
- ստացողի և հաղորդիչի պատյաններ;
- գունավոր թուղթ;
- մոնտաժային ժապավեն;
- Տիպի կարգավորող սկալպել;
- տաք սոսինձ ատրճանակ;
- Զոդման երկաթ;
- Կծիկներ / մեկուսացման հեռացման գործիք;
- Մկրատ մետաղի համար:


Փուլ 1.
Եկեք սկսենք ստեղծել հաղորդիչը:
Ստորև ներկայացված է շարժման սենսորի դիագրամը:


Հաղորդիչը ինքնին բաղկացած է.
- Շարժման սենսոր;
- Arduino տախտակներ;
- Հաղորդիչ մոդուլ:


Սենսորն ինքնին ունի երեք ելք.
- VCC;
- GND;
- ԴՈՒՐՍ:

Դրանից հետո ես ստուգեցի սենսորի աշխատանքը


Ուշադրություն!!!
Նախքան որոնվածը ներբեռնելը, հեղինակը համոզվում է, որ ընթացիկ տախտակը և սերիական պորտը ճիշտ են տեղադրված Arduino IDE-ի կարգավորումներում: Հետո ես վերբեռնեցի էսքիզը.

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


Ստորև ներկայացված գծապատկերի համաձայն.


Հաղորդիչն ունի 3 ելք (VCC, GND և Data), միացրեք դրանք.
- VCC > 5V ելք տախտակի վրա;
- GND > GND ;
- Տվյալներ > 12 ելք տախտակի վրա:

Փուլ 2.


Ընդունիչն ինքնին բաղկացած է.
- ՌԴ ընդունիչ մոդուլ;
- Arduino տախտակներ
- Զրուցիչ (բարձրախոս):

Ստացողի դիագրամ.


Ստացողը, ինչպես հաղորդիչը, ունի 3 ելք (VCC, GND և Data), մենք դրանք միացնում ենք.
- VCC > 5V ելք տախտակի վրա;
- GND > GND ;
- Տվյալներ > 12 ելք տախտակի վրա:


Փուլ 3.
Հեղինակն ընտրել է գրադարանի ֆայլը որպես ամբողջ որոնվածի հիմք: Ես ներբեռնեցի, որը նա և տեղադրեցի Arduino գրադարանների պանակում:

Հաղորդիչի ծրագրակազմ:
Նախքան որոնվածի ծածկագիրը տախտակ ներբեռնելը, հեղինակը սահմանել է հետևյալ IDE պարամետրերը.
- Տախտակ -> Arduino Nano (կամ ցանկացած տախտակ, որը դուք օգտագործում եք);
- Սերիական նավահանգիստ ->


Պարամետրերը սահմանելուց հետո հեղինակը ներբեռնեց Wireless_tx որոնվածի ֆայլը և վերբեռնեց այն տախտակ.

Ընդունիչի ծրագրակազմ
Հեղինակը կրկնում է նույն քայլերը ստացող տախտակի համար.
- Տախտակ -> Arduino UNO (կամ ցանկացած տախտակ, որը դուք օգտագործում եք);
- Սերիական նավահանգիստ -> COM XX (ստուգեք, թե որ պորտը միացված է ձեր տախտակը):



Այն բանից հետո, երբ հեղինակը սահմանեց պարամետրերը, նա ներբեռնում է wireless_rx ֆայլը և վերբեռնում այն ​​տախտակ.


Այնուհետև, օգտագործելով մի ծրագիր, որը հնարավոր է ներբեռնել, հեղինակը ձայն է ստեղծել բզզոցի համար:

Փուլ 4.
Հաջորդը, ծրագրաշարը ներբեռնելուց հետո, հեղինակը որոշել է ստուգել՝ արդյոք ամեն ինչ ճիշտ է աշխատում։ Հեղինակը միացրեց հոսանքի սնուցման սնուցման սարքերը և ձեռքն անցկացրեց սենսորի դիմաց, և նա ստացավ ազդանշան, ինչը նշանակում է, որ ամեն ինչ աշխատում է այնպես, ինչպես պետք է:


Փուլ 5.
Հաղորդիչի վերջնական հավաքում
Նախ, հեղինակը կտրեց դուրս ցցված լարերը ստացողից, հաղորդիչից, arduino տախտակներից և այլն:


Դրանից հետո ես միացրի arduino տախտակը շարժման սենսորով և ռադիոհաղորդիչով, օգտագործելով jumpers:


Հաջորդը, հեղինակը սկսեց գործ սարքել հաղորդիչի համար:

Սկզբում նա կտրեց՝ անջատիչի անցք, և նաև կլոր փոսշարժման սենսորի համար, որից հետո այն սոսնձեցի պատյանին։




Այնուհետև հեղինակը ծալել է գունավոր թղթի թերթիկը և պատկերը սոսնձել դիմային շապիկի վրա, որպեսզի թաքցնի տնական արտադրանքի ներքին մասերը։


Դրանից հետո հեղինակը սկսել է էլեկտրոնային միջուկը տեղադրել պատյանի ներսում՝ օգտագործելով երկկողմանի ժապավեն։



Ստացողի վերջնական հավաքում
Հեղինակը որոշել է միացնել Arduino տախտակը ռետինե ժապավենով, ինչպես նաև տեղադրել ՌԴ ընդունիչ։


Հաջորդը, հեղինակը մյուս մարմնի վրա երկու անցք է կտրում, մեկը՝ ազդանշանի, մյուսը՝ անջատիչի համար:


Եվ ձողիկներ:


Դրանից հետո հեղինակը բոլոր մանրամասների վրա տեղադրում է ցատկողներ։




Այնուհետեւ հեղինակը պատրաստի տախտակը մտցնում է պատյանի մեջ, այն ամրացնում երկկողմանի սոսինձով։