Arduino miyalari bilan byudjet GSM signalizatsiyasi. Uy signalizatsiyasi yoki harakat sensori va Arduino bilan LCD monitordan foydalanish Batafsilroq videoda

Arduino miyalari bilan byudjet GSM signalizatsiyasi.  Uy signalizatsiyasi yoki harakat sensori va Arduino bilan LCD monitordan foydalanish Batafsilroq videoda
Arduino miyalari bilan byudjet GSM signalizatsiyasi. Uy signalizatsiyasi yoki harakat sensori va Arduino bilan LCD monitordan foydalanish Batafsilroq videoda

Hayrli kun! Yana xitoy tilining ko'p qirrali sharhi elektron komponentlar, odatdagidek, hamma narsa haqida bir oz, men uni qisqa tutishga harakat qilaman, lekin u ishlaydi? Shunday qilib, narxi 700 ₽ gacha bo'lgan GSM signalizatsiya tizimini kutib oling. Qiziqmi? Iltimos, "kesish" dan foydalaning!

Qani boshladik! Ishni boshlashdan oldin, men buni ko'rib chiqishni maslahat beraman, kamroq komponentlar va katta avtonomiya. Shunday qilib, "texnik spetsifikatsiyalar", signalizatsiya uchun asosiy talablar:

1) Sensorlar ishga tushganda xabar bering.
2) Elektr uzilib qolgan taqdirda, ba'zi avtonomiyalar ta'minlanishi kerak.
3) SMS va qo'ng'iroqlar orqali signalni boshqarish.

Signalni yaratish jarayoni bir necha oy davom etganligi va ba'zi sotuvchilar ulardan sotib olingan komponentlarni endi sotmaganligi sababli, havolalar maksimal yoki yaqin bo'lgan boshqa sotuvchilarning mahsulotlariga yangilanadi. maksimal raqam mahsulot sotish va eng yaxshi narx. Sharhdagi narxlar u yozilgan sanada mavjud.

Sizga kerak bo'lgan narsalar ro'yxati:

O'zgarishlar ro'yxati

GSM_03_12_2016-14-38.hex- M590 modem bilan qurilmaning sobit ishlashi.
GSM_05_12_2016-13-45.hex- operativ xotiradan foydalanishni optimallashtirish uchun memtest konsoli buyrug'i qo'shildi.
GSM_2016_12_06-15-43.hex- konsolga buyruq natijalarining qo'shilishi, xotirani optimallashtirish. Band: 49% SRAM.
GSM_2016_12_07-10-59.hex- endi telefon raqamlari to'g'ri qo'shildi va o'chirildi. Band: 49% SRAM, 74% Flash xotira.
GSM_2016_12_07-15-38.hex- harakat sensorini ulash, A0 piniga ulanish imkoniyati qo'shildi (in Ushbu holatda A0 pin raqamli sifatida ishlatiladi). SMS buyruqlar qo'shildi PIRON, PIROff. Band: 48% SRAM, 76% Flash xotira.
GSM_2016_12_08-13-53.hex- Endi javob sifatida SMS xabar yubormaydigan buyruq muvaffaqiyatli bajarilgandan so'ng, qurilma ko'k LEDni bir marta miltillaydi. Endi, javob sifatida SMS xabar yubormaydigan buyruq noto'g'ri bajarilgandan so'ng, qurilma ko'k LEDni ikki marta miltillaydi. Endi, qurilma parametrlarini ishga tushirgandan so'ng, "jim" rejimi yoqilgan bo'lsa (SendSms = 0), qurilma ko'k LEDni 2 soniya davomida tez-tez miltillaydi. DeletePhone buyrug'i yordamida raqam har doim ham xotiradan o'chirilmaydigan xatolik tuzatildi. Band: 48% SRAM, 78% Flash xotira.
GSM_2016_12_11-09-12.hex- AddPhone va DeletePhone konsol buyruqlari qo'shildi, sintaksisi SMS buyruqlariga o'xshaydi. Xotirani optimallashtirish. Band: 43% SRAM, 79% Flash xotira.
GSM_2017_01_03-22-51.hex- PCF8574 chipidagi shunga o'xshash I/U port kengaytirgichlari uchun qo'shimcha 8 ta sensorni, shu jumladan reed kalitlarni ulash uchun qo'llab-quvvatlash amalga oshirildi. Avtomatik manzil qidirish va avtomatik sozlash modul. Sensorlarning standart nomlari va ularning javoblarining mantiqiy darajasi EditSensor buyrug'i yordamida o'zgartiriladi. Asosiy sensor (D0 pin) uchun signal SMS mazmuni o'zgartirildi: “Signal! Asosiy sensor! va harakat sensori (pin A0) “ Signal! PIR sensori! EditSensor va I2CScan buyruqlari qo'shildi. Ishg'ol qilingan: 66% SRAM, 92% Flash xotira.
GSM_2017_01_15-23-26.hex- A6_Mini modemini qo'llab-quvvatlash. Mavjudlikni nazorat qilish tashqi quvvat manbai(pin D7). Qo'shilgan SMS buyruqlari WatchPowerOn, WatchPowerOff. ListConfig, ListSensor konsol buyruqlari qo'shildi. Endi EditSensor SMS buyrug'i to'g'ri ishlaydi. Nosozliklarni tuzatish ma'lumotlarining port monitoriga chiqishi biroz qisqartirildi. Ishg'ol qilingan: 66% SRAM, 95% Flash xotira.
GSM_2017_01_16-23-54.hex- Endi "Info" SMS buyrug'iga javob xabarida harakat sensori holati ham xabar qilinadi. Ba'zan bo'sh javob SMS xabarlari yuborilgan xatolik tuzatildi. Endi qurilma nafaqat o'chirish haqida, balki tashqi quvvatni qayta tiklash haqida ham xabar beradi. Barcha modemlar kamroq gaplasha boshladilar va endi port monitori biroz tozalandi. Ishg'ol qilingan: 66% SRAM, 95% Flash xotira.
GSM_2017_02_04-20-23.hex- “Quvvatni yoqish” xatosi tuzatildi. Endi, o'chirilgandan so'ng, "signal pin" o'chiriladi. Endi, raqamni o'chirib tashlaganingizdan so'ng, konsolda to'g'ri ma'lumot ko'rsatiladi. Ba'zida bo'sh javob SMS xabarlari yuborilgan xatolik tuzatilgan bo'lishi mumkin. Band: 66% SRAM, 90% Flash xotira.
GSM_2017_02_14-00-03.hex- Endi SMS xabarlar sukut bo'yicha yuboriladi, SendSms parametri yana 1 ga teng bo'ladi. Endi asosiy qamish sensorining kontaktlari yopilganda (eshikni yopadi), qurilma 2 soniya davomida ko'k LED bilan miltillaydi, signal beradi. normal ishlash Sensor Band: 66% SRAM, 90% Flash xotira.
GSM_2017_03_01-23-37.hex- WatchPowerOn buyrug'i olib tashlandi. SMS buyrug'i bilan bir xil bo'lgan WatchPowerOff konsol buyrug'i qo'shildi. WatchPowerOn1, WatchPowerOn2 buyruqlari qo‘shildi. WatchPowerOn1 - signal o'rnatilgan bo'lsa, tashqi quvvat monitoringi yoqiladi, WatchPowerOn2 - tashqi quvvat monitoringi har doim yoqilgan. Qurollash va qurolsizlantirish funktsiyasi amalga oshirildi tashqi qurilmalar, buning uchun A1(D15) va A2(D16) pinlari ishlatiladi. Signal A1 (D15) pinida paydo bo'lganda o'chiriladi/o'chiriladi. yuqori daraja+5V yoki A2 (D16) pinida past daraja GND. A1 (D15) pin GND gacha tortiladi, pin A2 (D16) +5V dan 20 (10) kOhm rezistorlargacha tortiladi. GuardButtonOn va GuardButtonOff buyruqlari qo'shildi. Endi, qurollangandan so'ng, qizil LED asosiy reed kaliti sxemasining yaxlitligi tekshirilgunga qadar yonadi. Agar sxema buzilmagan bo'lsa, qizil LED yonadi. Ishg'ol qilingan: 66% SRAM, 95% Flash xotira.
GSM_2017_03_12-20-04.hex- Endi konsol yanada toza bo'ldi, lekin agar "TestOn" test rejimi yoqilgan bo'lsa, konsolda qo'shimcha ma'lumotlar ko'rsatiladi. “Yuborish!” Xatosi tuzatildi; "Qayta takrorlangan noto'g'ri qo'ng'iroq" xatosi tuzatildi. Endi balans so'rovi barcha modemlarda to'g'ri ishlashi kerak. Band: 67% SRAM, 95% Flash xotira.
GSM_2017_04_16-12-00.hex- Tuzatilgan. Endi Info va Money buyruqlari har doim javob SMS yuboradi. GuardButtonOn buyrug'i GuardButtonOn1 va GuardButtonOn2 buyruqlari bilan almashtirildi. Ishg'ol qilingan: 67% SRAM, 99% Flash xotira.
GSM_2017_04_21-09-43.hex - foydalanish tavsiya etilmaydi, faqat sinov maqsadlarida, xatolarni aniqlaganingiz uchun rahmat :) - Endi sendsms parametri elektr tarmog'i monitoringi uchun SMS xabarlarni yuborishga ta'sir qilmaydi. Qo'shilgan SMS buyrug'i DelayBeforeGuard qurollanish vaqtida kechikish uchun javobgardir, qiymat 255 soniyadan oshmasligi kerak. DelayBeforeAlarm SMS buyrug'i qo'shildi, u bildirishnomalarni yuborishni kechiktirish va sensorlar ishga tushirilganda "signal pinini" yoqish uchun javob beradi; ClearSMS buyruqlari olib tashlandi, xabarlar qabul qilingandan so'ng avtomatik ravishda o'chiriladi. Ishg'ol qilingan: 68% SRAM, 100% Flash xotira.
GSM_2017_04_22-20-42.hex- Bir nechta xatolar tuzatildi. ClearSMS buyruqlari yana proshivkada mavjud. Xotirani optimallashtirish. Band: 68% SRAM, 98% Flash xotira.
GSM_2017_04_23-17-50.hex- Endi balans so'rovi barcha modemlarda to'g'ri ishlashi kerak. Tashqi qurilmalar bilan qurollanish va o'chirish endi to'g'ri ishlaydi. Info buyrug'idan SMS-javob xabarlari bo'sh bo'lmasligi kerak. Xotirani optimallashtirish. Band: 68% SRAM, 98% Flash xotira.
GSM_2017_04_24-13-22.hex- Endi konsol buyruqlari yuborilmoqda GSM moduli faqat sinov rejimi yoqilgan bo'lsa amalga oshiriladi. Endi SMS buyruqlar va konsol buyruqlari o'rtasida bo'linish yo'q, barcha mavjud buyruqlar SMS orqali ham, konsol orqali ham uzatilishi mumkin. Info buyrug'idagi xatolik tuzatilgan bo'lishi mumkin. Xotirani optimallashtirish. Band: 68% SRAM, 94% Flash xotira.
GSM_2017_04_25-20-54.hex- ListConfig buyrug'i qiymatini o'zgartirgan xatolik tuzatildi oxirgi voqea. Endi konsol orqali buyruqlarni kiritishda keraksiz SMS xabarlar yuborilmaydi. Info buyrug'idagi xatolik tuzatilgan bo'lishi mumkin. Xotirani optimallashtirish. Band: 66% SRAM, 94% Flash xotira.
GSM_2017_04_30-12-57.hex- Chiqish vaqtinchalik yoqilgan Qo'shimcha ma'lumot SMS xabarlarni yuborishda va Info buyrug'iga javob yaratishda konsolga. Info buyrug'idagi xatolik tuzatilgan bo'lishi mumkin. Xotirani optimallashtirish. Ishg'ol qilingan: 66% SRAM, 92% Flash xotira.
GSM_2017_05_06-11-52.hex- DelayBeforeAlarm funksiyasi bilan tuzatildi. Ishg'ol qilingan: 66% SRAM, 93% Flash xotira.
GSM_2017_05_23-21-27.hex- Konsolga ma'lumot chiqishi biroz o'zgartirildi. 0x38 dan 0x3f gacha bo'lgan manzillar bilan PCF8574A portini kengaytirish modullari uchun qo'shimcha yordam. Tuzatilgan xato c. Endi qurilma FullReset, ResetConfig, ResetPhone buyruqlaridan so'ng va MemTest buyrug'i muvaffaqiyatli bajarilgandan so'ng avtomatik ravishda qayta ishga tushadi. WatchPowerTime buyrug'i qo'shildi. Endi tashqi quvvat manbai o'chirilganligini bildiruvchi SMS-xabar yuboriladigan vaqtni belgilash mumkin. Band: 67% SRAM, 94% Flash xotira.
GSM_2017_05_26-20-22.hex- Kengaytirish kartasi sensori xotirasini ishga tushirish aniqlandi. AddPhone buyrug'i sintaksisi o'zgartirildi. EditMainPhone buyrug'i qo'shildi. Sensor ishga tushirilganda xabarnoma tizimining ishlash printsipi o'zgartirildi, birinchi navbatda SMS xabarlar yuboriladi, shundan so'ng ovozli qo'ng'iroqlar amalga oshiriladi. Signal SMS-xabarlari “S” (SMS) belgisi bilan telefon raqamlariga yuboriladi. Ovozli qo'ng'iroqlar "R" (Ring) belgisi bo'lgan raqamlarga amalga oshiriladi. Tashqi quvvat manbasini o'chirish/yoqish haqidagi xabarlar "P" (Power) belgisi bilan telefon raqamlariga yuboriladi. RingTime buyrug'i qo'shildi. Endi tashvishli ovozli qo'ng'iroqning davomiyligini belgilash mumkin, parametr 10 dan 255 soniyagacha bo'lishi mumkin; RingOn/RingOff buyrug'i endi global miqyosda ovozli qo'ng'iroqlar haqida ogohlantirishlarni yoqadi/o'chiradi. ResetSensor buyrug'i qo'shildi. Ishg'ol qilingan: 68% SRAM, 99% Flash xotira.
GSM_2017_06_02-17-43.hex- "I" (Info) parametri AddPhone va EditMainPhone buyruqlariga qo'shildi, bu qurilmani qurollantirish yoki o'chirish haqida SMS-xabar berish uchun javob beradi. Endi asosiy raqamni qo'shgandan so'ng, qurilma avtomatik ravishda qayta ishga tushadi. Endi siz qurilma xotirasiga bir xil raqamlarni kiritishingiz mumkin. Ikkinchi va keyingi takroriy raqamlarni qo'shganda, "M", "S", "P" va "I" atributlari ulardan avtomatik ravishda o'chiriladi. Bu raqamlar sensorlar ishga tushirilganda takroriy ovozli qo'ng'iroqlar uchun ishlatiladi. AddPhone buyrug'i bajarilgandan so'ng noto'g'ri konsol chiqishi bilan bog'liq xatolik tuzatildi, endi raqam qo'shilgandan keyin ma'lumot avtomatik ravishda ko'rsatilmaydi; Qayta ishga tushirish buyrug'i qo'shildi. Ishg'ol qilingan: 69% SRAM, 99% Flash xotira.
GSM_2017_06_11-00-07.hex- Endi yana, asosiy qamish sensori kontaktlari yopilganda (eshikni yopadi), qurilma 2 soniya davomida ko'k LED bilan miltillaydi, bu sensorning normal ishlashini ko'rsatadi, lekin bu qurilmaning qurollanganligini hisobga olmaydi. yoki qurolsizlangan. RingOn/RingOff buyruqlari olib tashlandi. Endi qurilma signal qo'ng'irog'i paytida o'chirilishi mumkin; endi ular fonda amalga oshiriladi. Ishg'ol qilingan: 69% SRAM, 99% Flash xotira.
GSM_2017_07_04-21-52.hex- Endi Pauza buyrug'i javob SMS yubormaydi. TestOn va TestOff buyruqlari olib tashlandi. Boshqaruv atributi barcha raqamlardan olib tashlandi. Band: 68% SRAM, 96% Flash xotira.
GSM_2017_07_24-12-02.hex- Asosiy reed sensorini kuzatish uchun ReedSwitchOn/ReedSwitchOff buyruqlari qo'shildi, endi uni harakat sensori kabi yoqish/o'chirish mumkin. Info buyrug'idagi xatolik tuzatildi. TestOn va TestOff buyruqlari yana proshivkada mavjud. Band: 68% SRAM, 96% Flash xotira.
GSM_2017_07_26-10-03.hex- ModemID buyrug'i qo'shildi. Modemni avtomatik aniqlash faqat ushbu parametrning qiymati 0 bo'lsa amalga oshiriladi. Parametr qiymatini 0 ga o'rnatgandan so'ng, qurilma avtomatik ravishda qayta ishga tushiriladi. Band: 68% SRAM, 98% Flash xotira.
GSM_2017_08_03-22-03.hex- Endi signal tashqi qurilmalarni boshqarishi mumkin. Tekshirish uchun analog A3 chiqishi ishlatiladi (D17 - raqamli sifatida ishlatiladi). Mantiqiy chiqish darajasi (+5V yoki GND) konfiguratsiya buyrug'i orqali darajani o'zgartirgandan so'ng o'zgartirilishi mumkin, qurilma avtomatik ravishda qayta ishga tushadi. Tashqi qurilmani boshqarish signalining davomiyligi o'zgarishi mumkin. ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open buyruqlari qo'shildi. Boshqarish buyruqlari mantiqidagi ba'zi o'zgarishlar. Xotirani optimallashtirish. Ishg'ol qilingan: 68% SRAM, 99% Flash xotira.
GSM_2017_08_10-12-17.hex- SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff buyruqlari va ular bilan bog'langan barcha narsalar o'chirildi. DelayBeforeAlarm buyrug'i kengaytirilgan buyruqlar bilan almashtirildi. Info buyrug'ining chiqishi o'zgartirildi. ListConfig buyrug'ining konsolga chiqishi optimallashtirildi. Endi yuqori yoki past javob darajalariga ega bo'lgan har qanday raqamli sensorlar, shu jumladan reed kalitlari, D6 va A0 pinlariga ulanishi mumkin. D6 va A0 pinlari 10 (20) kOm qarshilik orqali erga (GND) ulanishi kerak. Sensor past javob darajasiga o'rnatilgan bo'lsa (qamishli o'tish rejimida yoqilgan), u holda sxemaning yaxlitligi tekshiriladi. D6 va A0 (+5V yoki GND) kirishlarida mantiqiy tetiklash darajasi mantiqiy darajani o'zgartirgandan so'ng o'zgartirilishi mumkin, qurilma avtomatik ravishda qayta ishga tushadi. Sensorlarning har biri uchun (asosiy, ikkinchi, PCF kengaytirish platasi) ishga tushirilganda, o'z vaqtini belgilash mumkin, shundan so'ng bildirishnoma yuboriladi (SMS va / yoki ovozli qo'ng'iroq). "PIR Sensor" nomi "Ikkinchi sensor" ga o'zgartirildi. Kengaytirish kartasining ishlashi tuzatildi, bu xatolik tufayli qurilma qurollanganmi yoki yo'qligidan qat'i nazar, sensorlar ishga tushirilganda har doim xabar beradi. Endi siz qurilma kengaytirish kartasining sensorlarini qurolli rejimda (GuardOn) va o'chirilgan rejimda (GuardOff) kuzatishi mumkin bo'lgan ish rejimini tanlashingiz mumkin. Qo‘shilgan buyruqlar PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayAlarBefore. Ishg'ol qilingan: 68% SRAM, 99% Flash xotira.

*Keyingi proshivka versiyalari oldingi versiyalardagi o'zgarishlarni o'z ichiga oladi.


Arduino Nano v3 portlari ishlatilgan

D4- sensor ishga tushirilganda "signal" pinining chiqishi, bu pinda yuqori darajadagi signal o'rnatiladi
D5- "signal" pinining teskari chiqishi sensori ishga tushirilganda, bu pinda past darajadagi signal o'rnatiladi

D6- qamish sensori. GSM_2017_08_10-12-17.hex versiyasidan boshlab D6 piniga yuqori yoki past javob darajasiga ega har qanday raqamli sensorlar, shu jumladan reed kalitlari ulanishi mumkin. Pin D6 10 (20) kOhm qarshilik orqali erga (GND) tortilishi kerak.
D7- tashqi +5V quvvat manbaidan kuchlanish bo'luvchiga ulangan. Yuqori qo'l 2,2 kOhm, pastki qo'l 3,3 kOm.

Voltaj bo'luvchi


D8- TX modem
D9- RX modem

D10- qizil LED
D11- ko'k LED
D12- yashil LED

Periferik ulanish:
A0- Harakat sensori. GSM_2017_08_10-12-17.hex versiyasidan boshlab yuqori yoki past javob darajasiga ega har qanday raqamli sensorlar, shu jumladan reed kalitlari, A0 piniga ulanishi mumkin. Pin A0 10 (20) kOm qarshilik orqali erga (GND) tortilishi kerak.

A1- Tashqi boshqaruv uchun kirish. Kirishda yuqori darajadagi +5V paydo bo'lganda signal o'chiriladi/o'chiriladi.
A2- Tashqi boshqaruv uchun teskari kiritish. Kirishda past GND darajasi paydo bo'lganda signal o'chiriladi/o'chiriladi.

A3- Tashqi qurilmalarni boshqarish uchun sozlanishi (+5V yoki GND) chiqishi. Tekshirish buyrug'i qabul qilinganda, ushbu chiqishdagi qiymat belgilangan vaqt uchun o'rnatilgan narsaga qarab o'zgaradi.

A4- SDA I2C
A5- SLC I2C
, qo'shimcha 8 datchikni ulash uchun.


Hex proshivka uchun boshqaruv buyruqlari

Diqqat! Jamoalar bag'ishlangan qalin faqat asosiy raqamdan bajarilishi mumkin, chunki ular qurilma konfiguratsiyasi uchun javobgardir. Boshqa buyruqlar “Boshqarish” atributiga ega raqamlardan bajarilishi mumkin.

SMS - boshqaruv buyruqlari katta harflarga sezgir emas:
Telefon qo'shish- Telefon raqamini qo'shing. Hammasi bo'lib 9 ta raqamdan ko'p bo'lmagan + 1 ta asosiy raqam qo'shilishi mumkin, bu buyruqlar yordamida qurilmani zavod sozlamalariga qaytargandan so'ng birinchi marta qo'ng'iroq qilganingizda avtomatik ravishda xotirada saqlanadi. Telefonni qayta o'rnatish yoki To'liq tiklash. Bular. qurilmani zavod sozlamalariga qaytargandan so'ng birinchi bo'lib qo'ng'iroq qilgan har bir kishi "master" bo'lsa, bu raqam birinchi xotira katakchasiga kiritiladi va SMS orqali o'zgartirilishi yoki o'chirilmaydi. Ikkita bir xil raqamni qo'shish mumkin emas.
Misol buyruq:



Buyruq sintaksisi:

Telefon qo'shish- jamoa
: - chegaralovchi
5 - xotiraning beshinchi katakchasiga yozish
+71234567890 - telefon raqami
GSM_2017_05_26-20-22.hex versiyasigacha:
a - "Signal" parametri - SMS-xabarlar ushbu parametrga ega raqamlarga yuboriladi - signalni faollashtirish haqidagi xabarlar va qurollanish yoki o'chirish haqidagi xabarlar.
GSM_2017_05_26-20-22.hex versiyasidan boshlab:
m - "Boshqarish" parametri - signalni boshqarish yoqilgan
s - "SMS" parametri - sensorlar ishga tushirilganda SMS xabar yuboriladi
r - "Ring" parametri - sensorlar ishga tushirilganda ovozli qo'ng'iroq qilinadi
p - "Quvvat" parametri - tashqi quvvat yoqilganda/o'chirilganda SMS xabar yuboriladi
i - "Ma'lumot" parametri - qurollanish yoki o'chirishda SMS xabar yuboriladi
Agar "m", "s", "r", "p", "i" parametrlari yo'q bo'lsa, telefon xotirada saqlanadi, lekin hech qanday tarzda ishlatilmaydi.


Telefonni o'chirish- Telefon raqamini o'chirish.
Misol buyruq:

Buyruq sintaksisi:

Telefonni o'chirish - buyruq
: - chegaralovchi
+71234567891 - telefon raqami


Asosiy telefonni tahrirlash- Asosiy telefonning "s", "r", "p", "i" parametrlarini o'zgartiring, bu raqam birinchi xotira katagida saqlanadi.
Misol buyruq:

Buyruq sintaksisi:

EditMainPhone - buyruq
: - chegaralovchi
srpi - parametrlar


BalansNum- Balans so'rovi raqamini o'zgartirish va so'rovga javob muddatini qayta ishlash. Beeline uchun standart qiymat: #100#L22.
Misol buyruq:

Buyruq sintaksisi:

BalanceNum - buyruq
: - chegaralovchi
#103# - balans so'rovi raqami
L24 - Yo'naltirilgan javobning uzunligi (len) 24 belgi, biz balans so'rovidan spamni olib tashladik.


Edit Sensor- Sensor nomini va mantiqiy javob darajasini o'zgartiring. Jami 8 tadan ortiq qo'shimcha sensorlar bo'lishi mumkin emas. Parametrlarni o'zgartirgandan so'ng, qurilma qayta ishga tushirilishi kerak.
Misol buyruq:
EditSensor:1+Datchik dvizheniya v koridore#h

Buyruq sintaksisi:

EditSensor - buyruq
: - chegaralovchi
1 - birinchi xotira katagiga yozish
+ - ajratuvchi
Datchik dvizheniya v koridore - sensorning nomi, bo'shliqlar bilan birga 36 belgidan oshmasligi kerak.
#h - Sensordan yuqori mantiqiy daraja belgisi, uni olgandan so'ng signal ishga tushadi. Agar "#h" yo'q bo'lsa, sensordan past mantiqiy daraja qabul qilinganda signal ishga tushadi.


Uyqu vaqti- "To'xtatib turish" SMS buyrug'i qabul qilinganda signalning uyqu rejimiga o'tish vaqti daqiqalarda ko'rsatiladi. Standart qiymat: 15, 1 dan kam yoki 60 dan oshmasligi kerak.
Misol buyruq:

Buyruq sintaksisi:

SleepTime - buyruq
: - chegaralovchi
20-20 daqiqa "uyqu".


AlarmPinTime- Signal/teskari pinni yoqish/o'chirish vaqti soniyalarda ko'rsatilgan. Standart qiymat: 60, 1 soniyadan kam va 43200 soniyadan (12 soat) ortiq bo'lishi mumkin emas.
Misol buyruq:

Buyruq sintaksisi:

AlarmPinTime - buyruq
: - chegaralovchi
Signal pinini yoqish/o'chirish uchun 30-30 soniya.


DelayBeforeGuard- Qurilmani qurollantirishdan oldingi vaqt, tegishli buyruqni olgandan keyin.
Misol buyruq:

Buyruq sintaksisi:

DelayBeforeGuard - buyruq
: - chegaralovchi
Qurollanishdan 25-25 soniya oldin


Signaldan oldin kechikish- Agar ushbu vaqt ichida signal o'chirilmagan bo'lsa, "signal" SMS-xabarnomasi yuboriladigan vaqt. GSM_2017_08_10-12-17.hex versiyasidan boshlab kengaytirilgan buyruqlar bilan almashtirildi
Misol buyruq:

Buyruq sintaksisi:

DelayBeforeAlarm - buyruq
: - chegaralovchi
"Signal" bildirishnomasini yuborishdan 40-40 soniya oldin


WatchPowerTime- Tashqi quvvat manbai o'chirilganligini bildiruvchi SMS-xabar yuboriladigan daqiqalarda vaqt. Belgilangan vaqt o'tmasdanoq tashqi quvvat tiklansa, xabar yuborilmaydi.
Misol buyruq:

Buyruq sintaksisi:

WatchPowerTime - buyruq
: - chegaralovchi
SMS yuborishdan 5-5 daqiqa oldin


RingTime- Xavotirli ovozli qo'ng'iroqning davomiyligi, parametr 10 dan 255 soniyagacha bo'lgan qiymatga ega bo'lishi mumkin.
Misol buyruq:

Buyruq sintaksisi:

RingTime - buyruq
: - chegaralovchi
40 - 40 qo'ng'iroqning davomiyligi 40 soniyani tashkil qiladi, shundan so'ng keyingi abonentga qo'ng'iroq qilinadi.


Modem ID - Majburiy o'rnatish ishlatiladigan modem modeli. Mumkin qiymatlar: 0 - modemni avtomatik aniqlash, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Misol buyruq:

Buyruq sintaksisi:

ModemID - buyruq
: - chegaralovchi
2 - Modem identifikatori.


ExtDeviceTime- Tashqi qurilmaning boshqaruv chiqishidagi signal darajasi o'zgarishi soniyalar soni.
Misol buyruq:

Buyruq sintaksisi:

ExtDeviceTime- buyrug'i
: - chegaralovchi
5-5 soniya


ExtDeviceLevelLow- A3 chiqishiga ulangan tashqi qurilma past signal darajasi (GND) bilan boshqariladi. Tashqi qurilmadan boshqaruv buyrug'i olinmaguncha, chiqish sukut bo'yicha yuqori +5V darajasida bo'ladi
ExtDeviceLevelHigh- A3 chiqishiga ulangan tashqi qurilma yuqori signal darajasi (+5V) bilan boshqariladi. Tashqi qurilmani boshqarish buyrug'i olinmaguncha chiqish sukut bo'yicha GND past bo'ladi.

Sensorni tiklash- port kengaytirgich sensorlarini tiklash

ResetConfig- sozlamalarni zavod parametrlariga qaytarish

Telefonni qayta o'rnatish- barchasini xotiradan o'chirish telefon raqamlari

To'liq tiklash- sozlamalarni tiklash, barcha telefon raqamlarini xotiradan o'chirish, BalanceNum buyrug'ining standart qiymatini tiklash.

RingOn- sensor ishga tushirilganda birinchi xotira katagiga yozilgan "asosiy" raqamga qo'ng'iroq qilish orqali bildirishnomani yoqing. GSM_2017_06_11-00-07.hex versiyasidan boshlab olib tashlandi
Ringoff- sensor ishga tushganda jiringlash orqali bildirishnomani o'chiring. GSM_2017_06_11-00-07.hex versiyasidan boshlab olib tashlandi

SmsOn- sensor ishga tushganda SMS-xabarni yoqish. GSM_2017_08_10-12-17.hex versiyasidan boshlab olib tashlandi
SmsOff- sensor ishga tushganda SMS-xabarnomani o'chiring. GSM_2017_08_10-12-17.hex versiyasidan boshlab olib tashlandi

PIRON- harakat sensori bilan ishlashni yoqish
PIROff- harakat sensori bilan ishlashni o'chiring

ReedSwitchOn- asosiy qamish sensorini qayta ishlashni yoqish
ReedSwitchOff- asosiy qamish sensorini qayta ishlashni o'chiring

WatchPowerOn- tashqi quvvatni boshqarishni yoqing, signal tizimi qurollangan bo'lsa, tashqi quvvatni o'chirish haqida SMS xabar yuboriladi. GSM_2017_03_01-23-37 versiyasidan boshlab olib tashlandi.

WatchPowerOn1- tashqi quvvatni boshqarishni yoqing, signal tizimi qurollangan bo'lsa, tashqi quvvatni o'chirish haqida SMS xabar yuboriladi.
WatchPowerOn2- tashqi quvvatni boshqarishni yoqing, har qanday holatda tashqi quvvatni o'chirish haqida SMS xabar yuboriladi

WatchPowerOff- tashqi quvvat boshqaruvini o'chiring

GuardButtonOn- tashqi qurilmalar yoki tugma orqali signalni boshqarish yoqilgan GSM_2017_04_16-12-00 versiyasidan boshlab o'chiriladi.
GuardButtonOn1- funksiya sozlash yoki olib tashlash tashqi qurilmalar yoki tugma orqali himoya qilish yoqilgan
GuardButtonOn2- funksiya faqat ishlab chiqarishlar tashqi qurilmalar tomonidan qurollangan yoki tugma yoqilgan bo'lsa, o'chirish qurilmaga qo'ng'iroq qilish yoki SMS buyrug'i yordamida amalga oshiriladi.
GuardButtonOff- tashqi qurilmalar yoki tugma orqali signalni boshqarish o'chirilgan

PCForceOn- barcha kengaytirish moduli sensorlari guruhining doimiy monitoringi
PCForceOff- faqat qurilma qurollangan bo'lsa, barcha kengaytirish moduli datchiklari guruhini kuzatish

MainSensorLevelHigh- sensordan kirishda (D6) yuqori darajadagi signal (+5 V) paydo bo'lganda, signal xabarnomasi yuboriladi.
Asosiy Sensor darajasi past- sensordan kirishda (D6) past darajadagi signal (GND) paydo bo'lganda, signal xabarnomasi yuboriladi
MainSensorLevelOff- sensorli kirishni qayta ishlash (D6) o'chirilgan

SecondSensorLevelHigh- sensordan kirishda (A0) yuqori darajadagi signal (+5 V) paydo bo'lganda, signal xabarnomasi yuboriladi.
Ikkinchi Sensor darajasi past- sensordan kirishda (A0) past darajadagi signal (GND) paydo bo'lganda, signal haqida bildirishnoma yuboriladi.
SecondSensorLevelOff- sensor kirishini qayta ishlash (A0) o'chirilgan

Signaldan oldin asosiy kechikish- agar bu vaqt davomida signal o'chirilmagan bo'lsa, asosiy sensor (D6) ishga tushirilganda "signal" SMS-xabarnomasi yuboriladigan vaqt. Sintaksis DelayBeforeAlarm buyrug'i bilan bir xil.
Signaldan oldin ikkinchi kechikish- qo'shimcha sensor (A0) ishga tushirilganda, agar bu vaqt davomida signal o'chirilmagan bo'lsa, "signal" SMS-xabarnomasi yuboriladigan vaqt. Sintaksis DelayBeforeAlarm buyrug'i bilan bir xil.
PCFDelayBeforeAlarm- agar bu vaqt davomida signal o'chirilmagan bo'lsa, kengaytirish platasi sensorlari (PCF8574) ishga tushirilganda "signal" SMS-xabarnomasi yuboriladigan vaqt. Sintaksis DelayBeforeAlarm buyrug'i bilan bir xil.

GuardOn - qo'l
GuardOff - qo'riqchini olib tashlang

Ochiq - tashqi qurilmani boshqarish buyrug'i

Ma'lumot - holatni tekshiring, ushbu xabarga javoban xavfsizlik qaysi raqam yoqilgan/o'chirilganligi haqida ma'lumot bilan SMS yuboriladi.

To'xtatib turish - tizimni bir necha daqiqada uyqu vaqti buyrug'i bilan belgilangan vaqt uchun pauza qiladi, tizim sensori ishga tushirishga javob bermaydi;

TestOn - sinov rejimi yoqilgan, ko'k LED yonadi.
TestOff - sinov rejimi o'chirilgan.

LedOff - kutish rejimidagi LEDni o'chiradi.
LedOn - kutish rejimidagi LEDni yoqadi.

Pul - balans so'rovi.

ClearSms - barcha smslarni xotiradan o'chirish

Konsol buyruqlari (GSM_2017_04_24-13-22.hex versiyasigacha) - monitorga kiritilgan Arduino porti IDE:

AddPhone - AddPhone sms buyrug'iga o'xshash

DeletePhone - DeletePhone sms buyrug'iga o'xshash

EditSensor - EditSensor sms buyrug'iga o'xshash

ListPhone - port monitoriga xotirada saqlangan telefonlar ro'yxatini chiqarish

ResetConfig - ResetConfig sms buyrug'iga o'xshash

ResetPhone - ResetPhone sms buyrug'iga o'xshash

FullReset - FullReset sms buyrug'iga o'xshash

ClearSms - ClearSms sms buyrug'iga o'xshash

WatchPowerOn1 - WatchPowerOn1 sms buyrug'iga o'xshash
WatchPowerOn2 - WatchPowerOn2 sms buyrug'iga o'xshash
WatchPowerOff - WatchPowerOff sms buyrug'iga o'xshash

GuardButtonOn - GuardButtonOn sms buyrug'iga o'xshash. GSM_2017_04_16-12-00 versiyasidan boshlab olib tashlandi
GuardButtonOn1 - GuardButtonOn1 sms buyrug'iga o'xshash
GuardButtonOn2 - GuardButtonOn2 sms buyrug'iga o'xshash
GuardButtonOff - GuardButtonOff sms buyrug'iga o'xshash

Memtest - qurilmaning o'zgarmas xotirasini tekshirish, FullReset buyrug'iga o'xshash barcha qurilma sozlamalari tiklanadi;

I2CScan - I2C avtobusida qo'llab-quvvatlanadigan qurilmalarni qidirish va ishga tushirish.

ListConfig - port monitoriga joriy qurilma konfiguratsiyasini ko'rsatadi.

ListSensor - joriy sensor konfiguratsiyasining port monitoriga chiqish.

UPD. Harakat sensori ishlatilganda, istisno qilish noto'g'ri pozitivlar modem ishlayotgan bo'lsa, kerak orasida pinlar GND Va A0 Arduino qarshilik ko'rsatish, rahmat o'rtoq
AllowPhone = ("70001234501", "70001234502", "70001234503", "70001234504", "70001234505") - Xavfsizlikni boshqarishga ruxsat berilgan raqamlar.
AlarmPhone = ("70001234501", "70001234502") - Sensor ishga tushirilganda SMS-xabarlar va o'chirish yoki qurollanish haqida bildirishnomalarni yuborish uchun raqamlar. Ro'yxatdagi birinchi raqam, agar RingOn buyrug'i sukut bo'yicha bajarilgan bo'lsa, sensor ishga tushirilganda chaqiriladi; Bu SMS-xabarlar biroz kechikish bilan kelishi mumkinligi sababli amalga oshiriladi, ammo qo'ng'iroq darhol o'tishi kerak.

Agar qo'ng'iroq vakolatli raqamdan yoki GuardOn/GuardOff buyrug'i bilan SMS xabar olinsa, u holda hozirgi holat xavfsizlik xizmatiga AlarmPhone massivida ko'rsatilgan raqamlarga qurollanish yoki o'chirish to'g'risida SMS-xabar yuboriladi va qo'ng'iroq kelgan raqamga ham SMS xabar yuboriladi.

Sensor ishga tushganda SMS xabarlar AlarmPhone massividan (ro'yxat) barcha raqamlarga yuboriladi va ushbu massivdagi birinchi raqamga ovozli qo'ng'iroq qilinadi.

Nur ko'rsatkichi:
LED qizil yonadi - u qurollangan.
LED yonadi yashil- LedOn/LedOff SMS buyrug'i bilan qurolsizlangan, yoqilgan/o'chirilgan.
LED doimiy ravishda ko'k rangda miltillaydi - bu Arduino bilan hamma narsa tartibda ekanligini ko'rsatadi, plata muzlatilmagan, u faqat disk raskadrovka uchun ishlatiladi, TestOn/TestOff SMS buyrug'i bilan yoqiladi/o'chiriladi.
* Kod LedTest() funktsiyasini o'z ichiga oladi, u ko'k LED bilan miltillaydi, u faqat Arduinoni kuzatish uchun yaratilgan, miltillaydi - bu ishlayotganini anglatadi, miltillamaydi - muzlatilgan. Hali go'shakni qo'yganim yo'q :)

Tegishli emas!

Ochiq proshivka uchun 2 yoki undan ortiq sensorni ulash (faqat ushbu proshivka sketch_02_12_2016.ino uchun amal qiladi)
Qo'shimcha qamish sensorlarini ulash uchun biz D2, D3, D5 yoki D7 bepul raqamli pinlardan foydalanamiz. D7 da qo'shimcha sensor bilan ulanish diagrammasi.

Mikrodasturdagi kerakli o'zgarishlar
... #define DoorPin 6 // Asosiy sensorga ulangan kirish raqami int8_t DoorState = 0; // Asosiy sensor holatini saqlash uchun o'zgaruvchi int8_t DoorFlag = 1; // Asosiy sensor holatini saqlash uchun o'zgaruvchi #define BackDoorPin 7 // Qo'shimcha sensorga ulangan kirish raqami int8_t BackDoorState = 0; // Qo'shimcha sensor holatini saqlash uchun o'zgaruvchi int8_t BackDoorFlag = 1; // Qo'shimcha sensor holatini saqlash uchun o'zgaruvchi...
void setup() ( ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() ( // Datchiklardan qiymatlarni o'qish DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); // Asosiy sensorga ishlov berish, agar (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; kechikish (100); agar (LedOn == 1) digitalWrite (GLed, LOW); agar (BackDoorState == LOW && BackDoorFlag == 0) ( BackDoorFlag = 1; kechikish (100); if (LedOn == 1) digitalWrite (GLed, LOW); Signal(); ) if (BackDoorState == HIGH && BackDoorFlag = = 1)( BackDoorFlag = 0; kechikish (100); ) ) ...

Va yana bir narsa:
1. 2 A tok uchun mo'ljallangan diodlardan foydalanish yaxshidir, chunki modul 1 A oqimga ega va biz hali ham Arduino va modemni biror narsa bilan quvvatlantirishimiz kerak. Ushbu misol 1N4007 diodlardan foydalanadi, agar ular muvaffaqiyatsiz bo'lsa, ularni 2 A bilan almashtiring.
2. Kechasi butun koridorni yoritmaslik uchun LED uchun barcha rezistorlarni 20 kOhm da ishlatdim.
3. Shuningdek, GND pin va D6 pin o'rtasida qamish sensori ustida 20 kOhm qarshilik qo'ydim.

Hozircha hammasi shu. E'tiboringiz uchun rahmat! :)

Men +207 sotib olishni rejalashtiryapman Sevimlilarga qo'shing Menga sharh yoqdi +112 +243

Arduino-da GSM signalizatsiya tizimi

Ushbu maqolada siz GSM moduli va Arduino-dan foydalanib, GSM signalini o'zingiz qanday qilib (sotib olishni) o'rganasiz. Himoya ob'ekti GSM signali mukammal dacha qiladi, uy, garaj, kvartira.


1-qadam: elementlar
Ushbu loyiha uchun sizga kerak bo'ladi:


GSM qalqoni

Buzzer
Signal sirenasi 12V
12V quvvat manbai

Arduino uchun klaviatura
Ramka.

2-qadam: Komponentlarni ulash


Avval siz GSM modulini o'rnatasiz Arduino Uno, GND va VCC simlarini ikkita sensor, signal va o'rni moduli kiritish bilan birga lehimlashingiz kerak bo'ladi. Shundan so'ng, bu lehimli simlarni GSM ekranining mos keladigan ulagichiga ulang. Keyinchalik siz ushbu qismlardan I/U signal ulagichini yaratasiz va oxirgi qilishingiz kerak bo'lgan narsa klaviaturani ulashdir.

Arduino Uno/GSM terminallari:

Pin 0: ulanmagan;
Xulosa 1: bog'liq emas;
2-pin: ulanmagan (GSM ushbu pinni ishlatadi);
3-pin: ulanmagan (GSM ushbu pinni ishlatadi);
4-pin: klaviatura yordamida oxirgi qator (klaviatura pin 4 - 8 dan);
Xulosa 5: bog'liq emas;
6-pin: klaviatura orqali ikkinchi ustun (klaviatura pin 6 - 8 dan);
Chiqish 7: klaviaturadan uchinchi ustun (barmoq klaviaturasi 7 - 8 dan);
8-pin: ulanmagan (GSM ushbu pinni ishlatadi);
9-pin: ulanmagan (GSM ushbu pinni ishlatadi);
Pin 10: PIR sensori ma'lumotlari № 2;
Pin 11: sirena ovozli signali (o'rni modulining kirishiga kiritilgan);
Pin 12: PIR sensori ma'lumotlari No 1;
Pin 13: signalni kiritish signali;

Ko'rib turganingizdek, klaviaturada 8 ta pin bo'lsa-da, faqat uchtasi ulangan (bir qator va ikkita ustun, ikkita raqamni o'qishga imkon beradi - 1 × 2 matritsa), shuning uchun men ushbu uchta simdan foydalanib parollar yaratishim mumkin va yo'q. klaviaturadagi barcha kontaktlardan foydalanish kerak. Buning sababi shundaki, harakat sensori xonada yurgan odamni aniqlagandan so'ng, odam signalni o'chirish uchun atigi 5 soniyaga ega bo'ladi. uchun signal o'chmaydi keyin bu daqiqa GSM Shield sizga SMS yuboradi yoki telefon raqamingizga qo'ng'iroq qiladi. Arduino qo'ng'iroq qilish va siz javob berishingiz bilanoq dasturlashtirilgan telefon qo'ng'irog'i, u go'shakni qo'yadi.

Albatta, sensordan noto'g'ri ko'rsatkichlarni olish mumkin, shuning uchun telefoningizdan Arduino-ga oddiygina SMS yuborish orqali signalni o'chirish imkoniyati mavjud. Bundan tashqari, siz qilishingiz mumkin bo'lgan yana bir variant - qalqonni sizga kuniga bitta xabar yuboradigan qilib sozlash, shunda siz uning to'g'ri ishlayotganini bilishingiz mumkin.

3-qadam: kod

Quyidagi kodni yuklab oling va kompilyatsiya qiling. U Keypad.h va GSM.h kutubxonalaridan foydalanadi.
Faylni yuklab oling: (yuklashlar: 181)
Faylni yuklab oling: (yuklashlar: 104)

4-qadam: Xulosa


Arduino Uno kodi sizning uyingizga kimdir buzib kirganidan keyin besh soniya ichida telefoningizga SMS yozishi va qo'ng'iroq qilishini hisobga olsak, politsiyaga qo'ng'iroq qilish uchun ko'p vaqtingiz bo'ladi deb o'ylayman. Albatta, sirena o'g'rilarni qo'rqitadi va sizning uyingiz yoki boshqa binolaringiz ushbu maqola yordamida xavfsizroq bo'ladi.

Bahor, siz bilganingizdek, har xil og'irlashuvlar bilan birga keladi va endi asosiy "o'tkirlashuv" o'ziga tegishli bo'lmagan narsalarni o'ziga moslashtirish uchun teshiklaridan ko'chaga chiqdi. Bu sizning mulkingizni himoya qilish mavzusi har qachongidan ham dolzarb bo'lib borayotganini anglatadi.
Saytda allaqachon uy qurilishi bo'yicha bir nechta sharhlar mavjud. Ular, albatta, funktsionaldir, lekin hamma ham bor umumiy xususiyat- chiqishga bog'liqlik. Agar bu allaqachon elektr energiyasi bilan ta'minlangan mulk bilan bog'liq muammo bo'lmasa, u holda rozetkadan uzoqda joylashgan yoki uning atrofidagi hudud butunlay quvvatsizlangan mulk haqida nima deyish mumkin? Men boshqa yo'ldan borishga qaror qildim - iloji boricha sodda va mustaqil ravishda uzoq umr ko'rishni yig'ish tarmoq quvvati har doim uxlaydigan qurilma va qaroqchilar kirganda, u ishga tushadi va egasining telefoniga qo'ng'iroq qiladi, oddiy signal qo'ng'irog'i bilan signal beradi.

Elementlarni ko'rib chiqish

Sotib olingan:
1. Non taxtasi bir tomonlama 5x7 sm: getinaks- yoki shisha tolali
* - shisha tolasi getinaxga qaraganda ancha sifatli.
2. Neoway M590 moduli - PCBda antenna bilan -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3,3V -
4. Lityum zaryadlash va tushirish boshqaruv paneli -

Sivilizatsiya xarobalaridan qazib olingan:
1. Qurilma korpuslaridan kesilgan taxtalar uchun tokchalar - 6 dona.
2. Yassi lityum batareya 1300 mA / soat
3. Kabelni devorga mahkamlash uchun ishlatiladigan shtapellar
4. Kantselyariya o'chirgichi
5. Mis sim Qalinligi 1,5 mm
6. Mahalliy radio bozoridan asboblar korpusi - 1.5$
7. Bir juft LED turli rang(VHS pleyeridan olingan)
8. Antenna va qopqoqli tugma (Wi-Fi routerdan olingan)
9. 4-pinli terminal bloki (dimmerdan olingan)
10. Quvvat ulagichi (18650 uchun eski zaryadlovchidan olingan)
11. 6 pinli ulagich (DVD diskidan olingan)
12. Qalay quti (masalan, kofe qutisi)

Arduino Pro Mini "RobotDyn" Atmega 168PA 3.3V 8MHz

Texnik xususiyatlari:
Mikrokontroller: ATmega168PA
Ishlash kuchlanishi bevosita:.8 - 5,5 V
LE33 stabilizatori orqali ish kuchlanishi: 3,3 V yoki 5 V (modelga qarab)
Ishlash harorati:-40°C… 105°C
Kirish kuchlanishi: 3.35-12V (3.3V model) yoki 5-12V (5V model)
Raqamli kirish/chiqishlar: 14 (shundan 6 tasi PWM chiqishi sifatida ishlatilishi mumkin: 3, 5, 6, 9, 10 va 11)
Analog kirishlar: 6
Taymer hisoblagichlari: ikkita 8-bit va bitta 16-bit
Energiyani tejash rejimlari: 6
Kirish/chiqish orqali doimiy oqim: 40 mA
Flash xotira: 16 KB (2 yuklovchi uchun ishlatiladi)
RAM: 1 KB
EEPROM: 512 bayt
Xotirani yozib olish/oʻchirish manbasi: 10 000 Flash/100 000 EEPROM
Soat chastotasi: 8 MGts (3,3 V model) yoki 16 MGts (5 V model)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) va A5 (SCL)
UART TTL: 0 (RX) va 1 (TX)
Tafsilotli ro'yxat:

Tanlov bu atmega butunlay tasodifan tushdi. Energiya tejamkor loyihalar muhokama qilingan bir forumda sharhlarda 168-atmegadan foydalanish bo'yicha maslahatlar bor edi.
Biroq, men bunday taxtani topish uchun o'ylashim kerak edi, chunki ko'pincha barcha lotlar 5V dan ishlaydigan 16 MGts chastotada 328 atmeg bilan to'ldirilgan. Mening loyiham uchun bunday xususiyatlar boshidanoq ortiqcha va noqulay edi va qidiruv yanada murakkablashdi.
Natijada, men eBay-da Atmega 168PA-da Pro Mini-ning 3,3 voltli versiyasiga duch keldim, shunchaki oddiy xitoycha emas, balki rossiyalik ishlab chiquvchining RobotDyn brendi ostida. Ha, avvaliga siz kabi menda ham shubha bor edi. Lekin behuda. Loyiha allaqachon yig'ilganda va AliExpress arzon tovarlar uchun majburiy pullik yetkazib berishni joriy qilganida (bundan keyin posilkalar tez-tez yo'qola boshladi), men keyinchalik oddiy Pro Mini Atmega168 (PA holda) 3,3V 8MGts ga buyurtma berdim. Men ikkala platada quvvatni tejash rejimlari bilan bir oz tajriba o'tkazdim, har biriga mikrokontrollerni maksimal quvvat tejash rejimiga o'tkazadigan maxsus eskizni yoqib chiqdim va mana shunday chiqdi:
1) Arduino Pro Mini "RobotDyn": ~250µA
2) Arduino Pro Mini "NoName": kuchlanish stabilizatoriga (RAW pin) quvvat qo'llanilganda va LED lehimlanganda, oqim iste'moli ~3,92mA




- tushunganingizdek, energiya iste'molidagi farq deyarli 16 baravar, chunki NoName's Pro Mini Atmega168+ kombinatsiyasidan foydalanadi, ulardan faqat MK o'zi iste'mol qiladi. 20uA joriy (men buni alohida tekshirib ko'rdim), ochko'zlikning barcha qolgan qismi AMS1117 chiziqli kuchlanish konvertori tomonidan hisobga olinadi - ma'lumotlar varaqasi buni tasdiqlaydi:


RobotDyn platasida kombinatsiya biroz boshqacha - bu Atmega168PA+ - bu erda boshqa LDO stabilizatori ishlatiladi, uning energiya tejash nuqtai nazaridan xususiyatlari yanada yoqimli bo'lib chiqdi:


Men uni eritmaganman, shuning uchun Atmega168PA qancha oqim iste'mol qilishini ayta olmayman sof shakl. Bu holatda menda etarli edi ~250µA Nokia tomonidan quvvatlanganda lityum batareya. Ammo, agar siz AMS1117-ni NoName" anakartidan ajratsangiz, yuqorida aytganimdek, oddiy ATmega168 sof shaklda iste'mol qiladi. 20uA.
Quvvat manbai bo'lgan LEDlarni o'tkir narsa bilan urib tushirish mumkin. Bu muammo emas. Stabilizator fen bilan lehimlangan. Biroq, har bir kishi sochlarini fen mashinasi va u bilan ishlash ko'nikmalariga ega emas, shuning uchun yuqoridagi ikkala variant ham mavjud bo'lish huquqiga ega.

Neoway M590E moduli

Texnik xususiyatlari:
Chastotalar: EGSM900/DCS1800 Dual-band yoki GSM850/1900 yoki Quad-band
Sezuvchanlik:-107 dBm
Maksimal quvvat yuqish: EGSM900 Class4(2W), DCS1800 Class1(1W)
Maksimal oqim: 2A
Ishlash oqimi: 210mA
Kutish oqimi: 2,5 mA
Ishlash harorati:-40°C… +85°C
Ishlash kuchlanishi: 3,3V…4,5V (tavsiya etilgan 3,9V)
Protokollar: GSM/GPRS Phase2/2+, TCP/IP, FTP, UDP va boshqalar.
Internet: GPRS SINF 10
Tafsilotli ro'yxat:

Bozorda topish mumkin bo'lgan eng arzon GSM moduli, odatda ishlatiladi, har doim ham mohir tomonidan lehimli emas Xitoy qo'llari bilan uskunalardan. Nega har doim epchil emas? Ha, barchasi sochlarini fen bilan eritish tufayli - ko'pincha odamlar ushbu modullarni qisqa tutashtirilgan plyus va minus bilan olishadi, bu ularning ishlamasligining sabablaridan biridir. Shuning uchun, birinchi qadam qisqa tutashuv uchun quvvat kontaktlarini tekshirishdir.

Eslatma. Alohida muhim jihatni ta'kidlashni istardim, menimcha, ushbu modullar antenna uchun dumaloq koaksial ulagich bilan birga kelishi mumkin, bu sizga yanada jiddiy antennani alohida buyurtma qilish va uni daf bilan raqsga tushmasdan modulga ulash imkonini beradi. Yoki ular bu ulagichsiz kelishi mumkin. Bu eng arzon to'plamlar haqida gapiradigan bo'lsak. Agar baxtli baxtsiz hodisaga tayanishni istamasangiz, unda bu ulagich mavjud bo'lgan biroz qimmatroq to'plamlar mavjud + to'plamda tekstolit taxtasida tashqi antenna mavjud.

Elektr ta'minoti haqida gap ketganda, bu modul ham injiqdir, chunki eng yuqori cho'qqisida u 2A gacha oqim iste'mol qiladi va to'plamga kiritilgan diod kuchlanishni 5V dan tushirish uchun mo'ljallanganga o'xshaydi (shuning uchun taxtada 5V deb yozilgan). ) 4,2V ga, lekin odamlarning shikoyatlariga ko'ra, bu qiymatdan ko'ra ko'proq muammolarni keltirib chiqaradi.
Aytaylik, siz ushbu modulni allaqachon yig'ib oldingiz va diod o'rniga jumper lehimlangan, chunki biz unga 5V kuchlanish bermoqchi emasmiz, lekin uni to'g'ridan-to'g'ri ruxsat etilgan lityum batareyadan quvvatlaymiz. kuchlanish chegaralari 3,3-4,2V.
Siz qandaydir tarzda uni kompyuterga ulashingiz va funksionallikni tekshirishingiz kerak bo'ladi. Bunday holda, o'zingiz uchun oldindan sotib olganingiz ma'qul - u orqali biz modul va Arduino platalari bilan UART seriyali interfeysi (USART) orqali bog'lanamiz.
Bog'lanish rasmda quyida ko'rsatilgan (men uni iloji boricha chizdim):
TX modem >>> RX konvertori
RX modem<<< TX конвертера
Batareya plyus - Modem plus
Lityum batareyaning salbiy tomoni modemning GND va konvertorning GND bilan birlashtirilgan.
Modemni ishga tushirish uchun BOOT pinini 4,7 kOhm qarshilik orqali GND ga qo'llang.


Shu bilan birga, dasturni kompyuteringizda ishga tushiring. Sozlamalarga e'tibor bering:
1) TTL konvertori ulangan MAQOMOTI portini tanlang, mening holatimda bu COM4, ​​sizniki boshqacha bo'lishi mumkin.
2) Ma'lumot uzatish tezligini tanlang. (Bu erda bir nuance bor, chunki modullarning o'zlari turli tezliklar uchun sozlanishi mumkin, ko'pincha 9600 bod yoki 115200 bod. Bu erda siz uni empirik tarzda tanlashingiz, ba'zi tezlikni tanlashingiz, ulanishingiz va AT buyrug'ini yuborishingiz kerak, agar yoriqlar paydo bo'lsa. javoban, keyin u uziladi , boshqa tezlikni tanlang va javob OK bo'lguncha buyruqni takrorlang).
3) Paket uzunligini tanlang (bu holda 8 bit), paritet bit o'chirilgan (yo'q), to'xtash bitini (1).
4) Qutini belgilaganingizga ishonch hosil qiling +CR, va keyin biz oxirida modulga yuborgan har bir buyruqqa karetani qaytarish belgisi avtomatik ravishda qo'shiladi - modul oxirida faqat shu belgi bilan buyruqlarni tushunadi.
5) Ulanish, bu erda hamma narsa aniq, bosing va biz modul bilan ishlashimiz mumkin.

Agar siz “Ulanish” tugmasini bossangiz va modulni 4,7K rezistor orqali BOOT-ni erga qo'llash orqali ishga tushirsangiz, avval terminalda “MODEM:STARTUP” yozuvi paydo bo'ladi, so'ngra biroz vaqt o'tgach, “+PBREADY” yozuvi paydo bo'ladi. telefon raqami bo'sh bo'lsa ham kitob o'qilganligini anglatadi:

Ushbu spoyler ostida misollar bilan AT buyruqlari mavjud

Biz AT buyrug'ini chop etamiz - bunga javoban modul bizga buyruqni yuboradi, chunki aks-sado rejimi yoqilgan va OK:

AT+CPAS buyrug'i bilan modem holatini tekshirib ko'raylik - javob yana bizning buyruq, +CPAS: 0 va OK.
0 modulning ishlashga tayyorligini bildiradi, lekin vaziyatga qarab boshqa raqamlar ham bo'lishi mumkin, masalan, 3 - kiruvchi qo'ng'iroq, 4 - ulanish rejimida, 5 - uyqu rejimi. 1 va 2 haqida hech qanday ma'lumot topa olmadim.

UART orqali ma'lumotlarni uzatish tezligini o'zgartirish AT+IPR=9600 buyrug'i bilan amalga oshiriladi - bu sizga 9600 tezlik kerak bo'lsa. Agar boshqa narsa bo'lsa, masalan, AT+IPR=19200 yoki AT+IPR=115200 ga o'xshash.

Keling, tarmoq signalini tekshiramiz. AT+CSQ, javob keladi +CSQ: 22.1 - kasrdan oldingi qiymat 0... 31 (115... 52 dBl) diapazoniga ega - bu signal darajasi, qanchalik baland bo'lsa, shuncha yaxshi bo'ladi. Ammo 99 uning yo'qligini anglatadi. O'nli nuqtadan keyingi qiymat signal sifati 0 ... 7 - bu erda buning aksi, raqam qanchalik past bo'lsa, shuncha yaxshi bo'ladi.

Ikki nusxadagi buyruqlar xalaqit bermasligi uchun ATE0 buyrug'ini yuborish orqali echo rejimini o'chirib qo'yamiz. Ushbu rejim ATE1 buyrug'i yordamida qayta yoqiladi.

AT+GETVERS proshivka versiyasini ko'ring



Ushbu va boshqa ko'plab buyruqlarni ko'rish mumkin

Plitalar tekislash

Agar Pro Mini-ni non taxtasiga lehimlash qiyin bo'lmasa, GSM moduli bilan vaziyat biroz murakkabroq, chunki uning kontakt tarağı faqat bir tomonda joylashgan va agar siz uni faqat lehim qilsangiz, taxtaning boshqa tomoni shunchaki havoda osilib qoladi. Keyin yana, men taxtaning uchta burchagi yaqinida ko'z bilan qo'shimcha 3 ta teshik ochishim kerak edi. Keyin har bir teshik atrofidagi joylar niqoblangan. Qulaylik uchun men taroqdan uzilgan simlarni lehimsiz non taxtasiga (oq) joylashtirdim va ularga GSM modul platasini o'rnatib, ularni odatdagidek lehimladim:

Keyinchalik men yana bir teshik ochishga majbur bo'ldim, mening holimda "I" harfi ustida "Xitoyda ishlab chiqarilgan" deb yozilgan taxtaning chetidan.


Ma'lum bo'lishicha, GND bo'lgan qo'shilgan kontakt Pro Mini platasining GND yonida joylashgan va shu tariqa GSM moduli va Pro Mini erini bir tomchi lehim bilan ulash mumkin bo'ldi. o'rtadagi pin va uning o'ng tomonidagi Pro Mini pin) - Men ularni o'qlar bilan belgiladim. Albatta, u biroz egri bo'lib chiqdi, lekin hozir u ishonchli ushlab turadi:



Plitalar o'rtasida biroz bo'sh joy qoldi - unda men oldindan lehimlangan microUSB ulagichi va lehimli simlar bilan lityum deşarj zaryadini boshqarish platasini joylashtirdim.

Sharf u erga juda mahkam joylashadi va yon tomondagi LEDlarning porlashi korpusdagi kichik teshik orqali aniq ko'rinadi.



Karta tokchalari

Taxtani korpusga ishonchli o'rnatish uchun men buni qanday amalga oshirish mumkinligi haqida bir necha kun o'ylab ko'rishim kerak edi. Issiq erituvchi yopishtiruvchi variant bir necha sabablarga ko'ra ko'rib chiqilmadi - u yiqilib, deformatsiyalanishi mumkin va eng muhimi, strukturani qismlarga ajratish qiyin bo'ladi.
Men bu erda eng oddiy va eng to'g'ri variant - bu tabiiy ravishda menda yo'q bo'lgan tokchalardan foydalanish degan xulosaga keldim. Biroq, bir nechta ishlamaydigan zaryadlovchilar bor edi, ulardan bitta uzun stend o'z-o'zidan tebranish vintlari uchun ip bilan kesilgan. Har bir stend yarmiga bo'linib, taxminan 9,5 mm gacha kesilgan - bu balandlikda taxta ostida joylashgan batareyaning taxminan 2 mm etarli chegarasi bor - bu taxtaning lehimlangan kontaktlari uchlari bilan bir xil bo'lishi uchun amalga oshiriladi. unga tegmang va ular orasiga mahkamlash uchun ko'pik qo'yish mumkin bo'ladi.
Taxtani to'g'ridan-to'g'ri korpusga ulashga kelsak, bu erda men qahva idishidan to'rtta chiziqni kesib oldim, uning uchida teshik ochdim, so'ngra ularni tokchalarga vidalanadigan vintlar bilan mahkamladim. Quyidagi fotosuratda uning qanday ko'rinishini ko'ring.
Keyingi qadam, taxtaning boshqa tomonida, ya'ni tepada joylashgan bir nechta stendlarni burab qo'yishdir, shunda korpus yopilganda, qopqoq bu stendlarga bir oz suyanadi va qo'shimcha mahkamlashni yaratadi. Biroz vaqt o'tgach, shu maqsadda men sovet targ'ibot radiosidan uyga duch keldim (agar u ilgari topilgan bo'lsa, men barcha stendlarni shu erdan olgan bo'lardim), u erda bir nechta yoki kamroq mos balandliklarni topdim, lekin avval men ularni markazda o'z-o'zidan tejamkor vintlar ostidagi matkap bilan burg'uladim Keyin men ularni arraladim va ortiqcha narsalarni olib tashlab, ularni fayl bilan tugatdim. Bu erda men bitta noziklikni o'ylab topdim - fotosuratda siz bitta oq stend getinaks taxtasiga chetidan, ikkinchi oq esa to'g'ridan-to'g'ri modul taxtasiga vidalanganligini ko'rishingiz mumkin, chunki bir chetidan modem taxtasi pastki taxtani to'liq qoplaydi va qarama-qarshi tomondan - aksincha - pastki qismi allaqachon ko'zdan kechiriladi. Shu bilan birga, vintlarning boshlari erkin o'tishi uchun ikkala taxtada ham qo'shimcha teshiklarni ochish kerak edi.
Va nihoyat, taxta har doim tanaga parallel ekanligiga ishonch hosil qilish uchun qoladi - devorga simlar va kabellarni mahkamlash uchun ishlatiladigan shtapellar bu vazifa uchun juda mos keladi, men ilgari ulardan mixlarni olib tashladim. Qavslar hech qanday qo'shimcha qurilmalarsiz konkav tomoni bilan taxtaga yaxshi yopishadi, yagona narsa SIM-kartaning o'ng tomonida, qavsning kengligi haddan tashqari bo'lib chiqdi va men ham uni silliqlashim kerak edi.
Barcha tafsilotlar ko'z bilan va eksperimental tarzda o'zgartirildi, quyida yuqoridagilarning barchasining fotosurati keltirilgan:



Ulagichlar. LEDlar. Tugma.

Menda taroq tugab qolganligi sababli, DVD disk kartasidan 6 pinli ulagichni olib tashlashga majbur bo'ldim, keyin uni Pro Mini-ga lehimladim, bu platani miltillash qulayligi uchun. Yaqin atrofda lityumni zaryad qilish uchun dumaloq ulagichni (Nokiev 3,5 mm) lehimladim.

6 pinli ulagichning tanasi biroz fayl bilan bezatilgan, chunki uning qirralari tanadan biroz yuqoriga chiqib ketgan. Zaryadlovchi rozetkasi korpus devoriga juda mos tushadi.

Kengashning boshqa tomonida men qurilmani qayta ishga tushirish tugmachasini va mikrodasturni tuzatish uchun ikkita LEDni lehimladim - qizil LED GSM moduliga ulangan, ikkinchi yashil LED Pro Mini-ning 10-piniga ulangan - bu dasturni disk raskadrovka qilish men uchun osonroq.

Batareyani o'zgartirish

Nokia telefonlarining tekis Nokia batareyasi 18650-dan kam emas, lekin ko'pchilik batareyaning o'ziga chuqur kirib boradigan kontaktlarni ulashda noqulaylik tufayli uni ishlatishdan bosh tortadi. Ularni lehimlash istalmagan, shuning uchun ular tomonidan taklif qilingan usuldan foydalanishga qaror qilindi, ya'ni ofis o'chirgichidan va mis simdan (qalinligi 1,5 mm) kontakt blokini o'zingiz yasang.
Birinchidan, men uchlari oldindan kesilgan ikkita simli o'chirgichni teshib qo'ydim va ularni batareya kontaktlariga moslashtirdim, shunda ular orasidagi masofa mos keladi,
Men uchlarini egdim, ularni lehim temir bilan qalayladim va ularni uzun uchlari bilan bir oz orqaga tortdim, shunda hosil bo'lgan kontaktlar o'chirgichga tushdi.



Batareyaga urinish:

Siz kontakt blokini kauchuk tarmoqli bilan mahkamlashingiz yoki uni ko'k elektr lenta bilan o'rashingiz mumkin, men oxirida shunday qildim.

Assambleya.

Ishning asosiy qismi bajarildi, uni yig'ish va yozib olish qoladi.
Batareya va doska orasiga ko'pikli kauchuk bo'lagini qo'ydim, shunda u keyinchalik korpus ichida harakatlanmaydi. Men modulni quvvatlantirish uchun qo'shimcha ravishda 2200 mkF kondensatorni lehimladim.

Zaryadlash ulanganda:

Ramka. Tashqi terminal bloki.

Bu korpus mahalliy radio bozorida taxminan 1,5 dollarga sotilgan, agar dollarga aylantirilsa, o‘lchami 95x60x25 mm, deyarli bir quti sigaret hajmiga teng. Men unda bir nechta teshiklarni burg'uladim. Birinchidan, ishlamaydigan dimmerdan olingan 4 pinli terminal bloki uchun.
Men ikkita tashqi kontaktni boltlardan ajratgichlar bilan butunlay ozod qildim, uzunroq murvatlar uchun teshiklar ochdim, ular butun terminal blokini tanada ushlab turadi. Korpusning o'zida, albatta, ikkita tashqi teshik katta bo'ladi va o'rtadagi ikkitasi kichikroq bo'ladi - ular orqali o'ralgan kontaktlar bo'ladi, ulardan biri VCC Pro Mini-ga, ikkinchisi esa pinga ulangan. 2.

Burg'ulash teshiklari, garchi bir qarashda oddiy ish bo'lsa ham, unchalik ko'p mehnat talab qilmaydi, uni o'tkazib yuborish juda oson, shuning uchun men buni avval kichikroq diametrli matkap bilan, keyin esa kattaroq bilan qildim.

Xushmuomalalik tugmasi uchun men tanadagi tor teshikdan gugurt yoki qog'oz qisqichi bilan erishish oson bo'lishi uchun tepasi biroz konkavli qalpoqni tanladim.

USB-TTL konvertor kabeli ulangan qutidagi taxta:

Antenna haqida.
Antenna, siz ko'rib chiqish davomida payqaganingizdek, men turli xil uy antennalari bilan tajriba o'tkazganimda, doimo o'zgarib turardi. Dastlab, modul platasida dumaloq koaksiyal ulagich mavjud edi, lekin beshinchi marta tashqi antenna uchun ishlatilganda, u shunchaki parchalanib ketdi, shuning uchun uning zaif ekanligini unutmang. Natijada, men PCBdagi antennani eski routerdan yirtib tashladim va uni modul platasiga lehimladim, chunki... u to'rni bahor va simdan bir oz yaxshiroq ushlaydi.

Xo'sh, zaryadlash ulangan holda to'liq yig'ilgan holda u quyidagicha ko'rinadi:

Sinov. U qanday ishlaydi:

Antennalar bilan sinovlardan tashqari, men signalning tashqarida, -15 sovuqda qanday ishlashini tekshirdim. Buni amalga oshirish uchun men shunchaki butun ichkarini idishga joylashtirdim va uni bir kechada balkonda qoldirdim, signal ishga tushmadi, sababi umuman ma'lum bo'ldi - lityum sovuqni yoqtirmaydi. Buni yana bir sinov tasdiqladi, men batareyani uyda qoldirdim va taxtani uzun simlar orqali tashqariga olib chiqdim va xuddi shu sovuqda bir kunga qoldirdim - u hech narsa bo'lmagandek ishladi. Boshqa tomondan, agar signal ishlamasa, g'alati bo'lar edi, chunki ... Atmega, modullar va kvarts uchun ma'lumotlar jadvallarida ruxsat etilgan ish harorati -40 darajagacha.

Ishlash printsipi tashqi uzilish yordamida tashkil etilgan, dastlab 2-pin VCC-ga yopiladi va shu bilan chiqishda mantiqiy 1 saqlanadi va kontroller uxlab qoladi. Kontakt uzilib, 2-pinda 0 paydo bo'lishi bilanoq, mikrokontroller uyg'onadi, 3-pinni (modemning BOOT rezistor orqali ulangan) erga tushiradi - modul ishga tushadi, MK vaqti-vaqti bilan so'rov o'tkazadi. moduli tayyor bo'ladi va u tarmoqqa ulanishi bilan darhol kodda ko'rsatilgan egasining telefon raqamiga qo'ng'iroqni yuboradi. Qo'ng'iroqni rad etgandan so'ng, qurilma boshqa cheksiz qo'ng'iroqlarni yubormasdan o'chadi, bu ko'plab xitoy signallari bilan bog'liq muammo.

qo'shimcha ma'lumot

#o'z ichiga oladi #o'z ichiga oladi // UART dasturiy ta'minot kutubxonasi SoftwareSerial gsm(7, 6); // RX(7), TX(6) void wakeUp()() // bo'sh uzilish ishlovchisi ////////////////////////// ////////////// bekor 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(); // укладываем контроллер спать } }

O'chirish diagrammasi (zaryadni tushirishni boshqarish platasisiz)



Xulosa va fikrlar. Rejalar.

Signal dachada ishlatiladi, men ishdan mamnunman, ammo AVR-ni yanada o'rganish bilan keyingi o'zgartirishlar uchun ko'proq g'oyalar paydo bo'ladi. Arduino o'zining soxta tilli simlari bilan meni juda xafa qildi, chunki ... Ishda bir noxush lahza aniqlandi. Men digitalWrite(); port funksiyalaridan foydalanganda; yoki pinMode(); - negadir GSM moduli tez-tez muzlab qoldi. Ammo ularni DDRB|=(1<Faqat portlarga to'g'ridan-to'g'ri kirish operatsiyasi qurilmani maqsadga muvofiq ishlashiga imkon berdi.

Energiyani tejash haqida...
Yig'ilgan qurilma to'rt oy davomida zaryadsiz ishladi va ishlashda davom etmoqda, garchi "uyqu" deyish to'g'ri bo'lar edi. Buni oq tugma orqali qayta ishga tushirish orqali tekshirish mumkin. 250 mkA quvvat sarfi (LE33 stabilizatori orqali) va ~ 1430 mA / soat batareya bilan, yaxshi bo'lsa-da, batareyaning yangiligi tufayli biz uni 1000 mA / soatgacha yaxlitlaymiz, qurilma uxlashi mumkinligi ma'lum bo'ldi. zaryadlashsiz taxminan 5,5 oy. Agar siz hali ham stabilizatorni olib tashlasangiz, unda ish vaqti xavfsiz tarzda 10 barobarga ko'paytirilishi mumkin. Lekin mening holimda bunga hojat yo'q, chunki siz hali ham SIM-kartadan balansni har uch oyda bir marta sarflashingiz kerak, shu bilan birga qurilma tekshirilishi va zaryadlanishi mumkin.
Ko'rib chiqishda berilgan energiya tejash misoli chegaradan uzoqdir, chunki Ma'lumotlar varag'idagi ma'lumotlarga ko'ra, siz mikrokontrollerning soat chastotasini (va bu sigortalar o'rnatish orqali amalga oshiriladi) 1 MGts ga tushirishingiz mumkin va agar siz 1,8 V kuchlanishni qo'llasangiz, faol rejimda iste'mol 1 mkA bardan pastga tushadi. . Juda yaxshi! Ammo agar MK ichki RC osilatoridan soatlangan bo'lsa, unda yana bir muammo paydo bo'ladi - UART havosi axlat va xatolar bilan tiqilib qoladi, ayniqsa boshqaruvchi qizdirilgan yoki sovutilgan bo'lsa.

Tugallangach...
1) Buzish uchun o'rnatilgan oddiy sim juda qulay emas, men Hall sensori va qamish kaliti bilan tajriba o'tkazishni rejalashtirmoqdaman, garchi ular ikkinchisi haqida bu juda ishonchli emasligini aytishadi, chunki uning ichidagi kontaktlar yopishishi mumkin.
2) Kompyuter ishtirokisiz va uni miltillamasdan "egasining raqamini" o'zgartirish qobiliyatini qo'shish yaxshi bo'lar edi. EEPROM bilan ishlashingiz kerak bo'ladi.
3) Kuzatuv taymeridan uzilishlarni sinab ko'ring, lekin shunchaki qiziquvchanlik uchun emas, balki mikrokontroller vaqti-vaqti bilan o'z-o'zidan uyg'onishi, batareyaning kuchlanishini o'lchashi va batareya quvvati qanchalik pastligidan xabardor bo'lish uchun olingan qiymatni SMS orqali yuborishi uchun.
4) Quyosh paneli qurilmani qayta zaryadlash zaruratini butunlay yo'q qilishi mumkin, bu ayniqsa kam quvvatli batareyalar uchun to'g'ri keladi.
5) Uzoq vaqt davomida men LiFePo4 batareyalarini sotib olmoqchi bo'ldim, sharhlarga ko'ra, sovuqqa yaxshi bardosh bera oladi, lekin men mos keladigan joyni qidirayotganimda, bahor allaqachon jimgina kelgan edi.
6) Estetik komponent ustida ishlang

Qaysi Pro Mini sotib olishingiz kerak?
Agar sizda sochlarini fen mashinasi bo'lmasa, Pro Mini "RobotDyn" Atmega168PA 3,3V, o'tkir narsa bilan LEDni olib tashlang va sizda ~250 mkA bo'ladi.
Agar sizda sochlarini fen mashinasi bo'lsa, unda har qanday taxta, stabilizator va quvvat manbai uchun LEDni lehimlang - siz ~20 mkA oqim sarfini olasiz.

Hozircha hammasi shu, umid qilamanki, sharh qiziqarli va foydali bo'ldi.

+174 sotib olishni rejalashtirmoqda Sevimlilarga qo'shing Menga sharh yoqdi +143 +278

Ushbu loyiha o'g'rilar tomonidan infiltratsiyaga bo'lgan har qanday urinishlarning oldini olish/nazorat qilish tizimini ishlab chiqish va takomillashtirish bilan bog'liq. Ishlab chiqilgan xavfsizlik qurilmasi GSM (Global System for Mobile Communications) texnologiyasiga asoslangan oʻrnatilgan tizimdan (ochiq kodli dasturiy taʼminot va GSM modemdan foydalangan holda apparat mikrokontrollerini oʻz ichiga oladi) foydalanadi.

Uyda xavfsizlik moslamasi o'rnatilishi mumkin. Intrusion signal interfeysi sensori, shuningdek, boshqaruvchiga asoslangan xavfsizlik tizimiga ulangan.
Kirishga urinilganda, tizim keyingi ishlov berish uchun egasining mobil telefoniga yoki oldindan sozlangan mobil telefoniga ogohlantirish xabarini (masalan, sms) yuboradi.

Xavfsizlik tizimi Arduino Uno mikrokontrolleri va GSM/GPRS asosidagi standart SIM900A modemidan iborat. Butun tizim har qanday 12V 2A quvvat manbai/batareyadan quvvatlanishi mumkin.

Quyida Arduino-ga asoslangan xavfsizlik tizimining diagrammasi keltirilgan.

Tizimning ishlashi juda oddiy va tushuntirishni talab qilmaydi. Tizimga quvvat berilganda, u kutish rejimiga o'tadi. J2 ulagichining pinlari qisqa tutashtirilganda, kerakli mobil raqamga oldindan dasturlashtirilgan ogohlantirish xabari yuboriladi. J2 kirish ulagichiga har qanday hujum detektorini (masalan, yorug'lik himoyasi yoki harakat sensori) ulashingiz mumkin. E'tibor bering, J2 ulagichining 1-pinidagi faol past (L) signali o'g'ri signalini faollashtiradi.

Bundan tashqari, tizimga ixtiyoriy "qo'ng'iroq-signal" qurilmasi qo'shildi. Foydalanuvchi S2 tugmasini bosganda (yoki boshqa elektron blok signalni ishga tushirganda) telefon qo'ng'irog'ini faollashtiradi. "Qo'ng'iroq" tugmasini (S2) bosgandan so'ng, qo'ng'iroqni boshqa S3 tugmachasini - "tugatish" tugmasini bosish orqali bekor qilish mumkin. Ushbu parametr bosqin sodir bo'lgan taqdirda "o'tkazib yuborilgan qo'ng'iroq" signalini yaratish uchun ishlatilishi mumkin.

Sxema juda moslashuvchan, shuning uchun u har qanday SIM900A modemidan (va, albatta, Arduino Uno platasidan) foydalanishi mumkin. Iltimos, yig'ishni boshlashdan oldin modem hujjatlarini diqqat bilan o'qing. Bu tizimni ishlab chiqarish jarayonini oson va yoqimli qiladi.

Radioelementlar ro'yxati

Belgilanish Turi Denominatsiya Miqdori EslatmaDo'konMening bloknotim
Arduino taxtasi

Arduino Uno

1 Bloknot uchun
GSM/GPRS modemSIM900A1 Bloknot uchun
IC1 Lineer regulyator

LM7805

1 Bloknot uchun
C1 100 uF 25 V1 Bloknot uchun
C2 Elektrolitik kondansatör10 uF 16 V1 Bloknot uchun
R1 Rezistor

1 kOm

1 Bloknot uchun
LED1 Yorug'lik chiqaradigan diod 1 Bloknot uchun
S1 TugmaFiksatsiya bilan1


Garaj yoki yozgi uy uchun SIM800L va Arduino yordamida oddiy GSM signalizatsiya tizimini qanday qilish kerak. Biz buni Aliexpress-dan tayyor modullar yordamida o'zimiz qilamiz. Asosiy modullar– SIM800L GSM moduli, Arduino Nano (siz har qanday Uno va boshqalardan foydalanishingiz mumkin), pastga tushirish paneli, mobil telefon batareyasi.

Guruch. 1. Arduino-da xavfsizlik signalizatsiya modullarining joylashuvi

Signal ishlab chiqarish

Biz uni prokladkalar orqali non taxtasiga o'rnatamiz, bu sizga kerak bo'lganda modullarni almashtirishga imkon beradi. SIM800L va Arduino Nano-dagi kalit orqali 4,2 voltli quvvatni etkazib berish orqali signalni yoqing.



Birinchi tsikl ishga tushirilganda, tizim birinchi navbatda birinchi raqamga qo'ng'iroq qiladi, so'ngra qo'ng'iroqni o'chiradi va ikkinchi raqamga qayta qo'ng'iroq qiladi. Ikkinchi raqam, agar birinchisi to'satdan uzilib qolsa va hokazo bo'lsa, qo'shilgan. Ikkinchi, uchinchi, to'rtinchi va beshinchi tsikllar ishga tushirilganda, tetiklangan zonaning raqami bilan SMS-xabar, shuningdek, ikkita raqamga yuboriladi. Qiziqqanlar uchun diagramma va eskiz video ostidagi tavsifda.
Biz barcha elektronikani tegishli korpusga joylashtiramiz.



Agar sizga 5 ta kabel kerak bo'lmasa, 5V Arduino pinini keraksiz kirishlarga ulang. 5 ta halqali va akkumulyatorli GSM signalizatsiya tizimi, bu qurilmaning bir necha kun davomida, hatto elektr uzilishi paytida ham avtonom ishlashini ta'minlaydi. Siz ularga har qanday xavfsizlik aloqasi sensorlarini, o'rni kontaktlarini va hokazolarni ulashingiz mumkin, natijada biz SMS yuborish va 2 raqamga terish uchun oddiy, arzon, ixcham xavfsizlik moslamasini olamiz. U dacha, kvartira, garaj va hokazolarni himoya qilish uchun ishlatilishi mumkin.

Batafsil ma'lumot videoda