Զարթուցիչի կառավարում arduino էկրանով: Տան ահազանգ կամ շարժման սենսոր և LCD մոնիտոր օգտագործելով Arduino-ով: Ինչ է Arduino մոդուլը

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

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-ի քորոց
const int led = 13; // ցուցիչի քորոց
// փոփոխականներ
int buttonState = 0; // կոճակի վիճակը
int gerkonState = 0; // եղեգի անջատիչի վիճակը
int N = 0; // զինաթափման կոճակի հաշվիչ
անվավեր կարգավորում () (
// ազդանշանի և ցուցիչի հսկողություն - ելք
pinMode (sirena, OUTPUT);
pinMode (led, OUTPUT); // կոճակը և եղեգի անջատիչը մուտքեր են
pinMode (gerkon, INPUT);
pinMode (կոճակ, INPUT);
}
անվավեր հանգույց () (
digitalWrite (led, HIGH);
while (buttonState = = 0) (// սպասել հանգույց, մինչև սեղմենք կոճակը
buttonState = digitalRead (կոճակ); // անվտանգության ռեժիմին անցնելու համար
}
digitalWrite (led, LOW);
կոճակի վիճակ = 0; // վերականգնել կոճակի արժեքը
while (gerkonState = = 0) (// հանգույց, մինչև փակենք դուռը

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

Լավ օր! Կրկին, չինական էլեկտրոնային բաղադրիչների բազմաբնույթ վերանայում, ինչպես միշտ, մի փոքր ամեն ինչի մասին, ես կփորձեմ ավելի կարճ լինել, բայց կստացվի՞: Այնպես որ, բարի գալուստ GSM ահազանգարժեքը մինչև 700 ռուբլի: Հետաքրքի՞ր է: Ես խնդրում եմ «կտրել»!

Եկեք սկսենք! Նախքան սկսելը, ես խորհուրդ եմ տալիս ուսումնասիրել այս մեկը, ավելի քիչ բաղադրիչներ և ավելի շատ ինքնավարություն: Այսպիսով, «հանձնարարականը», ազդանշանային հիմնական պահանջները.

1) Տեղեկացնել, երբ սենսորները գործարկվում են:
2) Էլեկտրաէներգիայի անջատման դեպքում պետք է տրամադրվի որոշակի ինքնավարություն.
3) Ահազանգերի կառավարում sms-ի և զանգերի միջոցով.

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

Ցանկ այն, ինչ ձեզ հարկավոր է.

Փոփոխությունների ցանկ

GSM_03_12_2016-14-38.hex- սարքի ֆիքսված աշխատանքը M590 մոդեմով:
GSM_05_12_2016-13-45.hex- ավելացվել է վահանակի հրաման memtest, RAM-ի օգտագործման օպտիմիզացում:
GSM_2016_12_06-15-43.hex- հրամանների արդյունքների ելք ավելացրեց վահանակին, հիշողության օպտիմիզացում: Զբաղվածությունը՝ 49% SRAM:
GSM_2016_12_07-10-59.hex- այժմ հեռախոսահամարները ճիշտ են ավելացվել և հեռացվել: Զբաղված՝ 49% SRAM, 74% Flash հիշողություն:
GSM_2016_12_07-15-38.hex- ավելացրեց շարժման սենսորը միացնելու հնարավորությունը, որը միացված է A0-ին (այս դեպքում A0-ը օգտագործվում է որպես թվային): Ավելացվեց SMS - հրամաններ ՊԻՐՈՆ, ՊԻՐՈֆ... Զբաղված՝ 48% SRAM, 76% Flash հիշողություն:
GSM_2016_12_08-13-53.hex- Այժմ հրամանի հաջող կատարումից հետո, որն ի պատասխան SMS հաղորդագրություն չի ուղարկում, սարքը մեկ անգամ թարթում է կապույտ լուսադիոդով: Այժմ հրամանի սխալ կատարումից հետո, որն ի պատասխան SMS հաղորդագրություն չի ուղարկում, սարքը երկու անգամ թարթում է կապույտ լուսադիոդով։ Այժմ, սարքի պարամետրերը սկզբնավորելուց հետո, եթե «հանգիստ» ռեժիմը միացված է (SendSms = 0), սարքը 2 վայրկյան արագ թարթում է կապույտ LED-ը: Ուղղվել է սխալ, որի պատճառով համարը միշտ չէ, որ ջնջվել է հիշողությունից DeletePhone հրամանով։ Զբաղված՝ 48% SRAM, 78% Flash հիշողություն:
GSM_2016_12_11-09-12.hex- Ավելացվել են AddPhone և DeletePhone վահանակի հրամանները, շարահյուսությունը նման է SMS հրամաններին: Հիշողության օպտիմիզացում. Զբաղված՝ 43% SRAM, 79% Flash հիշողություն:
GSM_2017_01_03-22-51.hex- Իրականացված աջակցություն PCF8574 չիպի վրա նմանատիպ I/O նավահանգիստների երկարացման համար, լրացուցիչ 8 սենսորների միացման համար, ներառյալ եղեգի անջատիչները: Հասցեների ավտոմատ որոնում և մոդուլի ավտոմատ կազմաձևում: Սենսորների ստանդարտ անվանումները և դրանց գործարկման տրամաբանական մակարդակը փոխվում են EditSensor հրամանի միջոցով: Տագնապային sms-ի բովանդակությունը փոխվել է հիմնական սենսորի համար (pin D0) «Զարթուցիչ! Հիմնական սենսոր »: և շարժման սենսոր (pin A0) «Զարթուցիչ. PIR սենսոր: Ավելացվեցին EditSensor և I2CScan հրամանները: Զբաղված՝ 66% SRAM, 92% Flash հիշողություն:
GSM_2017_01_15-23-26.hex- Աջակցություն A6_Mini մոդեմին: Արտաքին էլեկտրամատակարարման հսկողություն (pin D7): Ավելացվեցին SMS հրամաններ WatchPowerOn, WatchPowerOff: Ավելացվեց վահանակի հրամաններ ListConfig, ListSensor: Այժմ sms հրամանը EditSensor-ը ճիշտ է աշխատում: Պորտի մոնիտորին վրիպազերծման ելքը մի փոքր «կտրվել է»: Զբաղված՝ 66% SRAM, 95% Flash հիշողություն:
GSM_2017_01_16-23-54.hex- Այժմ «Info» SMS հրամանի պատասխան հաղորդագրության մեջ հաղորդվում է նաև շարժման սենսորի վիճակը: Շտկվել է վրիպակ, որի պատճառով երբեմն ուղարկվում էին դատարկ SMS պատասխան հաղորդագրություններ: Այժմ սարքը ծանուցում է ոչ միայն անջատման, այլեւ արտաքին սնուցման վերսկսման մասին։ Բոլոր մոդեմները սկսեցին «քիչ զրուցել», այժմ պորտի մոնիտորը մի փոքր ավելի մաքուր է։ Զբաղված՝ 66% SRAM, 95% Flash հիշողություն:
GSM_2017_02_04-20-23.hex- Շտկվել է «Watch the power on» սխալը: Այժմ, զինաթափվելուց հետո, «զարթուցիչի քորոցը» անջատված է։ Այժմ համարը ջնջելուց հետո ճիշտ տեղեկատվությունը ցուցադրվում է վահանակում։ Հնարավոր է՝ շտկվել է սխալ, որի պատճառով երբեմն ուղարկվել են SMS պատասխանի դատարկ հաղորդագրություններ: Զբաղված՝ 66% SRAM, 90% Flash հիշողություն:
GSM_2017_02_14-00-03.hex- Այժմ SMS հաղորդագրությունները ուղարկվում են լռելյայն, SendSms պարամետրը կրկին հավասար է 1-ի: Այժմ, երբ հիմնական եղեգի անջատիչի կոնտակտները փակ են (դուռը փակ է), սարքը 2 վայրկյան թարթում է կապույտ լուսադիոդը՝ ազդանշան տալով: նորմալ աշխատանքսենսոր. Զբաղված՝ 66% SRAM, 90% Flash հիշողություն:
GSM_2017_03_01-23-37.hex- WatchPowerOn հրամանը հեռացվել է: Ավելացվեց «WatchPowerOff» վահանակի հրամանը, որը նույնական է SMS հրամանին: Ավելացվեց WatchPowerOn1, WatchPowerOn2 հրամանները: WatchPowerOn1 - արտաքին էներգիայի մոնիտորինգը միացված է, եթե ահազանգը զինված է, WatchPowerOn2 - արտաքին էներգիայի մոնիտորինգը միշտ միացված է: Իրականացվել է արտաքին սարքերով զինելու և զինաթափելու գործառույթը, դրա համար օգտագործվում են A1 (D15) և A2 (D16) կապումները: Զարթուցիչի թեւ / զինաթափ, երբ հայտնվում է A1 (D15) պտուտակի վրա բարձր մակարդակ+ 5V կամ պինդ A2 (D16) ցածր մակարդակի GND: Pin A1 (D15) ձգվում է դեպի GND, A2 (D16) պինը՝ 20 (10) կՕմ ռեզիստորների միջոցով: Ավելացվեցին GuardButtonOn և GuardButtonOff հրամանները: Այժմ, զինելուց հետո, կարմիր լուսադիոդը թարթում է, մինչև չստուգվի հիմնական եղեգի սենսորի շղթայի ամբողջականությունը: Եթե ​​շղթան անձեռնմխելի է, կարմիր LED-ը վառվում է: Զբաղված՝ 66% SRAM, 95% Flash հիշողություն:
GSM_2017_03_12-20-04.hex- Այժմ վահանակն էլ ավելի մաքուր է դարձել, բայց եթե «TestOn» թեստային ռեժիմը միացված է, ապա վահանակում ցուցադրվում է լրացուցիչ տեղեկատվություն։ Ուղղվել է «Ուղարկված» սխալը, այժմ հաղորդագրություններ ուղարկելու մասին հաղորդագրությունը ճիշտ ցուցադրվում է վահանակում: «Կրկնվող կեղծ զանգի» սխալը շտկվել է։ Հաշվեկշռի հարցումն այժմ պետք է ճիշտ աշխատի բոլոր մոդեմների վրա: Զբաղված՝ 67% SRAM, 95% Flash հիշողություն:
GSM_2017_04_16-12-00.hex- Ամրագրված: Այժմ Info և Money թիմերը միշտ պատասխան SMS կուղարկեն: GuardButtonOn հրամանը փոխարինվել է GuardButtonOn1 և GuardButtonOn2 հրամաններով: Զբաղված՝ 67% SRAM, 99% Flash հիշողություն:
GSM_2017_04_21-09-43.hex - խորհուրդ չի տրվում օգտագործել, միայն թեստավորման համար, շնորհակալություն հայտնաբերված սխալների համար :) - Այժմ sendsms պարամետրը չի ազդում էլեկտրացանցը վերահսկելու համար SMS հաղորդագրությունների ուղարկման վրա: Ավելացվեց SMS հրաման DelayBeforeGuard, որը պատասխանատու է զինման ժամանակ ուշացման համար, արժեքը չի կարող գերազանցել 255 վայրկյանը: Ավելացվեց DelayBeforeAlarm SMS հրամանը, որը պատասխանատու է ծանուցումների ուղարկման հետաձգման և սենսորների գործարկման ժամանակ «տագնապային փին» միացնելու համար, արժեքը չի կարող գերազանցել 255 վայրկյանը: Հեռացվել են ClearSMS հրամանները, այժմ հաղորդագրություններն ավտոմատ կերպով ջնջվում են ստանալուց հետո: Զբաղված՝ 68% SRAM, 100% Flash հիշողություն:
GSM_2017_04_22-20-42.hex- Շտկվել են բազմաթիվ սխալներ: ClearSMS հրամանները կրկին առկա են որոնվածում: Հիշողության օպտիմիզացում. Զբաղված՝ 68% SRAM, 98% Flash հիշողություն:
GSM_2017_04_23-17-50.hex- Այժմ հաշվեկշռի հարցումը պետք է ճիշտ աշխատի բոլոր մոդեմների վրա: Արտաքին սարքերով զինաթափումն ու զինաթափումն այժմ ճիշտ է աշխատում: Info հրամանի SMS պատասխանի հաղորդագրությունները չպետք է դատարկ լինեն: Հիշողության օպտիմիզացում. Զբաղված՝ 68% SRAM, 98% Flash հիշողություն:
GSM_2017_04_24-13-22.hex- Այժմ վահանակի հրամանների փոխանցումը GSM մոդուլարտադրվում է միայն այն դեպքում, եթե փորձարկման ռեժիմը միացված է: Այժմ չկա բաժանում SMS հրամանների և կոնսոլի հրամանների, առկա բոլոր հրամանները կարող են ուղարկվել ինչպես SMS-ի, այնպես էլ վահանակի միջոցով: Հավանաբար Info հրամանի հետ կապված սխալը շտկվել է: Հիշողության օպտիմիզացում. Զբաղված՝ 68% SRAM, 94% Flash հիշողություն:
GSM_2017_04_25-20-54.hex- Ուղղվել է սխալ, որտեղ ListConfig հրամանը փոխել է վերջին իրադարձության արժեքը: Այժմ kosol-ի միջոցով հրամաններ մուտքագրելիս անհարկի SMS հաղորդագրություններ չեն ուղարկվում։ Հավանաբար Info հրամանի հետ կապված սխալը շտկվել է: Հիշողության օպտիմիզացում. Զբաղված՝ 66% SRAM, 94% Flash հիշողություն:
GSM_2017_04_30-12-57.hex- Ժամանակավորապես միացրել է լրացուցիչ տեղեկատվության ելքը դեպի վահանակ SMS հաղորդագրություններ ուղարկելիս և Info հրամանին պատասխան ձևավորելիս: Հավանաբար Info հրամանի հետ կապված սխալը շտկվել է: Հիշողության օպտիմիզացում. Զբաղված՝ 66% SRAM, 92% Flash հիշողություն:
GSM_2017_05_06-11-52.hex- Ամրագրվել է DelayBeforeAlarm ֆունկցիայի միջոցով: Զբաղված՝ 66% SRAM, 93% Flash հիշողություն:
GSM_2017_05_23-21-27.hex- Մի փոքր փոխեց տեղեկատվության թողարկումը կոնսոլին: Ավելացվել է PCF8574A նավահանգիստների ընդլայնման մոդուլների աջակցություն՝ 0x38-ից մինչև 0x3f ներառյալ հասցեներով: Շտկվել է սխալ գ. Այժմ սարքը ավտոմատ կերպով վերաբեռնվում է FullReset, ResetConfig, ResetPhone հրամաններից հետո, և եթե MemTest հրամանը հաջողությամբ կատարվի: Ավելացվեց WatchPowerTime հրամանը: Այժմ հնարավոր է սահմանել այն ժամանակը, որից հետո կուղարկվի անջատման SMS-ը արտաքին աղբյուրսնուցում. Զբաղված՝ 67% SRAM, 94% Flash հիշողություն:
GSM_2017_05_26-20-22.hex- Ընդարձակման տախտակի սենսորների հիշողության ֆիքսված սկզբնավորումը: AddPhone հրամանի շարահյուսությունը փոխվել է։ Ավելացվեց EditMainPhone հրամանը: Փոխվել է ծանուցման համակարգի աշխատանքի սկզբունքը, երբ սենսորը գործարկվի, նախ կուղարկվեն sms հաղորդագրություններ, որից հետո կկատարվեն ձայնային զանգեր։ Ահազանգող sms հաղորդագրությունները կուղարկվեն «S» նշանով (SMS) հեռախոսահամարներով: Ձայնային զանգերը կիրականացվեն «R» (Ring) նշանով համարներին: Արտաքին էլեկտրամատակարարումն անջատելու/միացնելու մասին հաղորդագրությունները կուղարկվեն հեռախոսահամարներին՝ «P» (սնուցում) նշանով: Ավելացվեց RingTime հրամանը: Այժմ հնարավոր է սահմանել տագնապի ձայնային զանգի տեւողությունը, պարամետրը կարող է արժեք ունենալ 10-ից 255 վայրկյան: Այժմ RingOn / RingOff հրամանը գլոբալ հնարավորություն է տալիս / անջատում ձայնային զանգի ծանուցումը: Ավելացվեց ResetSensor հրամանը: Զբաղված՝ 68% SRAM, 99% Flash հիշողություն:
GSM_2017_06_02-17-43.hex- AddPhone և EditMainPhone հրամաններին ավելացվել է «I» (Info) պարամետրը, որը պատասխանատու է սարքի զինման կամ զինաթափման մասին sms ծանուցման համար: Այժմ, հիմնական համարը ավելացնելուց հետո սարքը ավտոմատ կերպով վերագործարկվում է: Այժմ դուք կարող եք նույն թվերը ավելացնել սարքի հիշողության մեջ: Երկրորդ և հաջորդ կրկնօրինակ թվեր ավելացնելիս «M», «S», «P» և «I» ատրիբուտները ավտոմատ կերպով կհեռացվեն դրանցից: Այս թվերը կօգտագործվեն կրկնվող ձայնային զանգերի համար, երբ սենսորները գործարկվեն: AddPhone հրամանը կատարելուց հետո կոնսոլում կորի ելքով վրիպակ շտկվեց, այժմ թիվ ավելացնելուց հետո տեղեկատվությունը ինքնաբերաբար չի ցուցադրվում: Ավելացվեց Reboot հրամանը: Զբաղված՝ 69% SRAM, 99% Flash հիշողություն:
GSM_2017_06_11-00-07.hex- Հիմա նորից, երբ հիմնական եղեգնյա անջատիչի կոնտակտները փակ են (դուռը փակ է), սարքը 2 վայրկյան թարթում է կապույտ լուսադիոդով՝ ազդանշան տալով սենսորի բնականոն աշխատանքին, մինչդեռ սարքը զինված կամ զինաթափված չէ: RingOn / RingOff հրամանները հեռացվել են: Այժմ սարքը կարող է զինաթափվել ահազանգի ժամանակ, այժմ դրանք կատարվում են հետին պլանում։ Զբաղված՝ 69% SRAM, 99% Flash հիշողություն:
GSM_2017_07_04-21-52.hex- Այժմ Pause հրամանը պատասխան SMS չի ուղարկում: Հեռացվել են TestOn և TestOff հրամանները: Կառավարման դրոշը հանվել է բոլոր համարներից: Զբաղված՝ 68% SRAM, 96% Flash հիշողություն:
GSM_2017_07_24-12-02.hex- Ավելացվեց ReedSwitchOn / ReedSwitchOff հրամանները հիմնական եղեգի սենսորին վերահսկելու համար, այժմ այն ​​կարող է միացված / անջատվել այնպես, ինչպես շարժման սենսորը: Ուղղվել է Info հրամանի սխալը: TestOn և TestOff հրամանները կրկին առկա են որոնվածում: Զբաղված՝ 68% SRAM, 96% Flash հիշողություն:
GSM_2017_07_26-10-03.hex- Ավելացվեց ModemID հրամանը: Մոդեմի ավտոմատ հայտնաբերումն իրականացվում է միայն այն դեպքում, եթե այս պարամետրի արժեքը 0 է: Պարամետրի արժեքը 0 դնելուց հետո սարքն ավտոմատ կերպով վերագործարկվում է: Զբաղված՝ 68% SRAM, 98% Flash հիշողություն:
GSM_2017_08_03-22-03.hex- Այժմ ահազանգը կարող է կառավարել արտաքին սարքերը: Անալոգային ելքը A3 օգտագործվում է կառավարման համար (D17 - օգտագործվում է որպես թվային): Ելքի տրամաբանական մակարդակը (+ 5V կամ GND) կարող է փոխվել, կարգավորումների հրամանի միջոցով մակարդակը փոխելուց հետո սարքն ինքնաբերաբար կվերագործարկվի: Արտաքին սարքի կառավարման ազդանշանի տեւողությունը կարող է փոխվել: Ավելացվեցին հրամաններ ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open: Որոշ փոփոխություններ կառավարման հրամանների տրամաբանության մեջ: Հիշողության օպտիմիզացում. Զբաղված՝ 68% SRAM, 99% Flash հիշողություն:
GSM_2017_08_10-12-17.hex- Հեռացվել են SmsOn / SmsOff, ReedSwitchOn / ReedSwitchOff, PIROn / PIROff հրամանները և դրանց հետ կապված ամեն ինչ: DelayBeforeAlarm հրամանը փոխարինվել է ընդլայնված հրամաններով: Տեղեկատվության հրամանի ելքը փոխվել է: Օպտիմիզացրել է ListConfig հրամանի ելքը դեպի վահանակ: Այժմ ցանկացած թվային սենսորներ բարձր կամ ցածր արձագանքման մակարդակով, ներառյալ եղեգի անջատիչները, կարող են միացված լինել D6 և A0 կապանքներին: D6 և A0 կապանքները պետք է միացված լինեն գետնին (GND) 10 (20) kΩ ռեզիստորի միջոցով: Եթե ​​սենսորը կազմաձևված է ձգանման ցածր մակարդակի համար (միացված է եղեգի անջատիչի ռեժիմում), ապա ստուգվում է շղթայի շարունակականությունը: D6 և A0 (+ 5V կամ GND) մուտքերի վրա գործարկման տրամաբանական մակարդակը կարող է փոխվել, տրամաբանական մակարդակը փոխելուց հետո սարքն ինքնաբերաբար կվերագործարկվի: Սենսորներից յուրաքանչյուրի համար (հիմնական, երկրորդ, PCF ընդլայնման քարտեր), երբ գործարկվում է, կարող է սահմանվել սեփական ժամանակը, որից հետո ծանուցում կկատարվի (SMS և (կամ) ձայնային զանգ): «PIR սենսոր»-ը վերանվանվել է «Երկրորդ սենսոր»-ի: Ընդարձակման տախտակի աշխատանքը շտկվել է, սխալ, որի պատճառով սարքը միշտ ծանուցում էր սենսորների գործարկման մասին՝ անկախ նրանից՝ սարքը զինված է եղել, թե ոչ։ Այժմ դուք կարող եք ընտրել գործառնական ռեժիմը, որով սարքը կարող է վերահսկել ընդարձակման տախտակի սենսորները ինչպես զինված ռեժիմում (GuardOn), այնպես էլ անջատված ռեժիմում (GuardOff): Ավելացված հրամաններ PCFForceOn / PCFForceOff, MainSensorLevelHigh / MainSensorLevelLow / MainSensorLevelOff, SecondSensorLevelHigh / SecondSensorLevelLow / SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeFAforeA, Զբաղված՝ 68% SRAM, 99% Flash հիշողություն:

* Ծրագրաշարի հետագա տարբերակները ներառում են փոփոխություններ նախորդ տարբերակներից:


Arduino Nano v3-ի օգտագործված նավահանգիստները

D4- «տագնապ» փին ելք, երբ սենսորը գործարկվում է, բարձր մակարդակի ազդանշան է դրվում այս փին
D5- «Զարթուցիչ» փին հակադարձ ելք, երբ սենսորը գործարկվում է, ցածր մակարդակի ազդանշան է սահմանվում այս փին

D6- եղեգի անջատիչ: Սկսած GSM_2017_08_10-12-17.hex տարբերակից, ցանկացած թվային սենսորներ բարձր կամ ցածր արձագանքման մակարդակով, ներառյալ եղեգի անջատիչները, կարող են միացված լինել D6-ին: Pin D6-ը պետք է ձգվի դեպի գետնին (GND) 10 (20) կՕմ ռեզիստորի միջոցով:
D7- միացված է լարման բաժանարարին արտաքին սնուցման աղբյուրից + 5 Վ: Վերին թևը 2,2 կՕմ է, ստորինը՝ 3,3 կՕմ։

Լարման բաժանարար


D8- TX մոդեմ
D9- RX մոդեմ

D10- կարմիր LED
D11- կապույտ LED
D12- կանաչ LED

Ծայրամասային միացում.
A0- Շարժման ցուցիչ: Սկսած GSM_2017_08_10-12-17.hex տարբերակից՝ ցանկացած թվային սենսորներ բարձր կամ ցածր ձգանման մակարդակով, ներառյալ եղեգի անջատիչները, կարող են միացվել A0 փինին: Pin A0-ը պետք է քաշվի դեպի գետնին (GND) 10 (20) կՕմ ռեզիստորի միջոցով:

Ա1- Ներածում արտաքին հսկողության համար: Զարթուցիչը կզինի / կզրկվի համակարգը, երբ մուտքում հայտնվի բարձր + 5 Վ մակարդակ:
A2- Շրջված մուտքագրում արտաքին հսկողության համար: Զարթուցիչը կզինվի / կզրկվի, երբ մուտքում հայտնվի ցածր մակարդակի GND:

A3- Կարգավորելի (+ 5V կամ GND) ելք՝ արտաքին սարքերը կառավարելու համար: Երբ ստացվում է հսկիչ հրաման, այս ելքի արժեքը փոխվում է՝ կախված նրանից, թե որն է սահմանված որոշակի ժամանակահատվածի համար:

A4- SDA I2C
A5- SLC I2C
, լրացուցիչ 8 սենսորների միացման համար։


Կառավարման հրամաններ hex - որոնվածի համար

Ուշադրություն.Նվիրված հրամաններ ընդգծված, լայնատառկարող է կատարվել միայն հիմնական համարից, քանի որ նրանք պատասխանատու են սարքի կազմաձևման համար: Մնացած հրամանները կարելի է կատարել «Կառավարում» նշանով թվերից։

SMS - կառավարման հրամանները մեծատառերի զգայուն չեն:
AddPhone- Ավելացրեք հեռախոսահամար: Ընդհանուր առմամբ, կարող է ավելացվել ոչ ավելի, քան 9 համար + 1 հիմնական համար, որն ավտոմատ կերպով պահվում է հիշողության մեջ, երբ սարքին առաջին զանգն է կատարում՝ հրամանների միջոցով գործարանային կարգավորումները վերականգնելուց հետո։ Վերականգնել Հեռախոսըկամ FullReset... Նրանք. Ով առաջինը զանգահարեց սարքը գործարանային կարգավորումները վերականգնելուց հետո, նա «հիմնականն» է, այս համարը մուտքագրվում է հիշողության առաջին բջիջում և այն հնարավոր չէ փոխել կամ ջնջել SMS-ի միջոցով: Հնարավոր չէ երկու միանման թվեր ավելացնել։
Օրինակ հրաման.



Հրամանի շարահյուսություն.

AddPhone- հրաման
: - սահմանազատող
5 - գրել հինգերորդ հիշողության վայրում
+71234567890 - հեռախոսահամար
Մինչև GSM_2017_05_26-20-22.hex տարբերակը.
ա - «Զարթուցիչ» պարամետր - SMS-ներ կուղարկվեն այս պարամետրով համարներին՝ ահազանգի ակտիվացման և զինման կամ զինաթափման մասին հաղորդագրություններ:
GSM_2017_05_26-20-22.hex տարբերակից:
m - «Կառավարում» պարամետր - ահազանգի կառավարումը միացված է
s - «SMS» պարամետր - sms հաղորդագրություն կուղարկվի, երբ սենսորները գործարկվեն
r - «Ring» պարամետր - ձայնային զանգ կկատարվի, երբ սենսորները գործարկվեն
p - «Power» պարամետր - sms հաղորդագրություն կուղարկվի, երբ արտաքին հոսանքը միացվի / անջատվի
i - «Info» պարամետր - sms հաղորդագրություն կուղարկվի զինվելիս կամ զինաթափելիս
«m», «s», «r», «p», «i» պարամետրերի բացակայության դեպքում հեռախոսը պահվում է հիշողության մեջ, բայց ոչ մի կերպ չի օգտագործվում։


Ջնջել Հեռախոսը- Ջնջել հեռախոսահամարը:
Օրինակ հրաման.

Հրամանի շարահյուսություն.

DeletePhone - հրաման
: - սահմանազատող
+71234567891 - հեռախոսահամար


EditMainPhone- Փոխեք հիմնական հեռախոսի «s», «r», «p», «i» պարամետրերը, այս թիվը մուտքագրվում է առաջին հիշողության խցում:
Օրինակ հրաման.

Հրամանի շարահյուսություն.

EditMainPhone - հրաման
: - սահմանազատող
srpi - պարամետրեր


ՄնացորդՀամար- Մնացորդի հարցման համարի փոփոխություն և հարցման պատասխանի երկարության մշակում: Beeline-ի կանխադրված արժեքը՝ # 100 # L22:
Օրինակ հրաման.

Հրամանի շարահյուսություն.

BalanceNum - հրաման
: - սահմանազատող
# 103 # - մնացորդի հարցման համարը
L24 - Ուղարկված պատասխանի երկարությունը (len) 24 նիշ է, մենք կտրեցինք սպամը հաշվեկշռի հարցումից:


Խմբագրել ցուցիչ- Փոխեք սենսորի անունը և աշխատանքի տրամաբանական մակարդակը: Ընդհանուր առմամբ չի կարող լինել ավելի քան 8 լրացուցիչ սենսոր: Պարամետրերը փոխելուց հետո անհրաժեշտ է սարքի վերաբեռնում:
Օրինակ հրաման.
EditSensor՝ 1 + Datchik dvizheniya v koridore # h

Հրամանի շարահյուսություն.

EditSensor - հրաման
: - սահմանազատող
1 - գրել առաջին հիշողության վայրում
+ - բաժանարար
Datchik dvizheniya v koridore - սենսորի անունը, չի կարող գերազանցել 36 նիշը, ներառյալ բացատները:
#h - բարձր տրամաբանական մակարդակի նշան սենսորից, որը ստանալուց հետո կգործարկվի ահազանգ: Եթե ​​«#h»-ը բացակայում է, ահազանգը կգործարկվի, երբ սենսորից ցածր տրամաբանական մակարդակ ստացվի:


SleepTime- SMS ստանալու ժամանակ ահազանգի «քնելու» ժամանակը` «Դադար» հրամանը նշված է րոպեներով: Կանխադրված արժեքը՝ 15, չի կարող լինել 1-ից պակաս և 60-ից ավելի:
Օրինակ հրաման.

Հրամանի շարահյուսություն.

SleepTime - հրաման
: - սահմանազատող
20-20 րոպե «քուն».


AlarmPinTime- Ժամանակը, որի համար ահազանգը / հակադարձ կապը միացված / անջատված է, նշվում է վայրկյաններով: Կանխադրված արժեքը՝ 60, չի կարող լինել 1 վայրկյանից պակաս և 43200 վայրկյանից ավելի (12 ժամ):
Օրինակ հրաման.

Հրամանի շարահյուսություն.

AlarmPinTime հրաման
: - սահմանազատող
30 - 30 վայրկյան տևողությամբ ազդանշանի միացում/անջատում:


DelayBeforeGuard- Համապատասխան հրաման ստանալուց հետո սարքը զինելուց առաջ ժամանակ.
Օրինակ հրաման.

Հրամանի շարահյուսություն.

DelayBeforeGuard - Թիմ
: - սահմանազատող
Զինվելուց 25 - 25 վայրկյան առաջ


Ուշացում նախքան ահազանգը- Ժամանակը, որից հետո «տագնապալի» SMS ծանուցումը կուղարկվի, եթե այդ ժամանակահատվածում ահազանգը չի զինաթափվել: Փոխարինված է ընդլայնված հրամաններով՝ սկսած GSM_2017_08_10-12-17.hex տարբերակից
Օրինակ հրաման.

Հրամանի շարահյուսություն.

DelayBeforeAlarm - հրաման
: - սահմանազատող
«Զարթուցիչ» ծանուցումն ուղարկելուց 40 - 40 վայրկյան առաջ


WatchPowerTime- Ժամանակը րոպեներով, որից հետո SMS հաղորդագրություն կուղարկվի արտաքին հոսանքի աղբյուրի անջատման մասին: Եթե ​​արտաքին էլեկտրամատակարարումը վերականգնվի մինչև սահմանված ժամկետի ավարտը, հաղորդագրությունը չի ուղարկվի:
Օրինակ հրաման.

Հրամանի շարահյուսություն.

WatchPowerTime - Թիմ
: - սահմանազատող
SMS հաղորդագրություն ուղարկելուց 5-5 րոպե առաջ


RingTime- Տագնապի ձայնային զանգի տևողությունը, պարամետրը կարող է արժեք ունենալ 10-ից մինչև 255 վայրկյան:
Օրինակ հրաման.

Հրամանի շարահյուսություն.

RingTime - հրաման
: - սահմանազատող
40 - 40 զանգի տևողությունը կլինի 40 վայրկյան, որից հետո կկանչվի հաջորդ բաժանորդը։


ModemID- Օգտագործված մոդեմի մոդելի հարկադիր տեղադրում։ Հնարավոր արժեքներ՝ 0 - մոդեմի ավտոմատ հայտնաբերում, 1 - M590, 2 - SIM800l, 3 - A6_Mini:
Օրինակ հրաման.

Հրամանի շարահյուսություն.

ModemID - հրաման
: - սահմանազատող
2 - մոդեմի ID:


ExtDeviceTime- Վայրկյանների քանակը, որով կփոխվի ազդանշանի մակարդակը արտաքին սարքի կառավարման ելքում:
Օրինակ հրաման.

Հրամանի շարահյուսություն.

ExtDeviceTime- հրաման
: - սահմանազատող
5-5 վայրկյան


ExtDeviceLevelLow- Արտաքին սարքը, որը միացված է ելքային A3-ին, շարժվում է ազդանշանի ցածր մակարդակով (GND): Լռելյայնորեն, ելքը կլինի + 5 Վ բարձր մակարդակի վրա, մինչև արտաքին սարքը կառավարելու հրամանը չստացվի:
ExtDeviceLevelHigh- Արտաքին սարքը, որը միացված է ելքային A3-ին, կառավարվում է ազդանշանի բարձր մակարդակով (+ 5V): Արդյունքը լռելյայն կլինի GND-ի ցածր մակարդակի, քանի դեռ չի ստացվել արտաքին սարքը կառավարելու հրաման:

Վերականգնել սենսորը- զրոյացնել նավահանգիստների ընդարձակման սենսորների պարամետրերը

ResetConfig- գործարանային վերակայում

Վերականգնել Հեռախոսը- բոլորի հիշողությունից ջնջում հեռախոսահամարները

FullReset- կարգավորումների վերականգնում, հիշողությունից բոլոր հեռախոսահամարների ջնջում, BalanceNum հրամանի լռելյայն արժեքի վերականգնում:

RingOn- միացնել ծանուցումը առաջին հիշողության խցում գրանցված «հիմնական» համարին զանգով, երբ սենսորը գործարկվում է: Հեռացվել է GSM_2017_06_11-00-07.hex տարբերակից
RingOff- անջատել ծանուցումը զանգի միջոցով, երբ սենսորը գործարկվում է: Հեռացվել է GSM_2017_06_11-00-07.hex տարբերակից

SmsOn- միացնել sms ծանուցումը, երբ սենսորը գործարկվում է: Հեռացվել է GSM_2017_08_10-12-17.hex տարբերակից
SmsOff- անջատել sms ծանուցումը, երբ սենսորը գործարկվում է: Հեռացվել է GSM_2017_08_10-12-17.hex տարբերակից

ՊԻՐՈՆ- միացնել շարժման սենսորի մշակումը
ՊԻՐՈֆ- անջատել շարժման սենսորի մշակումը

ReedSwitchOn- միացնել հիմնական եղեգի սենսորի մշակումը
ReedSwitchOff- անջատել հիմնական եղեգի սենսորի մշակումը

WatchPowerOn- միացնել արտաքին էլեկտրամատակարարման կառավարումը, կուղարկվի SMS հաղորդագրություն արտաքին սնուցման անջատման մասին, պայմանով, որ ահազանգը զինված է: Հեռացվել է GSM_2017_03_01-23-37 տարբերակից:

WatchPowerOn1- միացնել արտաքին էլեկտրամատակարարման կառավարումը, կուղարկվի SMS հաղորդագրություն արտաքին սնուցման անջատման մասին, պայմանով, որ ահազանգը զինված է:
WatchPowerOn2- միացնել արտաքին սնուցման կառավարումը, ցանկացած դեպքում SMS հաղորդագրություն կուղարկվի արտաքին սնուցման անջատման մասին

WatchPowerOff- անջատել արտաքին սնուցման հսկողությունը

GuardButtonOn- Արտաքին սարքերի կամ կոճակի միջոցով ազդանշանային կառավարումը միացված է: Հեռացված է GSM_2017_04_16-12-00 տարբերակից:
Պահակ կոճակը միացված է 1- գործառույթ զինում կամ զինաթափումպաշտպանություն արտաքին սարքերով կամ կոճակը միացված է
GuardButtonOn2- գործառույթ միայն արտադրություններզինված է արտաքին սարքերով կամ կոճակը միացված է, զինաթափումն իրականացվում է սարքը զանգահարելով կամ SMS հրամանի միջոցով:
GuardButtonOff- Արտաքին սարքերով կամ կոճակով ազդանշանային կառավարումն անջատված է

PCFForceOn- ընդարձակողի բոլոր սենսորների խմբի շարունակական մոնիտորինգ
PCFForceOff- մոնիտորինգ բոլոր ընդարձակող սենսորների խմբին միայն այն դեպքում, երբ սարքը զինված է

Հիմնական սենսորային մակարդակի բարձր- տագնապի ծանուցում կուղարկվի, երբ սենսորից մուտքի մոտ (D6) հայտնվի բարձր մակարդակի ազդանշան (+5 Վ)
MainSensor LevelLow- տագնապի ծանուցում կուղարկվի, երբ սենսորից մուտքի մոտ (D6) հայտնվի ցածր մակարդակի ազդանշան (GND):
MainSensorLevelOff- մուտքային սենսորի մշակումը (D6) անջատված է

SecondSensorLevelHigh- տագնապի ծանուցում կուղարկվի, երբ սենսորից մուտքում (A0) հայտնվի բարձր մակարդակի ազդանշան (+5 Վ)
SecondSensorLevelLow- տագնապի ծանուցում կուղարկվի, երբ սենսորից մուտքի մոտ (A0) հայտնվի ցածր մակարդակի ազդանշան (GND):
SecondSensorLevelOff- մուտքի (A0) սենսորի մշակումն անջատված է

Հիմնական ուշացում նախքան ահազանգը- այն ժամանակը, որից հետո կուղարկվի «տագնապ» SMS ծանուցում, երբ գործարկվում է հիմնական սենսորը (D6), եթե այս ընթացքում ահազանգը չի զինաթափվել: Շարահյուսությունը նույնն է, ինչ DelayBeforeAlarm հրամանը:
Երկրորդ ուշացումն ահազանգից առաջ- այն ժամանակը, որից հետո կուղարկվի «տագնապ» SMS ծանուցում, երբ լրացուցիչ սենսորը (A0) գործարկվի, եթե այս ընթացքում ահազանգը չի զինաթափվել: Շարահյուսությունը նույնն է, ինչ DelayBeforeAlarm հրամանը:
PCFDelay Նախքան ահազանգը- այն ժամանակը, որից հետո կուղարկվի «տագնապալի» SMS ծանուցում, երբ գործարկվում են ընդարձակման տախտակի (PCF8574) սենսորները, եթե այս ժամանակահատվածում ահազանգը չի զինաթափվել: Շարահյուսությունը նույնն է, ինչ DelayBeforeAlarm հրամանը:

GuardOn - արմ
GuardOff - հեռացնել պաշտպանությունը

Բացել - արտաքին սարքը կառավարելու հրաման

Info - ստուգեք կարգավիճակը, այս հաղորդագրությանն ի պատասխան կուղարկվի sms տեղեկատվություն այն համարի մասին, որից անվտանգությունը միացված/անջատված է:

Դադար - դադարեցնում է համակարգը րոպեների ընթացքում քնի ժամանակի հրամանով սահմանված ժամանակի համար, համակարգը չի արձագանքում սենսորի գործարկմանը:

TestOn - փորձարկման ռեժիմը միացված է, թարթում է կապույտ LED:
TestOff - փորձարկման ռեժիմն անջատված է:

LedOff - անջատում է սպասման LED-ը:
LedOn - միացնում է սպասման LED-ը:

Փող - մնացորդի հարցում:

ClearSms - Ջնջել բոլոր sms-ները հիշողությունից

Վահանակի հրամաններ (մինչև GSM_2017_04_24-13-22.hex տարբերակը) - մուտքագրված է Arduino IDE պորտի մոնիտորի մեջ.

AddPhone - նման է AddPhone SMS հրամանին

DeletePhone - նման է DeletePhone SMS հրամանին

EditSensor - նման է sms հրամանին EditSensor

ListPhone - ցուցադրում է հիշողության մեջ պահվող հեռախոսների ցանկը պորտի մոնիտորին

ResetConfig - ResetConfig sms հրամանի նման

ResetPhone - նման է ResetPhone sms հրամանին

FullReset - նման է FullReset sms հրամանին

ClearSms - նման է ClearSms sms հրամանին

WatchPowerOn1 - նման է WatchPowerOn1 sms հրամանին
WatchPowerOn2 - նման է WatchPowerOn2 sms հրամանին
WatchPowerOff - նման է WatchPowerOff sms հրամանին

GuardButtonOn - նման է GuardButtonOn sms հրամանին: Հեռացվել է GSM_2017_04_16-12-00 տարբերակից
GuardButtonOn1 - նման է GuardButtonOn1 sms հրամանին
GuardButtonOn2 - նման է GuardButtonOn2 sms հրամանին
GuardButtonOff - նման է GuardButtonOff sms հրամանին

Memtest - սարքի ոչ անկայուն հիշողության փորձարկում, սարքի բոլոր կարգավորումները կվերակայվեն՝ FullReset հրամանի նման:

I2CScan - որոնել և սկզբնավորել աջակցվող սարքերը I2C ավտոբուսում:

ListConfig - սարքի ընթացիկ կոնֆիգուրացիան թողարկեք նավահանգստի մոնիտորին:

ListSensor - ելքային սենսորի ընթացիկ կոնֆիգուրացիան պորտի մոնիտորին:

UPD. Շարժման սենսոր օգտագործելիս, կեղծ պոզիտիվները բացառելու համար, երբ մոդեմն աշխատում է, անհրաժեշտ է միջեւկապում GNDև A0Արդուինո դիմադրություն ցույց տալ, մենք ասում ենք շնորհակալություն ընկերոջը
AllowPhone = («70001234501», «70001234502», «70001234503», «70001234504», «70001234505») - Համարներ, որոնք թույլատրվում են վերահսկել անվտանգությունը:
AlarmPhone = («70001234501», «70001234502») - SMS ծանուցումներ ուղարկելու համարներ, երբ սենսորը գործարկվում է, և ծանուցումներ զինաթափման կամ զինման մասին: Ցանկի առաջին համարը կկանչվի, երբ սենսորը գործարկվի, եթե RingOn հրամանը կատարվի, լռելյայն այս տարբերակը միացված է: Դա արվում է, քանի որ sms հաղորդագրությունները կարող են գալ որոշակի ուշացումով, սակայն զանգը պետք է անմիջապես կատարվի:

Եթե ​​զանգը գալիս է լիազորված համարից կամ SMS հաղորդագրությունից՝ GuardOn / GuardOff հրամանով, ապա, կախված պաշտպանության ներկա վիճակից, SMS հաղորդագրություն կուղարկվի զինման կամ զինաթափման մասին AlarmPhone զանգվածում նշված համարներին, SMS հաղորդագրություն: Նաև կուղարկվի այն համարին, որտեղից եկել է զանգը:

Երբ սենսորը գործարկվում է SMS հաղորդագրություններն ուղարկվում են AlarmPhone զանգվածից (ցուցակից) բոլոր համարներին, և այս զանգվածից առաջին համարին կկատարվի ձայնային զանգ:

Լույսի ցուցում.
Կարմիր LED - զինված:
LED-ը միացված է կանաչ- զինաթափված, միացված / անջատված sms հրամանով LedOn / LedOff:
LED-ն անընդհատ թարթում է կապույտ - դա ազդանշան է տալիս, որ ամեն ինչ կարգին է Arduino-ի հետ, տախտակը սառեցված չէ, այն օգտագործվում է բացառապես վրիպազերծման համար, այն միացված/անջատվում է TestOn / TestOff sms հրամանով:
* Կոդը պարունակում է LedTest () ֆունկցիան, այն թարթում է կապույտ LED-ով, այն պատրաստված է միայն Arduino-ն վերահսկելու համար, թարթում է՝ նշանակում է աշխատում է, չի թարթում, սառած է։ Դեռ չի սառչում :)

Համապատասխան չէ:

2 կամ ավելի սենսորների միացում բաց որոնվածի համար (կիրառում է միայն այս որոնվածի sketch_02_12_2016.ino)
Լրացուցիչ եղեգի անջատիչներ միացնելու համար մենք օգտագործում ենք անվճար թվային կապիչներ D2, D3, D5 կամ D7: D7-ի վրա լրացուցիչ սենսորով միացման դիագրամ:

Պահանջվող որոնվածի փոփոխություններ
... #define DoorPin 6 // Հիմնական սենսորին միացված մուտքի թիվը int8_t DoorState = 0; // Փոփոխական՝ հիմնական սենսորի վիճակը պահելու համար int8_t DoorFlag = 1; // Հիմնական սենսորի վիճակը պահելու համար փոփոխական #define BackDoorPin 7 // Լրացուցիչ սենսորին միացված մուտքի թիվը int8_t BackDoorState = 0; // Փոփոխական՝ լրացուցիչ սենսորի վիճակը պահելու համար int8_t BackDoorFlag = 1; // Փոփոխական՝ լրացուցիչ սենսորի վիճակը պահելու համար ...
void setup () (... pinMode (DoorPin, INPUT); pinMode (BackDoorPin, INPUT); ...
... void Detect () (// Կարդացեք արժեքները սենսորներից DoorState = digitalRead (DoorPin); BackDoorState = digitalRead (BackDoorPin); // Հիմնական սենսորի մշակում, եթե (DoorState == LOW && DoorFlag == 0) (DoorFlag) = 1; ուշացում (100); եթե (LedOn == 1) թվային գրել (GLed, LOW); Զարթուցիչ ();) եթե (DoorState == բարձր && DoorFlag == 1) (DoorFlag = 0; ուշացում (100);) // Լրացուցիչ սենսորի մշակում, եթե (BackDoorState == LOW && BackDoorFlag == 0) (BackDoorFlag = 1; ուշացում (100); եթե (LedOn == 1) թվային գրել (GLed, LOW); Զարթուցիչ ();) եթե (BackDoorState = = ԲԱՐՁՐ && BackDoorFlag == 1) (BackDoorFlag = 0; ուշացում (100);)) ...

Եվ մեկ այլ բան:
1. Ավելի լավ է օգտագործել դիոդներ, որոնք նախատեսված են 2 Ա հոսանքի համար, քանի որ մոդուլը վարակվում է 1 Ա հոսանքով, և մենք դեռ պետք է ինչ-որ բանով միացնենք Arduino-ն և մոդեմը։ Այս դեպքում օգտագործվում են 1N4007 դիոդներ, եթե դրանք ձախողվեն, փոխարինեք դրանք 2 Ա-ով:
2. LED-ի բոլոր ռեզիստորներն օգտագործել եմ 20 կՕմ-ով, որպեսզի գիշերը չլուսավորեմ ողջ միջանցքը։
3. Ես նաև կախեցի 20 կՕհմ ռեզիստոր GND-ի և D6-ի միջև ընկած եղեգի անջատիչի վրա:

Առայժմ այսքանը: Շնորհակալություն ուշադրության համար։ :)

Ես նախատեսում եմ գնել +207 Ավելացնել ընտրյալների մեջ Ինձ դուր եկավ ակնարկը +112 +243

Գարունը, ինչպես գիտեք, ուղեկցվում է ամենատարբեր սրացումներով, և հիմնական «սրացումը» իր անցքերից դուրս է եկել փողոց՝ իրեն չպատկանելու համար։ Սա նշանակում է, որ ձեր սեփականության պաշտպանության թեման դառնում է ավելի արդիական, քան երբևէ:
Կայքն արդեն մի քանի ակնարկներ ունի տնականների վերաբերյալ: Նրանք, իհարկե, ֆունկցիոնալ են, բայց բոլորն էլ ունեն ընդհանուր հատկանիշ- կախվածություն վարդակից. Եթե ​​դա անշարժ գույքի խնդիր չէ, որտեղ արդեն մատակարարվել է էլեկտրաէներգիա, ապա ի՞նչ կարելի է ասել այն գույքի մասին, որտեղ վարդակից հեռու է կամ շրջակայքը լիովին հոսանքազրկված է: Ես որոշեցի գնալ այլ ճանապարհով՝ հավաքել երկարակյաց, մաքսիմալ պարզ և անկախ էլեկտրական ցանցից սարքը, որն անընդհատ քնելու է, և երբ կողոպտիչները ներթափանցեն, սկսեն և զանգահարեն տիրոջը հեռախոսով՝ ազդանշան տալով. պարզ ահազանգ.

Վերանայեք իրերը

Գնված է:
1. Հացի տախտակմիակողմանի 5x7 սմ: getinax- կամ ապակեպլաստե
* - ապակեպլաստե ապակեպլաստե շատ ավելի լավ է, քան getinax.
2. Neoway M590 մոդուլ - PCB ալեհավաքով -
3. Arduino Pro Mini «RobotDyn» ATmega168PA 8MHz 3.3V -
4. Լիթիումի լիցքաթափման կառավարման վահանակ -

Քաղաքակրթության ավերակներից արդյունահանված.
1. Դարակներ տախտակի համար, գործիքի պատյաններից սղոցված - 6 հատ:
2. Մարտկոց, լիթիում, 1300 mAh
3. Փակագծեր, որոնք օգտագործվում են մալուխը պատին ամրացնելու համար
4. Գրենական պիտույքների ռետին
5. Պղնձե մետաղալար 1,5 մմ հաստությամբ
6. Գործիքների պատյան տեղական ռադիո շուկայից - 1.5$
7. Զույգ LED-ներ տարբեր գույն(վերցված է VHS նվագարկիչից)
8. Անտենա և գլխարկով կոճակ (վերցված է Wi-Fi երթուղիչից)
9. 4-փին տերմինալային բլոկ (վերցված է dimmer-ից)
10. Հոսանքի միակցիչ (վերցված է հին 18650 լիցքավորիչից)
11. 6-փին միակցիչ (վերցված է DVD սկավառակից)
12. Թիթեղյա տուփ (օրինակ՝ սուրճի համար)

Arduino Pro Mini «RobotDyn» Atmega 168PA 3.3V 8MHz

Տեխնիկական պայմաններ:
Միկրոկառավարիչ: ATmega168PA
Ուղղակի աշխատանքային լարումը..8 - 5.5V
Գործող լարումը LE33 կայունացուցիչի միջոցով. 3.3V կամ 5V (կախված մոդելից)
Աշխատանքային ջերմաստիճան.-40 ° C ... 105 ° C
Մուտքային լարումը: 3.35-12V (3.3V մոդել) կամ 5-12V (5V մոդել)
Թվային մուտքեր / ելքեր. 14 (որոնցից 6-ը կարող է օգտագործվել որպես PWM ելքեր՝ 3, 5, 6, 9, 10 և 11)
Անալոգային մուտքեր. 6
Ժամաչափեր-հաշվիչներ.երկու 8-բիթանոց և մեկ 16-բիթանոց
Էներգախնայողության ռեժիմներ. 6
Ուղղակի հոսանք մուտքի / ելքի միջոցով. 40 մԱ
Ֆլեշ հիշողության: 16 ԿԲ (2 օգտագործվում է bootloader-ի համար)
RAM: 1 Կբ
EEPROM: 512 բայթ
Ռեսուրս գրել / ջնջել հիշողությունը. 10,000 Flash / 100,000 EEPROM
Ժամացույցի հաճախականությունը. 8 ՄՀց (3,3 Վ մոդել) կամ 16 ՄՀց (5 Վ մոդել)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) և A5 (SCL)
UART TTL: 0 (RX) և 1 (TX)
Տվյալների թերթիկ:

Ընտրությունը պատահաբար ընկավ այս ատմեգայի վրա։ մի ֆորումում, որտեղ քննարկվում էին էներգաարդյունավետ նախագծերը, մեկնաբանություններում ես հանդիպեցի խորհուրդներ օգտագործել հենց 168-րդ atmega-ն:
Այնուամենայնիվ, ես ստիպված էի ջարդել նման տախտակ գտնելու համար, քանի որ բոլոր լոտերը հաճախ լցված էին 328 ատմեգերով 16 ՄՀց հաճախականությամբ, որոնք աշխատում էին 5 Վ-ից: Իմ նախագծի համար նման բնութագրերը հենց սկզբից ավելորդ էին և անհարմար, որոնումը դարձավ ավելի բարդ։
Արդյունքում, ես հանդիպեցի Pro Mini-ի 3,3 վոլտանոց տարբերակին Atmega 168PA-ի վրա eBay-ում, և ոչ միայն պարզ չինական, այլ RobotDyn ապրանքանիշի տակ ռուս մշակողի կողմից: Այո, ես նույնպես սկզբում, ինչպես դուք, կասկածի հատիկ ունեի։ Բայց ապարդյուն։ Երբ նախագիծն արդեն հավաքվել էր, և AliExpress-ը ներկայացրեց պարտադիր վճարովի առաքում էժան ապրանքների համար (որից հետո ծանրոցները շատ ավելի հաճախ էին կորցնում), այնուհետև ես պատվիրեցի սովորական Pro Mini Atmega168 (առանց PA) 3.3V 8MHz: Ես մի փոքր փորձարկեցի էներգախնայողության ռեժիմները երկու տախտակների հետ, յուրաքանչյուրի մեջ հատուկ ուրվագիծ թարթելով, միկրոկառավարիչը ընկղմելով առավելագույն էներգախնայողության ռեժիմում, և ահա թե ինչ եղավ.
1) Arduino Pro Mini «RobotDyn»: ~ 250 մԱ
2) Arduino Pro Mini «NoName»:երբ հոսանք է կիրառվել լարման կարգավորիչին (RAW ելք) և լուսադիոդը հանվել է, ընթացիկ սպառումը եղել է. ~ 3,92 մԱ




- ինչպես հասկանում եք, էներգիայի սպառման տարբերությունը գրեթե 16 անգամ է, այն պատճառով, որ NoName «Pro Mini»-ն օգտագործում է Atmega168 +-ի մի փունջ, որից միայն MK-ն է ուտում: 20 մԱընթացիկ (ես սա առանձին ստուգեցի), մնացած շատակերությունը ընկնում է AMS1117 գծային լարման փոխարկիչի վրա - տվյալների թերթիկը միայն հաստատում է սա.


RobotDyn տախտակի դեպքում փաթեթը մի փոքր այլ է. սա Atmega168PA + է - այստեղ մենք օգտագործել ենք մեկ այլ LDO կայունացուցիչ, որի բնութագրերը էներգախնայողության առումով ավելի հաճելի են պարզվել.


Ես այն չեմ զոդել, ուստի չեմ կարող ասել, թե Atmega168PA-ն որքան հոսանք է սպառում իր մաքուր տեսքով: Այս դեպքում ինձ բավական էր ~ 250 մԱերբ սնուցվում է Nokia-ի լիթիումի մարտկոցով: Այնուամենայնիվ, եթե AMS1117-ը զոդում եք մայր տախտակի NoName-ից, ապա ATmega168-ը սովորական է, մաքուր տեսքով, ինչպես վերևում ասացի, այն սպառում է. 20 մԱ.
Էլեկտրաէներգիայի LED-ները կարող են անջատվել ինչ-որ սուր բանով: Դա խնդիր չէ։ Կայունացուցիչը զոդվել է վարսահարդարիչով: Այնուամենայնիվ, ոչ բոլորն ունեն վարսահարդարիչ և դրա հետ աշխատելու հմտություններ, ուստի վերը նշված երկու տարբերակներն էլ իրավունք ունեն գոյություն ունենալ:

Neoway M590E մոդուլ

Տեխնիկական պայմաններ:
Հաճախականություններ: EGSM900 / DCS1800 երկշերտ, կամ GSM850 / 1900 կամ քառաշերտ
Զգայունություն:-107 դԲմ
Փոխանցման առավելագույն հզորությունը. EGSM900 Class4 (2W), DCS1800 Class1 (1W)
Պիկ ընթացիկ.
Աշխատանքային հոսանք. 210 մԱ
Քնի հոսանք. 2,5 մԱ
Աշխատանքային ջերմաստիճան.-40 ° C ... + 85 ° C
Աշխատանքային լարումը: 3.3V ... 4.5V (3.9V խորհուրդ է տրվում)
Արձանագրություններ: GSM / GPRS Phase2 / 2 +, TCP / IP, FTP, UDP և այլն:
Համացանց: GPRS ԴԱՍ 10
Տվյալների թերթիկ:

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

Նշում.Առանձին կարևոր կետ, իմ կարծիքով, ես կցանկանայի նշել. այս մոդուլները կարող են գալ ալեհավաքի կլոր կոաքսիալ միակցիչով, որը թույլ է տալիս առանձին պատվիրել ավելի լուրջ ալեհավաք և միացնել այն մոդուլին առանց դափի պարելու: Եվ նրանք կարող են գալ առանց այս միակցիչի: Սա այն դեպքում, երբ մենք խոսում ենք ամենաէժան հավաքածուների մասին: Եթե ​​դուք չեք ցանկանում ապավինել ֆլեյքին, ապա կան մի փոքր ավելի թանկ հավաքածուներ, որտեղ առկա է այս միակցիչը + փաթեթի մեջ ներառված է արտաքին ալեհավաք տեքստոլիտի տախտակի վրա:

Այս մոդուլը նաև քմահաճ է էլեկտրամատակարարումից առաջ, քանի որ իր գագաթնակետին այն սպառում է մինչև 2 Ա հոսանք, և հավաքածուի մեջ ներառված դիոդը կարծես թե նախատեսված է լարումը 5 Վ-ից իջեցնելու համար (այդ պատճառով էլ գրված է հենց 5 Վ տախտակի վրա: ) դեպի 4.2V, բայց դատելով ժողովրդի բողոքներից՝ ավելի շատ փորձանք է ստեղծում, քան լավ։
Ենթադրենք, դուք արդեն հավաքել եք այս մոդուլը, և դիոդի փոխարեն ցատկող է զոդվում, քանի որ մենք չենք պատրաստվում այն ​​մատակարարել 5 Վ լարմամբ, այլ այն սնուցելու ենք անմիջապես լիթիումի մարտկոցից, որը գտնվում է միջակայքի սահմաններում։ 3.3-4.2V թույլատրելի լարումներ:
Անհրաժեշտ կլինի ինչ-որ կերպ միացնել այն համակարգչին և ստուգել գործունակությունը: Այս դեպքում ավելի լավ է ինքներդ ձեզ նախապես գնել - դրա միջոցով մենք կշփվենք մոդուլի հետ և Arduino տախտակներ UART (USART) սերիական ինտերֆեյսի միջոցով:
Կապը ներկայացված է ստորև նկարում (ես նկարել եմ այն, ինչպես կարող եմ).
TX մոդեմ >>> RX փոխարկիչ
RX մոդեմ<<< TX конвертера
Battery Plus - Modem Plus
Լիթիումի մարտկոցի մինուսը համակցված է մոդեմի GND-ի և փոխարկիչի GND-ի հետ
Մոդեմը գործարկելու համար BOOT փին կիրառեք 4,7 կՕհմ ռեզիստորի միջոցով GND-ի վրա


Միևնույն ժամանակ, գործարկեք ծրագիրը համակարգչով: Ուշադրություն դարձրեք պարամետրերին.
1) Ընտրեք COM պորտը, որին միացված է TTL փոխարկիչը, իմ դեպքում դա COM4 է, դուք կարող եք ունենալ այլ մեկը:
2) Ընտրեք բուդի արագությունը: (Այստեղ մի նրբերանգ կա, քանի որ մոդուլներն իրենք կարող են կազմաձևվել տարբեր արագությունների համար, ամենից հաճախ՝ 9600 baud կամ 115200 baud: Այստեղ դուք պետք է ընտրեք էմպիրիկորեն՝ ընտրելով որոշակի արագություն, միացնելով և ուղարկելով AT հրամանը, եթե կոտրիչները ի պատասխան գան: , այն կանջատվի, կընտրի այլ արագություն և կկրկնի հրամանը և այդպես շարունակ, մինչև ստանաք լավ պատասխան):
3) Ընտրեք փաթեթի երկարությունը (այս դեպքում՝ 8 բիթ), հավասարության բիթն անջատված է (ոչ մեկը), կանգառը (1):
4) Համոզվեք, որ ստուգեք վանդակը + CR, և այնուհետև վագոն վերադարձի նիշը ինքնաբերաբար կավելացվի յուրաքանչյուր հրամանին, որը մենք ուղարկում ենք մոդուլին վերջում. մոդուլը հրամանները հասկանում է միայն այս նիշով վերջում:
5) Միացում, այստեղ ամեն ինչ պարզ է, մենք սեղմեցինք և կարող ենք աշխատել մոդուլի հետ:

Եթե ​​սեղմեք «Միացեք» և այնուհետև գործարկեք մոդուլը՝ կիրառելով BOOT 4.7K ռեզիստորի միջոցով գետնին, ապա տերմինալը նախ կցուցադրի «MODEM: STARTUP» հաղորդագրությունը, ապա որոշ ժամանակ անց «+ PBREADY» մակագրությունը: ինչը նշանակում է, որ հեռախոսահամարը կարդացվել է: Գիրք, թեև այն կարող է դատարկ լինել.

Այս spoiler AT հրամանի ներքո օրինակներով

Մենք տպում ենք AT հրամանը - ի պատասխան, մոդուլը մեզ ուղարկում է մեր հրամանը, քանի որ արձագանքման ռեժիմը միացված է, և OK.

Եկեք ստուգենք մոդեմի կարգավիճակը AT + CPAS հրամանով - ի պատասխան, մեր հրամանը կրկին + CPAS է՝ 0 և OK։
0 - նշանակում է, որ մոդուլը պատրաստ է շահագործման, բայց կախված իրավիճակից, կարող են լինել այլ թվեր, օրինակ՝ 3՝ մուտքային զանգ, 4՝ միացման ռեժիմում, 5՝ քնի ռեժիմ։ 1-ի և 2-ի մասին տեղեկություն չգտա։

UART-ի վրա տվյալների փոխանցման արագությունը փոխելը կատարվում է AT + IPR = 9600 հրամանով. սա այն դեպքում, եթե արագությունը 9600 է: Եթե որևէ այլ, ապա դա նման է օրինակ AT + IPR = 19200 կամ AT + IPR = 115200:

Եկեք ստուգենք ցանցի ազդանշանը: AT + CSQ, պատասխանը գալիս է + CSQ: 22.1 - տասնորդական կետի արժեքը ունի 0 ... 31 (115 ... 52dBl) միջակայք - սա ազդանշանի մակարդակն է, որքան շատ, այնքան լավ: Բայց 99 նշանակում է նրա բացակայությունը։ Տասնորդական կետից հետո արժեքը ազդանշանի որակն է 0 ... 7 - այստեղ արդեն հակառակն է, որքան ցածր է թիվը, այնքան լավ:

Անջատեք echo ռեժիմը՝ ուղարկելով ATE0 հրամանը, որպեսզի կրկնօրինակ հրամանները չխանգարեն: Հակառակը, այս ռեժիմը միացված է ATE1 հրամանով:

Դիտեք որոնվածի տարբերակը AT + GETVERS



Այս և շատ այլ հրամաններ կարելի է դիտել

Հարթեցման տախտակներ

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

Հետագայում ես ստիպված էի մեկ այլ անցք բացել, իմ դեպքում «I» տառի վրա, որտեղ գրված է «Made In China», տախտակի եզրին։


Պարզվեց, որ ավելացված կոնտակտը, որն ըստ էության GND է, տեղակայվել է Pro Mini տախտակի GND-ի կողքին, և այդպիսով հնարավոր է դարձել միավորել GSM մոդուլի հիմքը և Pro Mini-ն մի կաթիլ զոդման հետ (երկար. քորոց մեջտեղում և դրա աջ կողմում Pro Mini քորոցն է) - ես դրանք նշել եմ սլաքներով: Իհարկե, մի փոքր ծուռ ստացվեց, բայց հիմա այն հուսալիորեն պահվում է.



Տախտակների միջև որոշ տեղ է մնացել. դրա մեջ ես դրեցի լիթիումի լիցքավորման կառավարման տախտակ նախապես զոդված microUSB միակցիչով և զոդված լարերով:

Շարֆը շատ ամուր է տեղավորվում այնտեղ, մինչդեռ կողքից լուսադիոդների փայլը հստակ տեսանելի կլինի պատյանի փոքրիկ անցքից:



PCB կանգնած

Գործի ներսում տախտակն ապահով կերպով ամրացնելու համար ես ստիպված էի մի քանի օր անցկացնել՝ մտածելով, թե ինչպես դա կարող է իրականացվել: Տաք հալման սոսինձով տարբերակը չի դիտարկվել մի քանի պատճառներով՝ այն կարող է ընկնել, դեֆորմացվել, և որ ամենակարևորը կառուցվածքը դժվար կլինի ապամոնտաժել:
Ես եկել եմ այն ​​մտքին, որ այստեղ ամենապարզ և ամենաճիշտ տարբերակը դարակաշարերի օգտագործումն է լինելու, ինչը, իհարկե, ես չունեի։ Այնուամենայնիվ, կային մի քանի չաշխատող լիցքավորիչներ, որտեղից կտրվել էր մեկ երկար դարակ՝ ինքնակպչուն պտուտակների համար թելով։ Յուրաքանչյուր կանգառը սղոցվեց կիսով չափ և ավարտվեց ֆայլով մինչև մոտ 9,5 մմ - հենց այս բարձրության վրա է, որ տախտակի տակ գտնվող մարտկոցը բավարար լուսանցք ունի, մոտ 2 մմ, դա արվում է այնպես, որ տախտակի զոդված կոնտակտները չդիպչեն: այն իրենց ծայրերով և այնպես, որ դրանց միջև հնարավոր լինի ամրացման համար փրփուր ռետինե կտոր մտցնել։
Ինչ վերաբերում է տախտակն անմիջապես պատյանին ամրացնելուն, ապա այստեղ ես սուրճի տուփից կտրեցի չորս շերտ, որոնց ծայրերում անցք բացեցի, հետո ամրացրեցի նույն պտուտակների վրա, որոնք պտտվել էին դարակների մեջ։ Ստորև՝ լուսանկարում, տեսեք, թե ինչպես է այն։
Հաջորդ քայլը տախտակի մյուս կողմում, այսինքն՝ վերևից մի քանի դարակ պտուտակելն է, որպեսզի պատյանը փակելիս կափարիչը մի փոքր հենվի այս դարակների վրա՝ ստեղծելով լրացուցիչ ամրացում։ Քիչ անց, այս գործով, սովետական ​​քարոզչական ռադիոյի տակից (եթե ավելի շուտ գտնվեր, բոլոր դարակները այստեղից կվերցնեի), հանդիպեցի մի դիակի, որտեղից գտա մի երկու բարձրությամբ քիչ թե շատ հարմար. բայց սկզբում ես դրանք փորեցի կենտրոնում՝ փորվածքով ինքնահպման պտուտակների տակ։ Այնուհետև կտրեց դրանք, ինչպես նաև ֆայլով ավարտեց՝ հեռացնելով ավելցուկը։ Այստեղ ես ստացա մեկ նրբություն. լուսանկարում դուք կարող եք տեսնել, որ մի սպիտակ ստենդը ծայրից պտտվում է getinax տախտակի վրա, իսկ մյուսը սպիտակը ուղղակիորեն մոդուլի տախտակի վրա, քանի որ Մոդեմի տախտակի մի եզրից ամբողջությամբ ծածկում է ստորին տախտակը, իսկ հակառակ եզրից, ընդհակառակը, ստորինը նայում է դուրս: Միևնույն ժամանակ, երկու տախտակներում էլ անհրաժեշտ էր լրացուցիչ անցքեր փորել, որպեսզի ինքնակպչուն պտուտակների գլխարկներն ազատ անցնեն։
Եվ վերջապես, մնում է համոզվել, որ տախտակը միշտ զուգահեռ է գործին. փակագծերը, որոնք օգտագործվում են լարերն ու մալուխները պատին ամրացնելու համար, հիանալի տեղավորվում են այս գործի համար, ես նախկինում հանել եմ մեխերը դրանցից: Փակագծերը գոգավոր կողմով առանց հավելյալ սարքերի լավ կպչում են տախտակին, միակ բանը SIM քարտից աջ է, փակագծի լայնությունը չափազանց մեծ է ստացվել և պետք է նաև ավազով քսել։
Բոլոր մանրամասները ճշգրտվել են աչքով և էմպիրիկ կերպով՝ վերը նշված բոլորի լուսանկարի տակ.



Միակցիչներ. LED-ներ. Կոճակ.

Քանի որ սանրը վերջացել էր, ես ստիպված էի ապամոնտաժել 6-փին միակցիչը DVD սկավառակի տախտակից, որը ես այնուհետև զոդեցի Pro Mini-ին, սա տախտակը թարթելու հարմարության համար է: Մոտակայքում ես զոդեցի կլոր միակցիչ (Nokia 3,5 մմ) լիթիում լիցքավորելու համար:

6-փին միակցիչի կորպուսը մի փոքր ավարտված էր ֆայլով, քանի որ դրա ծայրերը մի փոքր դուրս էին ցցվել մարմնից վեր: Լիցքավորման վարդակը հիանալի տեղավորվում է պատյանի պատին:

Տախտակի մյուս կողմում ես զոդեցի կոճակը՝ սարքը վերագործարկելու համար և երկու LED՝ որոնվածը վրիպազերծելու համար. կարմիր LED-ը միացված է GSM մոդուլին, երկրորդ կանաչ լուսադիոդը Pro Mini-ի 10-րդ կապին. ինձ համար ավելի հեշտ է: այն օգտագործելով ծրագիրը կարգաբերելու համար:

Մարտկոցի կատարելագործում

Nokia-ի հեռախոսների հարթ Nokia մարտկոցը ոչ պակաս տարածված է, քան 18650-ը, բայց շատերը պարզապես հրաժարվում են օգտագործել այն կոնտակտները միացնելու անհարմարության պատճառով, որոնք խրված են հենց մարտկոցի մեջ: Անցանկալի է դրանք զոդել, ուստի որոշվեց օգտագործել դրանց առաջարկած մեթոդը, այն է՝ գրենական պիտույքների ռետինից և պղնձե մետաղալարից (1,5 մմ հաստությամբ) տերմինալային բլոկ պատրաստել:
Նախ, ես ծակեցի մի կտոր ռետին երկու լարով, նախապես քերված ծայրերով և դրեցի այն մարտկոցի կոնտակտների վրա, որպեսզի նրանց միջև հեռավորությունը համընկնի,
Ես ծալեցի ծայրերը, այն կաղապարեցի զոդման երկաթով և մի փոքր ետ քաշեցի երկար ծայրերով, որպեսզի ստացված կոնտակտները մխրճվեն ռետինի մեջ։



Տեղադրում մարտկոցի վրա.

Դուք կարող եք ամրացնել տերմինալային բլոկը ռետինե ժապավենով կամ փաթաթել այն կապույտ էլեկտրական ժապավենով, ինչը ես վերջում արեցի:

ժողով.

Աշխատանքի հիմնական մասն արված է, մնում է հավաքել ու ուղղել այդ ամենը։
Մարտկոցի և տախտակի միջև ես մի կտոր փրփուր ռետին եմ դրել, որպեսզի հետո այն չսողա պատյանի ներսը։ Ես լրացուցիչ զոդել եմ 2200 uF կոնդենսատոր՝ մոդուլը սնուցելու համար:

Երբ լիցքավորումը միացված է.

Շրջանակ. Արտաքին տերմինալային բլոկ:

Գործը ես ստացել եմ տեղական ռադիոյի շուկայում մոտ 1,5 դոլարով, եթե թարգմանվի դոլարով, 95x60x25 մմ չափերով, գրեթե ծխախոտի տուփի չափ: Ես դրա վրա մի քանի անցք բացեցի։ Նախ, 4-փին տերմինալային բլոկի համար, որը վերցված է անգործուն դիմերից:
Ես ամբողջովին ազատեցի երկու ծայրահեղ կոնտակտները պտուտակներից միջադիրներով, ավելի երկար պտուտակների համար անցքեր փորեցի, որոնց վրա ամբողջ տերմինալային բլոկը կպչվի մարմնի վրա: Բուն պատյանում, իհարկե, երկու ծայրահեղ անցքերը մեծ կլինեն, իսկ մեջտեղում գտնվող երկուսը ավելի փոքր են. դրանց միջով անցկացված կապանքներ կունենան, որոնցից մեկը միացված է VCC Pro Mini-ին, իսկ երկրորդը կապում է: 2.

Հորատման անցքեր, թեև առաջին հայացքից պարզ են, բայց դեռևս ոչ պակաս ժամանակատար են, այն շատ հեշտ է բաց թողնել, այնպես որ ես դա արեցի սկզբում ավելի փոքր հորատիչով, հետո ավելի մեծ:

Տակտի կոճակի համար ես ընտրել եմ մի փոքր գոգավոր վերևով գլխարկ, որպեսզի հարմար լինի այն լուցկիով կամ թղթի սեղմակով հարվածել պատյանի նեղ անցքից:

Տախտակ USB-TTL փոխարկիչով միացված պատյանում.

Ալեհավաքի մասին.
Ալեհավաքը, ինչպես դուք կարող եք նկատել ճանապարհին, անընդհատ փոխվում էր, քանի որ ես փորձարկում էի տարբեր տնական ալեհավաքներ: Սկզբում մոդուլի տախտակի վրա կար կլոր կոաքսիալ միակցիչ, բայց հինգերորդ անգամ այն ​​օգտագործվեց արտաքին ալեհավաքի համար, այն պարզապես քանդվեց, ուստի նկատի ունեցեք, որ այն անփույթ է: Արդյունքում ես հին երթուղղիչից պոկեցի PCB-ի ալեհավաքը և զոդեցի այն մոդուլի տախտակին, tk: այն մի փոքր ավելի լավ է բռնում ցանցը, քան զսպանակը և մետաղալարը:

Դե, միացված լիցքավորիչով ամբողջությամբ հավաքվածն այսպիսի տեսք ունի.

Փորձարկում. Ինչպես է դա աշխատում:

Ի լրումն ալեհավաքների թեստերի, ես ստուգեցի, թե ինչպես է իրեն պահելու ահազանգը փողոցում, սառնամանիքին -15: Դա անելու համար ես ուղղակի ներսը ամբողջությամբ դրեցի տարայի մեջ և գիշերը թողեցի պատշգամբում, ահազանգը միևնույն ժամանակ չէր սկսվում, պատճառն ընդհանուր առմամբ ակնհայտ էր՝ լիթիումը սառնամանիք չի սիրում։ Սա հաստատվեց մեկ այլ թեստով, որտեղ ես մարտկոցը թողեցի տանը, իսկ տախտակը երկար լարերի միջով բերեցի փողոց և մի օր թողեցի այնտեղ նույն սառնամանիքին՝ վիրահատությունը, կարծես ոչինչ չի եղել։ Մյուս կողմից, տարօրինակ կլիներ, եթե ահազանգը չաշխատեր։ atmega-ի տվյալների աղյուսակներում, մոդուլի համար, քվարցի համար - թույլատրելի աշխատանքային ջերմաստիճանները մինչև -40 աստիճան:

Գործողության սկզբունքը կազմակերպվում է արտաքին ընդհատումով, սկզբում 2-րդ քորոցը փակ է VCC-ի համար և այդպիսով տրամաբանական 1-ն ապահովվում է փինում, և վերահսկիչը քնում է: Հենց որ կոնտակտը կոտրվի և 0-ը հայտնվի պտուտակի 2-ի վրա, միկրոկոնտրոլերն արթնանում է, 3-րդ պինն իջեցնում է գետնին (որին մոդեմի BOOT-ը միացված է ռեզիստորի միջոցով) - մոդուլը միանում է, ԲԿ-ն պարբերաբար հարցում է անում մոդուլին: պատրաստակամության համար, իսկ ցանցը բռնելուն պես անմիջապես զանգ է ուղարկում կոդում նշված սեփականատիրոջ հեռախոսահամարին։ Զանգը մերժելուց հետո սարքն անջատվում է առանց ավելի շատ անվերջ զանգեր ուղարկելու, քան շատ չինական ահազանգեր:

լրացուցիչ տեղեկություն

#ներառում #ներառում // UART SoftwareSerial gsm ծրագրային ապահովման գրադարան (7, 6); // RX (7), TX (6) void wakeUp () () // դատարկ ընդհատման մշակիչ ////////////////////////// /////////////// void gsmOFF () (// PORTD | = (1<<3); // ВЫКЛЮЧЕНИЕ МОДУЛЯ _delay_ms(10); // gsm.println("AT+CPWROFF"); // ПЕЧАТАЕМ КОМАНДУ OFF PORTB &=~ (1<<2); // выключить LED 10 } // //========================================= void gsmON(){ // PORTD|=(1<<6); // 6-му порту (TX) назначить 1 PORTD &= ~(1<<3); // ЗАПУСК МОДУЛЯ _delay_ms(10); // while(!gsm.find("+PBREADY")); // ждём прочтения тел. книги PORTB |= (1<<2); // включить LED 10 _delay_ms(100); // while(1){ // gsm.println("AT+CREG?"); // проверяем в сети ли модуль if (gsm.find("0,1")) break; // если сеть есть, выходим из цикла _delay_ms(400); // проверка раз в 0,4 сек } // } // /////////////////////////////////////////// // void sleepNow(){ // функция засыпания ADCSRA = 0x00; // отключить подсистему АЦП (экономия 140 мкА) PORTD&=~(1<<6); // в вывод TX поставить 0 _delay_ms(100); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна PWR_DOWN sleep_enable(); // включение сна attachInterrupt(0, wakeUp, LOW); // включить прерывания sleep_mode(); // sleep_disable(); // detachInterrupt(0); // отключить прерывания } void setup(){ gsm.begin(9600); // скорость работы UART DDRD = B01001000; // 3-й и 6-й выводы на выход DDRB |= (1<<2); // вывод 10 на выход gsmON(); // запуск модуля для теста gsmOFF(); // выключаем модуль } void loop(){ if (!(PIND&(1<<2))){ // если на 0-ом прерывании появился 0 gsmON(); gsm.println("ATD+79xxxxxxxxx;"); // отзваниваемся, в ответ приходит OK и CONNECT _delay_ms(100); if (gsm.find("OK")) while(1){ // ожидание сброса вызова gsm.println("AT+CPAS"); // при каждой итерации опрашиваем модуль if (gsm.find("0")) break; // если 0, то выходим из цикла while _delay_ms(100); // проверка раз в 0,1 сек } for (char i=0; i<14; i++){ PORTB|=(1<<2); // LED 10 ON _delay_ms(200); PORTB&=~(1<<2); // LED 10 OFF _delay_ms(200); } gsmOFF(); // выключить модуль _delay_ms(10); while(1); // блокируем программу } else { sleepNow(); // укладываем контроллер спать } }

Միացում (առանց լիցքաթափման կառավարման տախտակի)



Եզրակացություններ և մտքեր. Պլաններ.

Ահազանգը օգտագործվում է երկրում, ես գոհ եմ աշխատանքից, սակայն AVR-ի հետագա ուսումնասիրությամբ ավելի ու ավելի շատ գաղափարներ են գալիս դրա հետագա փոփոխության համար։ Arduino-ն իր կեղծալեզու Wiring-ով ինձ շատ վրդովեցրեց, որովհետև աշխատանքի մեջ եղել է մեկ տհաճ պահ. Երբ ես օգտագործել եմ digitalWrite (); կամ pinMode (); - այնուհետև GSM մոդուլը ինչ-ինչ պատճառներով շատ հաճախ անջատեց հեռախոսը: Բայց արժեր դրանք փոխարինել DDRB-ի նման հրեշներով | = (1<Միայն նավահանգիստների անմիջական մուտքի գործարկումն է սարքին աշխատել այնպես, ինչպես նախատեսված էր:

Էներգախնայողություն...
Հավաքված սարքը չորս լրիվ ամիս աշխատել է առանց լիցքավորման և շարունակում է աշխատել, թեև ավելի ճիշտ կլինի ասել «քնիր»։ Սա ստուգվում է սպիտակ կոճակի միջոցով պարզ վերագործարկման միջոցով: 250 μA էներգիայի սպառումով (LE33 կայունացուցիչի միջոցով) և ~ 1430 մԱժ մարտկոցով, թեև նորմալ է, մարտկոցի ոչ նորամուծության պատճառով մենք կլորացնում ենք մինչև 1000 մԱ/ժ, պարզվում է, որ սարքը կարող է քնել մոտ 5,5: ամիսներ առանց վերալիցքավորման: Եթե, այնուամենայնիվ, գոլորշիացնեք կայունացուցիչը, ապա շահագործման ժամանակը կարող է ապահով կերպով բազմապատկվել 10 անգամ: Բայց իմ դեպքում դրա կարիքը չկա, քանի որ դեռ պետք է SIM քարտից մնացորդը ծախսել երեք ամիսը մեկ, միևնույն ժամանակ սարքը կարելի է ստուգել և լիցքավորել։
Վերանայման մեջ բերված էներգախնայողության օրինակը հեռու է սահմանից, քանի որ Դատելով տվյալների աղյուսակից ստացված տեղեկություններից՝ հնարավոր է միկրոկառավարիչի ժամացույցի հաճախականությունը (և դա արվում է ապահովիչներ տեղադրելով) մինչև 1 ՄՀց, և եթե կիրառեք 1,8 Վ լարում, ապա սպառումը կիջնի 1μA բարից ցածր։ ակտիվ ռեժիմ: Միանգամայն վատ չէ! Բայց եթե MC-ն ժամացույց է անում ներքին RC գեներատորից, ապա կհայտնվի մեկ այլ խնդիր՝ UART եթերը խցանված կլինի աղբով և սխալներով, հատկապես, եթե կարգավորիչը ջեռուցվում կամ սառչում է:

Ավարտին...
1) Բացի վրա տեղադրված սովորական մետաղալարն ամբողջովին հարմար չէ, ես նախատեսում եմ փորձարկել Hall սենսորով և եղեգի անջատիչով, չնայած վերջինիս մասին ասում են, որ այն այնքան էլ հուսալի չէ, քանի որ դրա ներսում կոնտակտները կարող են կպչել:
2) Լավ կլիներ ավելացնել «հիմնական համարը» փոխելու հնարավորությունը՝ առանց համակարգչի մասնակցության և թարթելու։ Սա արդեն պետք է աշխատի EEPROM-ի հետ:
3) Փորձեք ընդհատումներ Watchdog timer-ից, բայց ոչ միայն հետաքրքրության համար, այլ այնպես, որ միկրոկառավարիչը պարբերաբար արթնանա ինքնուրույն, չափի մարտկոցի լարումը և ուղարկի ստացված արժեքը SMS-ով, որպեսզի տեղյակ լինի, թե որքան է մարտկոցը լիցքաթափված է.
4) Արևային մարտկոցը կարող է ամբողջությամբ վերացնել սարքը վերալիցքավորելու անհրաժեշտությունը, դա տեղին կլինի հատկապես ցածր հզորությամբ մարտկոցների համար։
5) Երկար ժամանակ ես ուզում էի գնել LiFePo4 մարտկոցներ, որոնք, ըստ ակնարկների, նորմալ հանդուրժում են սառնամանիքը, բայց մինչ ես հարմար տեղ էի փնտրում, գարունն արդեն աննկատորեն եկել էր։
6) Աշխատեք էսթետիկ բաղադրիչի վրա

Ո՞ր Pro Mini-ն պետք է գնել:
Եթե ​​չկա վարսահարդարիչ, ապա Pro Mini «RobotDyn» Atmega168PA 3.3V, հանեք LED-ը սուր ինչ-որ բանով և ունեք ~ 250μA:
Եթե ​​դուք ունեք վարսահարդարիչ, ապա ցանկացած տախտակ, դուք զոդում եք կայունացուցիչը և հոսանքի լուսադիոդը, դուք ստանում եք ~ 20 μA ընթացիկ սպառում:

Առայժմ այսքանը, հուսով եմ, որ վերանայումը հետաքրքիր և օգտակար էր:

Նախատեսում եմ +174 գնել Ավելացնել ընտրյալների մեջ Ինձ դուր եկավ ակնարկը +143 +278

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

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

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

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

Մի քանի IR սենսորներ միացնելով Arduino-ին, մենք կարող ենք պարզ կողոպտիչ ազդանշան ստեղծել: Մենք սենսորները կտեղադրենք դռան շրջանակի վրա և ճիշտ դասավորելով սենսորները՝ մենք կարող ենք հայտնաբերել, երբ ինչ-որ մեկը անցնում է դռնով: Երբ դա տեղի ունենա, ազդանշանը IR սենսորի ելքի վրա կփոխվի, և մենք կհայտնաբերենք այս փոփոխությունը՝ անընդհատ կարդալով սենսորների ելքը Arduino-ով: Այս օրինակում մենք գիտենք, որ առարկան անցնում է դռնով, երբ 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-ը ազդանշանային ելքային կոճակ է, ինտ կոճակ = 4; // Pin 4-ը կոճակի անվավեր տեղադրման մուտքն է () (pinMode (զնգոց, OUTPUT); // սահմանել 3-րդ փին ելքային pinMode-ին (կոճակ, INPUT); // սահմանել փին 4-ը մուտքագրման համար) void loop () (/ / կարդալ երկու սենսորների արդյունքը և համեմատել արդյունքը շեմի հետ int sensor1_value = analogRead (A0); int sensor2_value = analogRead (A1); if (sensor1_value> 400 || sensor2_value> 400) (while (true) (digitalWrite (buzzer) , ԲԱՐՁՐ) ; // միացնել ահազանգը, եթե (թվային կարդալ (կոճակ) == ԲԱՐՁՐ) կոտրվել է;)) այլ կերպ (թվային գրել (զնգոց, ցածր); // անջատել ահազանգը))

Տեսանյութ

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

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

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

Սարքի շահագործման տեսանյութը

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

Եկեք սկսենք!

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

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

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

  • DIP միակցիչ atmega328 + atmega328 միկրոկառավարիչի համար;
  • 16 ՄՀց բյուրեղյա ռեզոնատոր;
  • 2 հատ. 22pF կերամիկա, 2 հատ. 0.22 uF էլեկտրոլիտիկ կոնդենսատոր;
  • 1 հատ. 10k ohm դիմադրություն;
  • հոսանքի վարդակից (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 ստեղնաշար:

Ձախից աջ.

  • Arduino-ի Pin1-ից A5 փին;
  • Arduino-ի Pin2-ից A4 փին;
  • Arduino-ի Pin3-ից A3 փին;
  • Arduino-ի Pin4-ից 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) պինդերի միջև պետք է միացված լինի 10 k ռեզիստորը:
  • 16 ՄՀց հաճախականությամբ բյուրեղը պետք է միացված լինի 9-րդ և 10-րդ կապին, պիտակավորված XTAL1 և XTAL2:
  • Միացրեք ռեզոնատորի յուրաքանչյուր լարը 22 pF կոնդենսատորներին: Առանց կապարի կոնդենսատորը տանում է միկրոկարգավորիչի 8-րդ պինդին (GND):
  • Հիշեք երկրորդ ATmega328 հոսանքի գիծը միացնել սնուցման աղբյուրին, 20-Vcc և 22-GND կապին:
  • Երկրորդ նկարում կարող եք գտնել լրացուցիչ տեղեկություններ միկրոկոնտրոլերի մինների մասին:
  • Եթե ​​նախատեսում եք օգտագործել 6 Վ-ից բարձր լարման սնուցման աղբյուր, դուք պետք է օգտագործեք գծային կարգավորիչ LM7805 և երկու 0,22 uF էլեկտրոլիտիկ կոնդենսատորներ, որոնք պետք է տեղադրվեն կարգավորիչի մուտքի և ելքի վրա: Դա կարեւոր է! Մի կիրառեք ավելի քան 6 Վ տախտակ !!! Հակառակ դեպքում դուք կվառեք ձեր Atmega միկրոկոնտրոլերը և LCD էկրանը:

Քայլ 5. Տեղադրեք շղթան պատյանի մեջ