Զարթուցիչի միացում 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 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 (կոճակ); // գաղտնի կոճակ
if (buttonState = = HIGH) ( // հետեւել մեր սեփականին - ուրիշինը
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 տախտակը ռետինե սալիկի հետ, ինչպես նաև տեղադրել ՌԴ ընդունիչ։


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


Եվ ձողիկներ:

Բարի օր Կրկին, չինական էլեկտրոնային բաղադրիչների բազմաբնույթ վերանայում, ինչպես միշտ, մի փոքր ամեն ինչի մասին, ես կփորձեմ ավելի կարճ լինել, բայց կստացվի՞: Այսպիսով, հանդիպեք 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 հրամաններ ՊԻՐՈՆ, PIR անջատված է. Զբաղված՝ 48% SRAM, 76% Flash հիշողություն:
GSM_2016_12_08-13-53.hex- Այժմ, հրամանի հաջող կատարումից հետո, որն ի պատասխան SMS հաղորդագրություն չի ուղարկում, սարքը մեկ անգամ թարթում է կապույտ լուսադիոդը: Այժմ, հրամանի սխալ կատարումից հետո, որն ի պատասխան SMS հաղորդագրություն չի ուղարկում, սարքը երկու անգամ թարթում է կապույտ լուսադիոդով: Այժմ, սարքի պարամետրերի սկզբնավորումից հետո, եթե «լուռ» ռեժիմը միացված է (SendSms = 0), սարքն արագորեն թարթում է կապույտ LED-ով 2 վայրկյան: Ուղղվել է սխալ, որի պատճառով համարը միշտ չէ, որ ջնջվել է հիշողությունից 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-ի բովանդակությունը հիմնական սենսորի համար (փին D0) «Զարթուցիչ! հիմնական սենսոր! և շարժման սենսոր (pin A0) «Զարթուցիչ. PIR սենսոր! Ավելացվել են EditSensor և I2CScan հրամանները: Զբաղված՝ 66% SRAM, 92% Flash հիշողություն:
GSM_2017_01_15-23-26.hex- Աջակցություն A6_Mini մոդեմին: Արտաքին էլեկտրամատակարարման առկայության վերահսկում (փին D7): Ավելացվել են SMS հրամաններ WatchPowerOn, WatchPowerOff: Ավելացվեց վահանակի հրամաններ ListConfig, ListSensor: Այժմ EditSensor sms հրամանը ճիշտ է աշխատում։ Նավահանգստի մոնիտորին վրիպազերծման տեղեկատվության թողարկումը փոքր-ինչ «կրճատվել է»: Զբաղված՝ 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- Շտկվել է «Դիտեք միացված հզորությունը» սխալը: Այժմ, զինաթափվելուց հետո, «զարթուցիչի քորոցը» անջատված է: Այժմ համարը ջնջելուց հետո վահանակում ցուցադրվում է ճիշտ տեղեկատվությունը։ Հավանաբար սխալ է շտկվել, որի պատճառով երբեմն ուղարկվել են դատարկ պատասխան SMS հաղորդագրություններ: Զբաղված՝ 66% SRAM, 90% Flash հիշողություն:
GSM_2017_02_14-00-03.hex- Այժմ, ըստ լռելյայն, ուղարկվում են SMS հաղորդագրություններ, SendSms պարամետրը կրկին հավասար է 1-ի: Այժմ, երբ հիմնական եղեգի անջատիչի կոնտակտները փակ են (դուռը փակ է), սարքը 2 վայրկյան թարթում է կապույտ LED-ը, ազդանշան տալով. սենսորի նորմալ աշխատանքը. Զբաղված՝ 66% SRAM, 90% Flash հիշողություն:
GSM_2017_03_01-23-37.hex- WatchPowerOn հրամանը հանվել է: Ավելացվեց «WatchPowerOff» վահանակի հրամանը, որը նույնական է SMS հրամանին: Ավելացվել են WatchPowerOn1, WatchPowerOn2 հրամաններ: WatchPowerOn1 - արտաքին էներգիայի մոնիտորինգը միացված է, եթե ահազանգը զինված է, WatchPowerOn2 - արտաքին էներգիայի մոնիտորինգը միշտ միացված է: Իրականացվել է արտաքին սարքերով զինելու և զինաթափելու գործառույթը, դրա համար օգտագործվում են A1(D15) և A2(D16) տերմինալները։ Զարթուցիչը կզինվի/զինաթափվի, երբ +5V-ը բարձր է A1(D15) կամ GND-ը ցածր է A2(D16) դեպքում: Pin A1(D15) ձգվում է մինչև GND, A2(D16) պինը՝ 20 (10) կՕհմ ռեզիստորների միջոցով: Ավելացվեցին GuardButtonOn և GuardButtonOff հրամանները: Այժմ, զինելուց հետո, կարմիր լուսադիոդը թարթում է այնքան ժամանակ, մինչև չստուգվի հիմնական եղեգի սենսորային շղթայի ամբողջականությունը: Եթե ​​միացումն ավարտված է, կարմիր լուսադիոդը վառվում է: Զբաղված՝ 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 վայրկյանը: Ավելացվեց SMS հրաման DelayBeforeAlarm, որը պատասխանատու է ծանուցումների ուղարկման հետաձգման և «տագնապային փին» միացնելու համար, երբ սենսորները գործարկվեն, արժեքը չի կարող գերազանցել 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 հրամանը փոխել է վերջին իրադարձության արժեքը: Այժմ վահանակի միջոցով հրամաններ մուտքագրելիս անհարկի 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» (Զանգ) նշանով համարներին: Արտաքին էներգիայի աղբյուրն անջատելու/միացնելու մասին հաղորդագրությունները կուղարկվեն հեռախոսահամարներին՝ «P» (Power) նշանով: Ավելացվեց 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 վայրկյան թարթում է կապույտ LED-ով՝ ազդանշան տալով սենսորի բնականոն աշխատանքին, մինչդեռ սարքը հաշվի չի առնվում, երբ սարքը զինված է կամ զինաթափված: 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 հրամանը փոխարինվել է ընդլայնված հրամաններով: Փոխեց Info հրամանի ելքը: Օպտիմիզացրել է ListConfig հրամանի ելքը դեպի վահանակ: Այժմ ցանկացած բարձր կամ ցածր մակարդակի թվային սենսորներ, ներառյալ եղեգի անջատիչները, կարող են միացված լինել D6 և A0 կապանքներին: D6 և A0 կապանքները պետք է քաշվեն գետնին (GND) 10 (20) կՕհմ դիմադրության միջոցով: Եթե ​​սենսորը սահմանված է շահագործման ցածր մակարդակի վրա (միացված է եղեգի անջատիչի ռեժիմում), ապա ստուգվում է միացման ամբողջականությունը: D6 և A0 (+5V կամ GND) մուտքերի աշխատանքի տրամաբանական մակարդակը կարող է փոխվել, տրամաբանական մակարդակը փոխելուց հետո սարքը ավտոմատ կերպով կվերագործարկվի: Սենսորներից յուրաքանչյուրի համար (հիմնական, երկրորդ, PCF ընդլայնման քարտեր), երբ գործարկվում է, կարող է սահմանվել որոշակի ժամանակ, որից հետո կկատարվի ծանուցում (sms և/կամ ձայնային զանգ): «PIR սենսորը» վերանվանվել է «Երկրորդ սենսոր»: Ուղղվել է ընդարձակման տախտակի աշխատանքը, սխալ, որի պատճառով սարքը միշտ ծանուցում էր սենսորների աշխատանքի մասին՝ անկախ նրանից՝ սարքը զինված էր, թե ոչ։ Այժմ դուք կարող եք ընտրել գործառնական ռեժիմը, որով սարքը կարող է վերահսկել ընդարձակման տախտակի սենսորները ինչպես զինված ռեժիմում (GuardOn), այնպես էլ անջատված ռեժիմում (GuardOff): Ավելացվեցին հրամաններ PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeBeforeBoreefDelay. Զբաղված՝ 68% SRAM, 99% Flash հիշողություն:

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


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

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

D6- եղեգի սենսոր: Սկսած GSM_2017_08_10-12-17.hex տարբերակից, ցանկացած թվային սենսորներ բարձր կամ ցածր արձագանքման մակարդակով, ներառյալ եղեգի անջատիչները, կարող են միացված լինել D6-ին: Pin D6-ը պետք է ձգվի դեպի գետնին (GND) 10 (20) կՕմ դիմադրության միջոցով:
D7- միացված է արտաքին +5V սնուցման լարման բաժանարարին: Վերին թևը 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- Ներածում արտաքին հսկողության համար: Զարթուցիչը միանում/զինվում է, երբ մուտքում հայտնվում է բարձր մակարդակ +5V:
A2- Շրջված մուտքագրում արտաքին հսկողության համար: Տագնապը միանում/զինվում է, երբ մուտքում հայտնվում է ցածր GND մակարդակ:

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

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


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

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

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



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

Ավելացնել Հեռախոս- թիմ
: - սահմանազատող
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): Լռելյայն ելքը կլինի բարձր +5V, քանի դեռ չի ստացվել արտաքին սարքի կառավարման հրամանը:
ExtDeviceLevelHigh- Արտաքին սարքը, որը միացված է ելքային A3-ին, կառավարվում է ազդանշանի բարձր մակարդակով (+5V): Արդյունքը լռելյայն կլինի GND ցածր, մինչև սարքի արտաքին կառավարման հրամանը չստացվի:

Վերականգնել սենսորը- վերականգնել պորտի ընդարձակողի սենսորների պարամետրերը

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

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

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

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

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

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

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

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

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

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

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

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 - նման է EditSensor sms հրամանին

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() ֆունկցիան առկա է կոդի մեջ, այն թարթում է կապույտ լուսադիոդով, ստեղծված է միայն 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); Զարթուցիչ (); // Մշակել լրացուցիչ սենսոր, եթե (BackDoorState == LOW && BackDoorFlag == 0) ( BackDoorFlag = 1; ուշացում (100); եթե (LedOn == 1) digitalWrite (GLed, LOW); Զարթուցիչ (); ) եթե (BackDoorState = = ԲԱՐՁՐ && BackDoorFlag == 1) ( BackDoorFlag = 0; ուշացում (100); ) ) ...

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

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

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

Վերջին հոդվածում մենք սովորեցինք, թե ինչպես օգտագործել SIM800L GSM մոդուլը և պատրաստեցինք բեռը հեռակա կարգով կառավարելու պարզ ձևավորում, այսօր մենք ավելի հետաքրքիր բան կանենք, մասնավորապես SIM800L մոդուլի վրա GSM անվտանգության ահազանգ Aliexpress-ից և Arduino-ից, որը կարող է լինել: օգտագործվում է բնակարան, քոթեջ, ավտոտնակ և այլ օբյեկտներ պաշտպանելու համար, և երբ այն գործարկվի, այն ձեզ կտեղեկացնի զանգով կամ SMS հաղորդագրությամբ:

Ինչ է մեզ անհրաժեշտ GSM ահազանգ ստեղծելու համար.

  • GSM/GPRS մոդուլ SIM800L;
  • Arduino Nano, UNO կամ այլ Arduino;
  • DC-DC փոխարկիչ;
  • Մարտկոց 3.7V;
  • Ռեզիստորներ 10 կ - 7 հատ;
  • Էներգաբլոկ.

Ինչպես պատրաստել կողոպուտի GSM ահազանգ SIM800L մոդուլի և Arduino-ի վրա, աշխատանքի նկարագրությունը.

Մենք միացնում ենք SIM800L մոդուլը, Arduino-ն, սենսորները և այլն, ըստ ստորև ներկայացված գծապատկերի, ամեն ինչ հավաքված է հացի տախտակի վրա, որպեսզի ցանկացած պահի կարողանաք ինչ-որ բան փոխել, այն տեղադրում ենք ցանկացած հարմար պատյանում և լարերը հանում պատյանից։ անվտանգության սենսորները և PSU-ին: Մարտկոցը նույնպես տեղադրում ենք պատյանի մեջ, այն անհրաժեշտ է, որպեսզի երբ տանը հոսանքազրկվի, սարքը մարտկոցից սնվող ինքնուրույն ռեժիմի անցնի։ Boost փոխարկիչի վրա մենք ելքը դրեցինք 4,2 վոլտ, այս լարման դեպքում աշխատում է GSM SIM մոդուլը և մարտկոցը լիցքավորվում է, և այս լարումը նույնպես բավարար է Arduino Nano-ի աշխատանքի համար:

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

Երբ առաջին սենսորը գործարկվում է, զանգ է կատարվում նշված համարին, այնուհետև զանգը դադարեցվում է և զանգ է կատարվում երկրորդ համարին, դա արվում է, եթե առաջին համարն այս պահին հասանելի չէ: Երբ մյուս 4 անվտանգության սենսորները գործարկվեն, ուղարկվում է միայն SMS հաղորդագրություն, որում գրված է գործարկված գոտու համարը կամ անունը, և այս հաղորդագրությունը նույնպես կուղարկվի երկու հեռախոսահամարի:

Էսքիզում «Ահազանգ! Zone1», «Ահազանգ. Zone2», «Ահազանգ. Zone3»… Կարող եք գրել այն օբյեկտի անունը, որտեղ տեղադրել եք կոնկրետ սենսոր, օրինակ՝ «Զարթուցիչ! Okno, ահազանգ! Դվերջ» և այլն, գոտու անվանումները գրել միայն լատիներեն։ Նաև էսքիզում սահմանվում է հետադարձ զանգի ժամանակը սեփականատիրոջը, այսինքն՝ քանի ժամից հետո ձեզ տեղեկացնել, որ ամբողջ համակարգը աշխատում է և ամեն ինչ կարգին է, լռելյայն կարգադրված է հետ կանչել 144 ժամը մեկ։

Վերջ, մենք պատրաստեցինք պարզ GSM կողոպտիչ ահազանգ SIM800L մոդուլի և Arduino-ի վրա, էսքիզը և սխեման կարող են բարելավվել, օրինակ՝ SIM800L մոդուլն աջակցում է դրան բարձրախոս և խոսափող միացնելու հնարավորությունը, ինչը թույլ կտա լսել։ դեպի պահպանվող տարածք, ինչպես նաև ձեր ձայնը հասցրեք բարձրախոսին։

Ներբեռնեք էսքիզ Arduino-ի համար:

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

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

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

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

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

Տեխնիկական պայմաններ:
Միկրոկառավարիչ: ATmega168PA
Գործող լարումը ուղղակի..8 - 5.5 Վ
Գործող լարումը LE33 կայունացուցիչի միջոցով. 3.3 Վ կամ 5 Վ (կախված մոդելից)
Աշխատանքային ջերմաստիճան.-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
DC հոսանք մուտքի/ելքի միջոցով. 40 մԱ
Ֆլեշ հիշողության: 16 ԿԲ (2 օգտագործվում է bootloader-ի համար)
RAM: 1 Կբ
EEPROM: 512 բայթ
Հիշողության գրման/ջնջման ռեսուրս. 10000 Flash/100000 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-րդ ատմեգան:
Այնուամենայնիվ, ես ստիպված էի ջարդել նման տախտակ գտնելու համար, քանի որ շատ հաճախ բոլոր լոտերը հեղեղվում էին 328 ատմեգաներով 16 ՄՀց հաճախականությամբ, որոնք աշխատում էին 5 Վ-ից: Իմ նախագծի համար նման բնութագրերը հենց սկզբից ավելորդ էին և անհարմար, որոնումը դարձավ ավելի բարդ։
Արդյունքում ես eBay-ում հանդիպեցի Pro Mini-ի 3,3 վոլտանոց տարբերակին Atmega 168PA-ով, և ոչ միայն չինական, այլ RobotDyn ապրանքանիշով ռուս ծրագրավորողի կողմից: Այո, ես նույնպես սկզբում, ինչպես դուք, կասկածի հատիկ ունեի։ Բայց ապարդյուն։ Երբ նախագիծն արդեն հավաքվել էր, և AliExpress-ը ներկայացրեց պարտադիր վճարովի առաքում էժան ապրանքների համար (որից հետո ծանրոցները սկսեցին շատ ավելի հաճախ կորցնել), այնուհետև ես պատվիրեցի սովորական Pro Mini Atmega168 (առանց PA) 3.3V 8MHz: Ես մի փոքր փորձարկեցի էներգախնայողության ռեժիմները երկու տախտակներով, յուրաքանչյուրի մեջ թարթելով հատուկ ուրվագիծ, որը միկրոկառավարիչը ընկղմեց առավելագույն էներգիայի խնայողության ռեժիմում, և ահա թե ինչ եղավ.
1) Arduino Pro Mini «RobotDyn»: ~ 250 uA
2) Arduino Pro Mini «No Name»:երբ էլեկտրաէներգիան մատակարարվում է լարման կարգավորիչին (RAW ելք) և LED- ը զոդված է, ընթացիկ սպառումը ~ 3,92 մԱ




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


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


Ես այն չեմ զոդել, ուստի չեմ կարող ասել, թե որքան հոսանք է սպառում Atmega168PA-ն իր մաքուր տեսքով: Այս դեպքում ես ունեի ~ 250 uAերբ սնուցվում է Nokia-ի լիթիումի մարտկոցով: Այնուամենայնիվ, եթե AMS1117-ը հանում եք մոսկովյան տախտակի NoName-ով, ապա ATmega168-ը սովորական է, իր մաքուր տեսքով, ինչպես ասացի վերևում, սպառում է: 20 uA.
Էլեկտրաէներգիայի 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 մոդուլը, որը կարելի է գտնել շուկայում, սովորաբար օգտագործված է, որը զոդված է ոչ միշտ ճարտար չինական ձեռքերով սարքավորումներից: Ինչու ոչ միշտ խելացի: Այո, ամեն ինչ վարսահարդարիչով զոդման պատճառով - հաճախ այս մոդուլները գալիս են կարճ պլյուս և մինուս ունեցող մարդկանց մոտ, ինչը նրանց անգործունակության պատճառներից մեկն է: Հետեւաբար, առաջին քայլը կարճ միացման համար հոսանքի կոնտակտների զանգն է:

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

Այս մոդուլը նաև քմահաճ է էլեկտրամատակարարումից առաջ, քանի որ իր գագաթնակետին այն սպառում է մինչև 2A հոսանք, իսկ դիոդը, որը գալիս է հանդերձանքի հետ, կարծես թե նախատեսված է լարումը 5V-ից իջեցնելու համար (այդ պատճառով էլ գրատախտակի վրա գրված է 5V): ) դեպի 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) Միացում, այստեղ ամեն ինչ պարզ է, սեղմված, և մենք կարող ենք աշխատել մոդուլի հետ:

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

Այս սփոյլերի ներքո 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 ... 52 դԲ) միջակայք - սա ազդանշանի մակարդակն է, որքան շատ, այնքան լավ: Բայց 99-ը նշանակում է դրա բացակայությունը։ Տասնորդական կետից հետո արժեքը՝ ազդանշանի որակը 0 ... 7, այստեղ հակառակն է, որքան փոքր է թիվը, այնքան լավ:

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

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



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

Տախտակի համակցություն

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

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


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



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

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



Տախտակի դարակաշարեր

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



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

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

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

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

Մարտկոցի արդիականացում

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



Մարտկոցի օրինակ.

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

ժողով.

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

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

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

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

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

Ժամացույցի կոճակի համար ես վերցրեցի մի կափարիչ՝ մի փոքր գոգավոր վերևով, որպեսզի պատյանի նեղ անցքից հարմար լիներ այն հարվածել լուցկիով կամ թղթի սեղմակով։

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

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

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

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

Բացի ալեհավաքներով թեստերից, ես ստուգեցի, թե ինչպես է տագնապը վարվելու փողոցում, սառնամանիքին -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();ports-ի հետ աշխատելու համար; կամ pinMode(); - այնուհետև GSM-մոդուլը ինչ-ինչ պատճառներով շատ հաճախ անջատում էր հեռախոսը: Բայց արժեր դրանք փոխարինել DDRB-ի նման հնարքներով|=(1<Միայն նավահանգիստների անմիջական մուտքի գործարկումն է սարքը աշխատեցնում այնպես, ինչպես նախատեսված էր:

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

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

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

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

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

 
Հոդվածներ Ըստթեմա:
Ջրհոսի աստղագուշակը մարտի դ հարաբերությունների համար
Ի՞նչ է ակնկալում 2017 թվականի մարտը Ջրհոս տղամարդու համար: Մարտ ամսին Ջրհոս տղամարդկանց աշխատանքի ժամանակ դժվար կլինի։ Գործընկերների և գործընկերների միջև լարվածությունը կբարդացնի աշխատանքային օրը։ Հարազատները ձեր ֆինանսական օգնության կարիքը կունենան, դուք էլ
Ծաղրական նարնջի տնկում և խնամք բաց դաշտում
Ծաղրական նարինջը գեղեցիկ և բուրավետ բույս ​​է, որը ծաղկման ժամանակ յուրահատուկ հմայք է հաղորդում այգուն: Այգու հասմիկը կարող է աճել մինչև 30 տարի՝ առանց բարդ խնամքի պահանջելու: Ծաղրական նարինջը աճում է բնության մեջ Արևմտյան Եվրոպայում, Հյուսիսային Ամերիկայում, Կովկասում և Հեռավոր Արևելքում:
Ամուսինը ՄԻԱՎ ունի, կինը առողջ է
Բարի օր. Իմ անունը Թիմուր է։ Ես խնդիր ունեմ, ավելի ճիշտ՝ վախ խոստովանել ու կնոջս ասել ճշմարտությունը։ Վախենում եմ, որ նա ինձ չի ների և կթողնի ինձ։ Նույնիսկ ավելի վատ, ես արդեն փչացրել եմ նրա և իմ աղջկա ճակատագիրը: Կնոջս վարակել եմ վարակով, կարծում էի անցել է, քանի որ արտաքին դրսևորումներ չեն եղել
Այս պահին պտղի զարգացման հիմնական փոփոխությունները
Հղիության 21-րդ մանկաբարձական շաբաթից հղիության երկրորդ կեսը սկսում է իր հետհաշվարկը։ Այս շաբաթվա վերջից, ըստ պաշտոնական բժշկության, պտուղը կկարողանա գոյատևել, եթե ստիպված լինի լքել հարմարավետ արգանդը։ Այս պահին երեխայի բոլոր օրգաններն արդեն սֆո են