ev

Arduino istifadə edərək yay evi üçün siqnalizasiya sxemi. Ev siqnalizasiyası və ya Arduino ilə hərəkət sensoru və LCD monitordan istifadə etməklə

Son məqalədə SIM800L GSM modulundan istifadə etməyi öyrəndik və yükü uzaqdan idarə etmək üçün sadə bir dizayn etdik, bu gün daha maraqlı bir şey edəcəyik, yəni Aliexpress və Arduino-dan SIM800L modulunda istifadə edilə bilən GSM təhlükəsizlik siqnalizasiya sistemi. mənzili, bağ evi, qarajı və s. digər obyektləri qorumaq üçün və işə salındıqda zəng və ya SMS mesajı ilə sizi xəbərdar edəcək.

GSM həyəcan siqnalı yaratmaq üçün bizə lazımdır:

  • GSM/GPRS modulu SIM800L;
  • Arduino Nano, UNO və ya digər Arduino;
  • Buck DC-DC çeviricisi;
  • Batareya 3,7 V;
  • 10 k - 7 ədəd üçün rezistorlar;
  • Enerji bloku.

SIM800L və Arduino modulundan istifadə edərək GSM təhlükəsizlik siqnalını necə etmək olar, işin təsviri:

SIM800L modulu, Arduino, sensorlar və s. aşağıdakı sxemə uyğun olaraq birləşdiririk, hər şey çörək lövhəsində yığılır ki, istədiyiniz zaman nəyisə dəyişə biləsiniz, biz onu istənilən uyğun qutuya yerləşdiririk və təhlükəsizlik üçün naqilləri korpusdan çıxarırıq. sensorlar və enerji təchizatı. Batareyanı da korpusa yerləşdiririk, bu lazımdır ki, evdə elektrik sönəndə cihaz akkumulyatorla işləyən avtonom rejimə keçsin. Gücləndirici çeviricidə çıxışı 4,2 volta təyin etdik, bu gərginlikdə GSM SİM modulu işləyir və eyni zamanda batareya doldurulur və bu gərginlik Arduino Nano-nun işləməsi üçün də kifayətdir.

Siz dövrəyə istənilən 5 sensoru qoşa bilərsiniz, məsələn, qamış açarları, rütubət, tüstü, hərəkət sensorları və s. hansı rele əməliyyatını dəstəkləyir, çünki bu dövrə beş sensordan hər hansı birinin açıq dövrəsi üçün həyəcan siqnalı vermək üçün konfiqurasiya edilmişdir, lakin istəsən, eskiz qısa qapanmaya çevrilə bilər.

Birinci sensor işə salındıqda, göstərilən nömrəyə zəng edilir, sonra zəng dayandırılır və ikinci nömrəyə zəng edilir, bu, ilk nömrə hazırda mövcud olmadıqda edilir. Qalan 4 təhlükəsizlik sensoru işə salındıqda, yalnız tetiklenen zonanın nömrəsi və ya adının yazıldığı SMS mesajı göndərilir və bu mesaj iki telefon nömrəsinə də göndəriləcəkdir.

Eskizdə “Siqnal! Zona 1", "Siqnal! Zona 2", "Siqnal! Zona3”... Siz konkret sensor quraşdırdığınız obyektin adını yaza bilərsiniz, məsələn “Siqnal! Pəncərə", "Siqnal! Dverj” və s. zona adlarını yalnız latın dilində yazın. Həm də eskizdə sahibinə geri zəng etmək vaxtı təyin olunur, yəni neçə saatdan sonra bütün sistemin işlədiyini və hər şeyin qaydasında olduğunu sizə bildirmək üçün standart olaraq hər 144 saatdan bir geri zəng etmək üçün təyin edilmişdir.

Budur, biz SIM800L modulu və Arduino istifadə edərək sadə bir GSM təhlükəsizlik siqnalı yaratdıq, eskiz və sxem dəyişdirilə bilər, məsələn, SIM800L modulu ona dinamik və mikrofon qoşmaq qabiliyyətini dəstəkləyir, bu da sizə qulaq asmağa imkan verəcəkdir. qorunan binalara, həmçinin səsinizi dinamikə çatdırın.

Arduino üçün eskizi yükləyin.

Evlərini çağırılmamış qonaqlardan qorumaq üçün getdikcə daha çox insan həyəcan siqnalları quraşdırır. Onlar binalara müdaxilə barədə vaxtında xəbərdarlıq etməyə imkan verir. Bu gün müxtəlif növ həyəcan siqnalları var, lakin son vaxtlar GSM siqnallarının populyarlığı artmağa başladı, çünki onlar obyektdən istənilən məsafədə müdaxilə haqqında məlumat almağa imkan verir, əsas odur ki, sahibinin yanında telefon var. vaxt və bu telefon onlayndır. Təəssüf ki, bu sistemlər yalnız onlara üstünlük vermək üçün hələ çox ucuz deyil. Amma indiki vaxtda siz özünüz sadə GSM siqnalizasiya edə bilərsiniz. Populyar Arduino lövhəsi bu məsələdə kömək edəcəkdir.


Bu layihə evə girən girənlərin xəbərdar edilməsi üçün təhlükəsizlik (siqnal) sistemidir. Sistem GSM texnologiyasından istifadə edir.



Bu təhlükəsizlik sisteminin mikrokontroller lövhəsinə müdaxilənin aşkarlanması modulu qoşulmuşdur, o, məsələn, IR sensoru və ya ultrasəs yaxınlıq sensoru üzərində qurula bilər. Belə bir moduldan siqnal alındıqda istifadəçinin telefonuna evinin sındırıldığını bildirən SMS mesajı göndərilir.


Aşağıdakı şəkildə təhlükəsizlik sisteminin blok diaqramı göstərilir.



Sistemin əsas elementləri mikrokontroller lövhəsi (məsələn, Arduino Uno) və SIM900A GSM/GPRS moduludur. Bütün sistem tək 12V/2A enerji təchizatı ilə təchiz oluna bilər.


Aşağıdakı şəkil Arduino əsaslı GSM ev təhlükəsizlik sisteminin dövrə diaqramını göstərir.



Sistemin işləməsi çox sadədir və çox izahat tələb etmir. Enerji təchizatı tətbiq edildikdə, sistem gözləmə rejiminə keçir. Bununla belə, J2 qısaqapandıqda xəbərdarlıq mesajı avtomatik olaraq əvvəlcədən təyin edilmiş mobil telefon nömrəsinə ötürülür. İstənilən aşkarlama sensoru J2 giriş konnektoruna qoşula bilər. Qeyd etmək lazımdır ki, J2 pin 1-də aşağı səviyyə aktivdir və təhlükəsizlik sistemini işə salır.


Bundan əlavə, sistem S2 düyməsini sıxaraq zəng etmək imkanı əlavə edib. S3 düyməsini istifadə edərək bu zəngi sıfırlaya bilərsiniz.


Aşağıda Arduino üçün kod var.


//Tx pinini GPS modulunun D3 pininə birləşdirin //Rx pinini GPS modulunun D4 pininə birləşdirin //SMS göndərmə siqnalını D7 pininə (aktiv səviyyə aşağı) birləşdirin //ZƏNG siqnalını D8 pininə qoşun (aktiv səviyyə aşağı) //Zəng sıfırlama siqnalını END D9 pininə qoşun (aktiv səviyyə aşağı) #include NewSoftSerial mySerial(3,4); // GSM modulu ilə əlaqə üçün RX və TX pinlərini konfiqurasiya edin #define msg_key 7 #define call_key 8 #define end_key 9 String number ="0000000000"; // Burada sıfırların yerinə 10 rəqəmli mobil nömrənin ləğvi parametrini daxil etməlisiniz () ( Serial.begin(9600); mySerial.begin(9600); pinMode(msg_key,INPUT); pinMode(call_key,INPUT) ; pinMode(end_key,INPUT ); digitalWrite(msg_key,HIGH); digitalWrite(zəng_açması,YÜKSƏK); digitalWrite(son_key,HIGH); ) void loop() (/(digitalRead(msg_key)) hər dəfə msg_key işə salındıqda sms göndərin ==LOW) / / SMS göndərmə düyməsinin basılıb-basılmadığının yoxlanılması ( mySerial.println("AT+CMGF=1"); // Rejimi mətn rejimi gecikməsi kimi təyin edin(150); mySerial.println("AT+CMGS=" \"+00"+ number+"\""); // Sıfır gecikməni (150) əvəz etməklə alıcının nömrəsini beynəlxalq formatda göstərin; mySerial.print("Xəbərdarlıq! İntruder Alert!"); // Mesaj gecikməsini daxil edin( 150); mySerial.write((bayt)0x1A); // Mesaj simvolunun sonu 0x1A: Ctrl+z gecikməsinə (50) ekvivalentdir; mySerial.println(); ) // Zəng_düyməsi işə salındıqda zəng edin, əks halda (( digitalRead(call_key)==LOW) // Zəng_düyməsinə artıq basılıb-basılmadığını yoxlayın ( mySerial.println("ATD+91"+nömrə+";"); //Zəng etmək üçün nömrəni müəyyən edin(digitalRead(call_key)== LOW); gecikmə (50); ) //Zəngi sıfırlayın, əgər (digitalRead(end_key)==LOW) //Zəng sıfırlama düyməsinin artıq basıldığını yoxlayın ( mySerial.println("ATH"); while(digitalRead(end_key)==LOW); gecikmə (50); ))

Beləliklə, öz əllərinizlə Arduino lövhəsi əsasında GSM siqnalizasiya sistemini çox asanlıqla yarada bilərsiniz. Belə bir siqnalizasiya sistemi, dəyəri baxımından, əlbəttə ki, bu gün bazarda olan markalı analoqlardan daha ucuz olacaq və demək olar ki, eyni şəkildə fəaliyyət göstərəcəkdir.

Günortanız Xeyir Yenə Çin elektron komponentlərinin çoxtərəfli nəzərdən keçirilməsi, hər zaman olduğu kimi, hər şeyin bir az hissəsi haqqında, mən qısa saxlamağa çalışacağam, amma işləyəcəkmi? Beləliklə, qiyməti 700 ₽-ə qədər olan GSM siqnalizasiya sistemi ilə tanış olun. Maraqlıdır? Zəhmət olmasa "kəs" istifadə edin!

Gəlin başlayaq! Başlamazdan əvvəl mən buna, daha az komponentə və daha çox muxtariyyətə nəzər salmağı məsləhət görürəm. Beləliklə, "texniki xüsusiyyətlər", siqnalizasiya üçün əsas tələblər:

1) Sensorlar işə salındıqda xəbərdar edin.
2) Elektrik kəsilməsi halında müəyyən muxtariyyət təmin edilməlidir.
3) SMS və zənglər vasitəsilə həyəcana nəzarət.

Siqnalın yaradılması prosesinin bir neçə ay çəkməsi və bəzi satıcıların onlardan alınmış komponentləri artıq satmaması səbəbindən bağlantılar maksimum və ya maksimum məhsul satışı sayına yaxın olan digər satıcıların məhsullarına yenilənəcək. və ən yaxşı qiymət. Rəydəki qiymətlər yazıldığı tarixdə aktualdır.

Sizə lazım olacaqların siyahısı:

Dəyişikliklərin siyahısı

GSM_03_12_2016-14-38.hex- M590 modem ilə cihazın sabit işləməsi.
GSM_05_12_2016-13-45.hex- RAM istifadəsini optimallaşdıran memtest konsol əmri əlavə edildi.
GSM_2016_12_06-15-43.hex- komanda nəticələrinin konsola əlavə edilməsi, yaddaşın optimallaşdırılması. İşlənmiş: 49% SRAM.
GSM_2016_12_07-10-59.hex- indi telefon nömrələri düzgün əlavə edilib və silinib. Məşğul: 49% SRAM, 74% Fləş Yaddaş.
GSM_2016_12_07-15-38.hex- A0 pininə qoşulmuş hərəkət sensorunu birləşdirmək imkanı əlavə edildi (bu halda A0 pin rəqəmsal olaraq istifadə olunur). SMS əmrləri əlavə edildi PIRON, PIROff. Məşğul: 48% SRAM, 76% Fləş Yaddaş.
GSM_2016_12_08-13-53.hex- İndi cavab olaraq SMS mesajı göndərməyən əmri uğurla yerinə yetirdikdən sonra cihaz mavi LED-i bir dəfə yanıb-sönür. İndi cavab olaraq SMS mesajı göndərməyən əmrin səhv icrasından sonra cihaz mavi LED-i iki dəfə yanıb-sönür. İndi cihazın parametrlərini işə saldıqdan sonra “sakit” rejimi aktivləşdirilibsə (SendSms = 0), cihaz mavi LED-i 2 saniyə tez-tez yanıb-sönür. Telefonu Sil əmrindən istifadə edərək nömrənin həmişə yaddaşdan silinməməsinə görə səhv düzəldildi. Məşğul: 48% SRAM, 78% Fləş Yaddaş.
GSM_2016_12_11-09-12.hex- AddPhone və DeletePhone konsol əmrləri əlavə edildi, sintaksis SMS əmrlərinə bənzəyir. Yaddaşın optimallaşdırılması. Məşğul: 43% SRAM, 79% Fləş Yaddaş.
GSM_2017_01_03-22-51.hex- Qamış açarları da daxil olmaqla əlavə 8 sensoru birləşdirmək üçün PCF8574 çipində oxşar I/O port genişləndiriciləri üçün dəstək həyata keçirilib. Avtomatik ünvan axtarışı və avtomatik modul konfiqurasiyası. Sensorların standart adları və onların reaksiyasının məntiqi səviyyəsi EditSensor əmrindən istifadə etməklə dəyişdirilir. Əsas sensor (pin D0) üçün siqnal SMS-inin məzmunu dəyişdirilib: “Siqnal! Əsas sensor! və hərəkət sensoru (pin A0) “Siqnal! PIR sensoru! EditSensor və I2CScan əmrləri əlavə edildi. İşlənmiş: 66% SRAM, 92% Fləş Yaddaş.
GSM_2017_01_15-23-26.hex- A6_Mini modem üçün dəstək. Xarici gücün mövcudluğunun monitorinqi (pin D7). Əlavə edilmiş SMS əmrləri WatchPowerOn, WatchPowerOff. ListConfig, ListSensor konsol əmrləri əlavə edildi. İndi EditSensor SMS əmri düzgün işləyir. Port monitoruna sazlama məlumatının çıxışı bir qədər azaldılıb. İşlənmiş: 66% SRAM, 95% Fləş Yaddaş.
GSM_2017_01_16-23-54.hex- İndi “Məlumat” SMS əmrinə cavab mesajında ​​hərəkət sensorunun vəziyyəti də bildirilir. Bəzən boş cavab SMS mesajlarının göndərilməsi ilə bağlı səhv düzəldildi. İndi cihaz yalnız bağlanma haqqında deyil, həm də xarici gücün bərpası haqqında məlumat verir. Bütün modemlər daha az danışmağa başladı və indi port monitoru bir az daha təmizdir. İşlənmiş: 66% SRAM, 95% Fləş Yaddaş.
GSM_2017_02_04-20-23.hex- “Gücünü işə salın” xətası düzəldildi. İndi, tərksilah edildikdən sonra "siqnal pin" söndürülür. İndi nömrəni sildikdən sonra konsolda düzgün məlumat göstərilir. Ola bilsin ki, bəzən boş cavab SMS mesajlarının göndərilməsinə görə səhv düzəldilib. Məşğul: 66% SRAM, 90% Fləş Yaddaş.
GSM_2017_02_14-00-03.hex- İndi SMS mesajları defolt olaraq göndərilir, SendSms parametri yenidən 1-ə bərabərdir. İndi əsas qamış sensorunun kontaktları bağlandıqda (qapını bağlayır) cihaz 2 saniyə ərzində mavi LED ilə yanıb-sönür və normal işləməyi göstərir. sensorun. Məşğul: 66% SRAM, 90% Fləş Yaddaş.
GSM_2017_03_01-23-37.hex- WatchPowerOn əmri silindi. SMS əmri ilə eyni olan WatchPowerOff konsol əmri əlavə edildi. WatchPowerOn1, WatchPowerOn2 əmrləri əlavə edildi. WatchPowerOn1 - həyəcan siqnalı işə salındıqda xarici enerji monitorinqi aktiv edilir, WatchPowerOn2 - xarici enerji monitorinqi həmişə aktivdir. Xarici qurğularla silahlanma və tərksilah funksiyası həyata keçirilir, bunun üçün A1(D15) və A2(D16) pinləri istifadə olunur. A1(D15) pinində yüksək səviyyəli +5V və ya A2(D16) pinində aşağı səviyyəli GND göründükdə həyəcan siqnalı işə salınır/silahsızlanır. Pin A1 (D15) GND-ə qədər çəkilir, pin A2 (D16) 20 (10) kOhm rezistorlar vasitəsilə +5V-ə qədər çəkilir. GuardButtonOn və GuardButtonOff əmrləri əlavə edildi. İndi, silahlandıqdan sonra, əsas reed keçid dövrəsinin bütövlüyü yoxlanılana qədər qırmızı LED yanıb-sönür. Dövrə bütövdürsə, qırmızı LED yanır. İşlənmiş: 66% SRAM, 95% Fləş Yaddaş.
GSM_2017_03_12-20-04.hex- İndi konsol daha da təmiz oldu, lakin “TestOn” test rejimi aktivləşdirilərsə, konsolda əlavə məlumat göstərilir. “Göndərildi!” xətası aradan qaldırıldı, mesajların göndərilməsi ilə bağlı məlumatlar indi konsolda düzgün şəkildə göstərilir. "Təkrarlanan yanlış zəng" səhvi düzəldildi. İndi balans sorğusu bütün modemlərdə düzgün işləməlidir. Məşğul: 67% SRAM, 95% Fləş Yaddaş.
GSM_2017_04_16-12-00.hex- Düzəliş etdi. İndi Məlumat və Pul əmrləri həmişə cavab SMS göndərəcək. GuardButtonOn əmri GuardButtonOn1 və GuardButtonOn2 əmrləri ilə əvəz edilmişdir. İşlənmiş: 67% SRAM, 99% Fləş Yaddaş.
GSM_2017_04_21-09-43.hex - istifadə üçün tövsiyə edilmir, yalnız sınaq məqsədləri üçün, səhvləri müəyyən etdiyiniz üçün təşəkkürlər :) - İndi sendsms parametri elektrik şəbəkəsinin monitorinqi üçün SMS mesajlarının göndərilməsinə təsir göstərmir. Silahlanma zamanı gecikməyə görə cavabdeh olan DelayBeforeGuard SMS əmri əlavə edildi, dəyər 255 saniyədən çox ola bilməz. Bildirişlərin göndərilməsini gecikdirmək və sensorlar işə salındıqda "siqnal pinini" işə salmaq üçün cavabdeh olan DelayBeforeAlarm SMS əmri əlavə edildi; dəyər 255 saniyədən çox ola bilməz. ClearSMS əmrləri silindi, mesajlar alındıqdan sonra avtomatik olaraq silinir. İşlənmiş: 68% SRAM, 100% Fləş Yaddaş.
GSM_2017_04_22-20-42.hex- Çoxlu səhvlər düzəldildi. ClearSMS əmrləri yenidən proqram təminatında mövcuddur. Yaddaşın optimallaşdırılması. Məşğul: 68% SRAM, 98% Fləş Yaddaş.
GSM_2017_04_23-17-50.hex- İndi balans sorğusu bütün modemlərdə düzgün işləməlidir. Xarici cihazlarla silahlanma və tərksilah indi düzgün işləyir. Məlumat əmrindən gələn SMS cavab mesajları boş olmamalıdır. Yaddaşın optimallaşdırılması. Məşğul: 68% SRAM, 98% Fləş Yaddaş.
GSM_2017_04_24-13-22.hex- İndi konsol əmrləri yalnız test rejimi aktiv olduqda GSM moduluna göndərilir. İndi SMS əmrləri ilə konsol əmrləri arasında heç bir bölgü yoxdur, bütün mövcud əmrlər həm SMS, həm də konsol vasitəsilə ötürülə bilər. Məlumat əmri ilə bağlı səhv düzəldilmiş ola bilər. Yaddaşın optimallaşdırılması. Məşğul: 68% SRAM, 94% Fləş Yaddaş.
GSM_2017_04_25-20-54.hex- ListConfig əmrinin son hadisənin dəyərini dəyişdirdiyi səhv düzəldildi. İndi konsol vasitəsilə əmrləri daxil edərkən, lazımsız SMS mesajları göndərilmir. Məlumat əmri ilə bağlı səhv düzəldilmiş ola bilər. Yaddaşın optimallaşdırılması. Məşğul: 66% SRAM, 94% Fləş Yaddaş.
GSM_2017_04_30-12-57.hex- SMS mesajları göndərərkən və Məlumat əmrinə cavab verərkən konsola əlavə məlumatların çıxarılması müvəqqəti olaraq aktivləşdirildi. Məlumat əmri ilə bağlı səhv düzəldilmiş ola bilər. Yaddaşın optimallaşdırılması. İşlənmiş: 66% SRAM, 92% Fləş Yaddaş.
GSM_2017_05_06-11-52.hex- DelayBeforeAlarm funksiyası ilə düzəldildi. İşlənmiş: 66% SRAM, 93% Fləş Yaddaş.
GSM_2017_05_23-21-27.hex- Konsola məlumatların çıxışı bir qədər dəyişdirildi. 0x38-dən 0x3f daxil olmaqla, ünvanları olan PCF8574A-da port genişləndirmə modulları üçün əlavə dəstək. Sabit səhv c. İndi cihaz FullReset, ResetConfig, ResetPhone əmrlərindən sonra və MemTest əmri uğurla yerinə yetirildikdə avtomatik olaraq yenidən işə düşür. WatchPowerTime əmri əlavə edildi. Artıq xarici enerji mənbəyinin söndürüldüyünü bildirən SMS mesajının göndəriləcəyi vaxtı təyin etmək mümkündür. Məşğul: 67% SRAM, 94% Fləş Yaddaş.
GSM_2017_05_26-20-22.hex- Genişləndirici lövhənin sensor yaddaşının işə salınması düzəldildi. AddPhone əmrinin sintaksisi dəyişdirildi. EditMainPhone əmri əlavə edildi. Bildiriş sisteminin iş prinsipi dəyişdirildi, sensor işə salındıqda ilk olaraq SMS mesajları göndəriləcək, bundan sonra səsli zənglər ediləcək. Siqnal SMS mesajları “S” (SMS) işarəsi ilə telefon nömrələrinə göndəriləcək. “R” (Zəng) işarəsi olan nömrələrə səsli zənglər ediləcək. Xarici enerji mənbəyini söndürmək/yanmaq barədə mesajlar “P” (Güc) işarəsi ilə telefon nömrələrinə göndəriləcək. RingTime əmri əlavə edildi. İndi həyəcan verici səsli zəngin müddətini təyin etmək mümkündür, parametr 10-dan 255 saniyəyə qədər dəyərə malik ola bilər. RingOn/RingOff əmri indi qlobal miqyasda səsli zəng siqnallarını işə salır/deaktiv edir. ResetSensor əmri əlavə edildi. İşlənmiş: 68% SRAM, 99% Fləş Yaddaş.
GSM_2017_06_02-17-43.hex- “I” (Məlumat) parametri AddPhone və EditMainPhone əmrlərinə əlavə edilmişdir ki, bu da cihazın silahlanması və ya söndürülməsi barədə SMS bildirişinə cavabdehdir. İndi əsas nömrəni əlavə etdikdən sonra cihaz avtomatik olaraq yenidən başlayır. İndi cihazın yaddaşına eyni nömrələri daxil edə bilərsiniz. İkinci və sonrakı dublikat nömrələri əlavə edərkən, "M", "S", "P" və "I" atributları avtomatik olaraq onlardan silinəcəkdir. Bu nömrələr sensorlar işə salındıqda təkrar səsli zənglər üçün istifadə olunacaq. AddPhone əmrini yerinə yetirdikdən sonra səhv konsol çıxışı ilə bir səhv düzəldildi; indi nömrə əlavə edildikdən sonra məlumat avtomatik olaraq göstərilmir. Yenidən yükləmə əmri əlavə edildi. İşlənmiş: 69% SRAM, 99% Fləş Yaddaş.
GSM_2017_06_11-00-07.hex- İndi yenə də əsas qamış sensorunun kontaktları bağlandıqda (qapını bağlayarkən) cihaz 2 saniyə ərzində mavi LED ilə yanıb-sönür, bu sensorun normal işləməsini göstərir, lakin cihazın silahlı olub olmadığını nəzərə almır. və ya tərksilah edilir. RingOn/RingOff əmrləri silindi. İndi cihaz həyəcan siqnalı zamanı zərərsizləşdirilə bilər; indi onlar fonda hazırlanır. İşlənmiş: 69% SRAM, 99% Fləş Yaddaş.
GSM_2017_07_04-21-52.hex- İndi Pause əmri cavab SMS göndərmir. TestOn və TestOff əmrləri silindi. İdarəetmə atributu bütün nömrələrdən silindi. İşlənmiş: 68% SRAM, 96% Fləş Yaddaş.
GSM_2017_07_24-12-02.hex- Əsas qamış sensorunun monitorinqi üçün ReedSwitchOn/ReedSwitchOff əmrləri əlavə edildi, indi onu hərəkət sensoru ilə eyni şəkildə yandırmaq/söndürmək olar. Məlumat əmrindəki səhv düzəldildi. TestOn və TestOff əmrləri yenidən proqram təminatında mövcuddur. İşlənmiş: 68% SRAM, 96% Fləş Yaddaş.
GSM_2017_07_26-10-03.hex- ModemID əmri əlavə edildi. Modemin avtomatik aşkarlanması yalnız bu parametrin dəyəri 0 olduqda həyata keçirilir. Parametr dəyərini 0-a təyin etdikdən sonra cihaz avtomatik olaraq yenidən işə salınır. Məşğul: 68% SRAM, 98% Fləş Yaddaş.
GSM_2017_08_03-22-03.hex- İndi siqnalizasiya xarici cihazları idarə edə bilər. Nəzarət üçün A3 analoq çıxışı istifadə olunur (D17 - rəqəmsal olaraq istifadə olunur). Məntiqi çıxış səviyyəsi (+5V və ya GND) dəyişdirilə bilər, səviyyəni konfiqurasiya əmri ilə dəyişdirdikdən sonra cihaz avtomatik olaraq yenidən başlayacaq. Xarici cihazın idarəetmə siqnalının müddəti dəyişdirilə bilər. ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open əmrləri əlavə edildi. İdarəetmə əmrlərinin məntiqində bəzi dəyişikliklər. Yaddaşın optimallaşdırılması. İşlənmiş: 68% SRAM, 99% Fləş Yaddaş.
GSM_2017_08_10-12-17.hex- SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff əmrləri və onlarla əlaqəli hər şey silindi. DelayBeforeAlarm əmri genişləndirilmiş əmrlərlə əvəz edilmişdir. Məlumat əmrinin çıxışı dəyişdirildi. ListConfig əmrinin konsola çıxışı optimallaşdırılıb. İndi yüksək və ya aşağı cavab səviyyəli istənilən rəqəmsal sensorlar, o cümlədən qamış açarları D6 və A0 pinlərinə qoşula bilər. D6 və A0 sancaqları 10 (20) kOhm müqavimət vasitəsilə yerə (GND) qoşulmalıdır. Sensor aşağı cavab səviyyəsinə təyin edilərsə (qamış keçid rejimində işə salınır), onda dövrənin bütövlüyü yoxlanılır. D6 və A0 girişlərində (+5V və ya GND) məntiqi tetikleme səviyyəsi dəyişdirilə bilər; məntiqi səviyyəni dəyişdirdikdən sonra cihaz avtomatik olaraq yenidən işə düşəcək. Sensorların hər biri (əsas, ikinci, PCF genişləndirmə lövhəsi) işə salındıqda öz vaxtı təyin edilə bilər, bundan sonra bildiriş veriləcək (SMS və/və ya səsli zəng). "PIR Sensor"un adı "İkinci sensor" olaraq dəyişdirildi. Genişləndirmə kartının işləməsi, cihazın silahlanmış olub-olmamasından asılı olmayaraq, sensorlar işə salındıqda cihazın həmişə xəbərdar etdiyi bir səhv düzəldildi. İndi cihazın həm silahlı rejimdə (GuardOn), həm də əlil rejimində (GuardOff) genişləndirmə kartının sensorlarına nəzarət edə biləcəyi bir iş rejimi seçə bilərsiniz. Əlavə edilmiş komandalar PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayADelay.Before PCAAFlar.Before. İşlənmiş: 68% SRAM, 99% Fləş Yaddaş.

*Sonraki proqram təminatı versiyalarına əvvəlki versiyalardan dəyişikliklər daxildir.


Arduino Nano v3 portları istifadə olunur

D4- "siqnal" pininin çıxışı; sensor işə salındıqda bu pində yüksək səviyyəli siqnal qurulur
D5- "siqnal" pininin tərs çıxışı; sensor işə salındıqda, bu pində aşağı səviyyəli siqnal qurulur

D6- qamış sensoru. GSM_2017_08_10-12-17.hex versiyasından başlayaraq, qamış açarları da daxil olmaqla, yüksək və ya aşağı cavab səviyyəsinə malik istənilən rəqəmsal sensorlar D6 pininə qoşula bilər. Pin D6 10 (20) kOhm müqavimət vasitəsilə yerə (GND) çəkilməlidir.
D7- xarici +5V enerji mənbəyindən gərginlik bölücüyə qoşulmuşdur. Üst qol 2,2 kOhm, aşağı qol 3,3 kOhm.

Gərginlik bölücü


D8- TX modem
D9- RX modem

D10- qırmızı LED
D11- mavi LED
D12- yaşıl LED

Periferik əlaqə:
A0- Hərəkət Sensoru. GSM_2017_08_10-12-17.hex versiyasından başlayaraq, qamış açarları da daxil olmaqla yüksək və ya aşağı cavab səviyyəsinə malik istənilən rəqəmsal sensorlar A0 pininə qoşula bilər. Pin A0 10 (20) kOhm müqavimət vasitəsilə yerə (GND) çəkilməlidir.

A1- Xarici nəzarət üçün giriş. Girişdə yüksək səviyyə +5V göründükdə həyəcan siqnalı işə salınır/silahsızlanır.
A2- Xarici nəzarət üçün tərs giriş. Girişdə aşağı GND səviyyəsi göründükdə həyəcan siqnalı işə salınır/silahsızlanır.

A3- Xarici cihazları idarə etmək üçün konfiqurasiya edilə bilən (+5V və ya GND) çıxış. Nəzarət əmri qəbul edildikdə, bu çıxışdakı dəyər müəyyən bir müddət üçün təyin olunandan asılı olaraq dəyişir.

A4- SDA I2C
A5- SLC I2C
, əlavə 8 sensoru birləşdirmək üçün.


Hex proqram təminatı üçün idarəetmə əmrləri

Diqqət! Komandalar ayrıldı qalın hərflərlə yalnız əsas nömrədən icra edilə bilər, çünki onlar cihazın konfiqurasiyasına cavabdehdirlər. Digər əmrlər “İdarəetmə” atributu ilə nömrələrdən icra edilə bilər.

SMS - idarəetmə əmrləri hərflərə həssas deyil:
Telefon əlavə edin- Telefon nömrəsi əlavə edin. Ümumilikdə, 9-dan çox nömrə əlavə edilə bilməz + 1 əsas nömrə, əmrlərdən istifadə edərək cihazı zavod parametrlərinə sıfırladıqdan sonra ilk dəfə zəng etdikdən sonra avtomatik olaraq yaddaşda saxlanılır. Telefonu sıfırlayın və ya Tam sıfırlama. Bunlar. Cihazı zavod parametrlərinə qaytardıqdan sonra ilk dəfə zəng edən şəxs “master”dir, bu nömrə ilk yaddaş xanasına daxil edilir və SMS vasitəsilə dəyişdirilə və ya silinə bilməz. İki eyni nömrə əlavə etmək mümkündür, lakin sonra dublikat nömrə avtomatik olaraq yalnız "r" atributunu saxlayır - yalnız təkrar səsli zənglər üçün.
Nümunə əmr:



Komanda sintaksisi:

Telefon əlavə edin- komanda
: - ayırıcı
5 - beşinci yaddaş hüceyrəsinə yazın
+71234567890 - telefon nömrəsi
GSM_2017_05_26-20-22.hex versiyasına qədər:
a - "Siqnal" parametri - SMS mesajları bu parametrli nömrələrə göndəriləcək - həyəcan siqnalının aktivləşdirilməsi haqqında mesajlar və silahlanma və ya tərksilah haqqında mesajlar.
GSM_2017_05_26-20-22.hex versiyasından başlayaraq:
m - “İdarəetmə” parametri - həyəcan idarəetməsi aktivləşdirilib
s - "SMS" parametri - sensorlar işə salındıqda SMS mesajı göndəriləcək
r - "Zəng" parametri - sensorlar işə salındıqda səsli zəng ediləcək
p - “Güc” parametri - xarici güc açıldıqda/söndükdə SMS mesajı göndəriləcək
i - "Məlumat" parametri - silahlanma və ya tərksilah zamanı SMS mesajı göndəriləcək
“m”, “s”, “r”, “p”, “i” parametrləri yoxdursa, telefon yaddaşda saxlanılır, lakin heç bir şəkildə istifadə edilmir.


Telefonu silin- Telefon nömrəsini silin.
Nümunə əmr:

Komanda sintaksisi:

Telefonu sil - əmr
: - ayırıcı
+71234567891 - telefon nömrəsi


Əsas Telefonu Edit- Əsas telefonun “s”, “r”, “p”, “i” parametrlərini dəyişdirin, bu nömrə birinci yaddaş hüceyrəsində saxlanılır.
Nümunə əmr:

Komanda sintaksisi:

EditMainPhone - əmr
: - ayırıcı
srpi - parametrlər


BalansNum- Balans sorğu nömrəsinin dəyişdirilməsi və sorğu cavabının uzunluğunun işlənməsi. Beeline üçün standart dəyər: #100#L22.
Nümunə əmr:

Komanda sintaksisi:

BalansNum - əmr
: - ayırıcı
#103# - balans sorğu nömrəsi
L24 - Göndərilən cavabın uzunluğu (len) 24 simvoldur, biz balans sorğusundan spamı kəsdik.


Edit Sensor- Sensorun adını və məntiqi cavab səviyyəsini dəyişdirin. Ümumilikdə 8-dən çox əlavə sensor ola bilməz. Parametrləri dəyişdirdikdən sonra cihaz yenidən işə salınmalıdır.
Nümunə əmr:
EditSensor:1+Datchik dvizheniya v koridore#h

Komanda sintaksisi:

EditSensor - əmr
: - ayırıcı
1 - ilk yaddaş hüceyrəsinə yazın
+ - ayırıcı
Datchik dvizheniya v koridore - sensorun adı, boşluqlar daxil olmaqla 36 simvoldan çox ola bilməz.
#h - Sensordan yüksək məntiqi səviyyənin işarəsi, alındıqdan sonra həyəcan siqnalı veriləcək. Əgər "#h" yoxdursa, sensordan aşağı məntiq səviyyəsi alındıqda həyəcan siqnalı işə salınacaq.


Yuxu vaxtı- “Pause” SMS əmri alındıqda zəngli saatın yuxuya getmə vaxtı dəqiqələrlə göstərilir. Defolt dəyər: 15, 1-dən az və ya 60-dan çox ola bilməz.
Nümunə əmr:

Komanda sintaksisi:

SleepTime - əmr
: - ayırıcı
20-20 dəqiqə "yuxu".


AlarmPinTime- Siqnalın/ters pininin yandırılma/söndürülmə vaxtı saniyələrlə göstərilir. Defolt dəyər: 60, 1 saniyədən az və 43200 saniyədən (12 saat) çox ola bilməz.
Nümunə əmr:

Komanda sintaksisi:

AlarmPinTime - əmr
: - ayırıcı
Siqnal pinini yandırmaq/söndürmək üçün 30 - 30 saniyə.


DelayBeforeGuard- Cihazı silahlandırmadan əvvəl, müvafiq əmri aldıqdan sonra.
Nümunə əmr:

Komanda sintaksisi:

DelayBeforeGuard - əmr
: - ayırıcı
Silahlanmadan 25-25 saniyə əvvəl


Siqnaldan əvvəl gecikmə- Bu müddət ərzində həyəcan söndürülməyibsə, “həyəcan” SMS bildirişinin göndəriləcəyi vaxt. GSM_2017_08_10-12-17.hex versiyasından başlayaraq genişləndirilmiş əmrlərlə əvəz edilmişdir
Nümunə əmr:

Komanda sintaksisi:

DelayBeforeAlarm - əmr
: - ayırıcı
"Həyəcan" bildirişini göndərməzdən 40 - 40 saniyə əvvəl


WatchPowerTime- Xarici enerji mənbəyinin söndürüldüyünü bildirən SMS mesajının göndəriləcəyi dəqiqələrlə vaxt. Əgər müəyyən edilmiş vaxt keçməmiş xarici enerji bərpa olunarsa, mesaj göndərilməyəcək.
Nümunə əmr:

Komanda sintaksisi:

WatchPowerTime - əmr
: - ayırıcı
SMS göndərməzdən 5-5 dəqiqə əvvəl


Zəng vaxtı- Həyəcan verici səsli zəngin müddəti, parametr 10 ilə 255 saniyə arasında bir dəyərə malik ola bilər.
Nümunə əmr:

Komanda sintaksisi:

RingTime - əmr
: - ayırıcı
40 - 40 zəng müddəti 40 saniyə olacaq, bundan sonra növbəti abunəçi zəng edəcək.


ModemİD- İstifadə olunan modemin modelinin məcburi quraşdırılması. Mümkün dəyərlər: 0 - modemin avtomatik aşkarlanması, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Nümunə əmr:

Komanda sintaksisi:

ModemID - əmr
: - ayırıcı
2 - Modem ID.


ExtDeviceTime- Xarici cihazın idarəetmə çıxışında siqnal səviyyəsinin dəyişəcəyi saniyələrin sayı.
Nümunə əmr:

Komanda sintaksisi:

ExtDeviceTime- əmri
: - ayırıcı
5 - 5 saniyə


ExtDeviceLevelLow- A3 çıxışına qoşulan xarici cihaz aşağı siqnal səviyyəsi (GND) ilə idarə olunur. Xarici cihazdan idarəetmə əmri alınana qədər çıxış standart olaraq yüksək +5V səviyyəsində olacaq
ExtDeviceLevelHigh- A3 çıxışına qoşulmuş xarici cihaz yüksək siqnal səviyyəsi (+5V) ilə idarə olunur. Xarici cihaz idarəetmə əmri alınana qədər çıxış standart olaraq aşağı GND olacaq.

Sensoru sıfırla- port genişləndirici sensorları sıfırlayın

ResetConfig- parametrləri zavod parametrlərinə sıfırlayın

Telefonu sıfırlayın- bütün telefon nömrələrinin yaddaşdan silinməsi

Tam sıfırlama- parametrləri sıfırlayın, bütün telefon nömrələrini yaddaşdan silin, BalanceNum əmrinin standart dəyərini bərpa edin.

RingOn- sensor işə salındıqda ilk yaddaş xanasında qeydə alınmış “əsas” nömrəyə zəng edərək bildirişi aktivləşdirin. GSM_2017_06_11-00-07.hex versiyasından silindi
RingOff- sensor işə salındıqda zəng edərək bildirişi söndürün. GSM_2017_06_11-00-07.hex versiyasından silindi

SmsOn- sensor işə salındıqda SMS bildirişini aktivləşdirin. GSM_2017_08_10-12-17.hex versiyasından silindi
SmsOff- sensor işə salındıqda SMS bildirişini söndürün. GSM_2017_08_10-12-17.hex versiyasından silindi

PIRON- hərəkət sensoru emalını aktivləşdirin
PIROff- hərəkət sensoru emalını söndürün

ReedSwitchOn- əsas qamış sensorunun işlənməsini aktivləşdirin
ReedSwitchOff- əsas qamış sensorunun işlənməsini söndürün

WatchPowerOn- xarici gücə nəzarəti aktivləşdirin, siqnalizasiya sistemi işə salındıqda xarici gücün söndürülməsi barədə SMS mesajı göndəriləcək. GSM_2017_03_01-23-37 versiyasından silindi.

WatchPowerOn1- xarici gücə nəzarəti aktivləşdirin, siqnalizasiya sistemi işə salındıqda xarici gücün söndürülməsi barədə SMS mesajı göndəriləcək.
WatchPowerOn2- xarici güc nəzarətini aktivləşdirin, istənilən halda xarici gücün söndürülməsi barədə SMS mesajı göndəriləcək

WatchPowerOff- xarici güc nəzarətini söndürün

Mühafizə DüyməsiAçıq- xarici cihazlar və ya düymə ilə həyəcan nəzarəti aktivləşdirilib. GSM_2017_04_16-12-00 versiyasından başlayaraq silinib.
GuardButtonOn1- funksiyası qurulması və ya çıxarılması xarici cihazlar və ya düymə ilə mühafizə aktivləşdirilib
GuardButtonOn2- funksiyası yalnız istehsallar xarici cihazlarla silahlanmış və ya düymə işə salınmışdır; tərksilah cihaza zəng etməklə və ya SMS əmrindən istifadə etməklə həyata keçirilir.
GuardButtonOff- xarici cihazlar və ya düymə ilə həyəcan nəzarəti söndürülüb

PCForceOn- bütün genişləndirmə modulu sensorlarının bir qrupunun daimi monitorinqi
PCFForceOff- yalnız cihaz silahlı olduqda bütün genişləndirmə modulu sensorlarının bir qrupunun monitorinqi

Əsas Sensor Səviyyəsi Yüksək- sensordan girişdə (D6) yüksək səviyyəli siqnal (+5 V) göründükdə həyəcan bildirişi göndəriləcək
Əsas Sensor Səviyyəsi Aşağı- sensordan girişdə (D6) aşağı səviyyəli siqnal (GND) göründükdə həyəcan bildirişi göndəriləcək
MainSensorLevelOff- sensor girişinin işlənməsi (D6) söndürülüb

SecondSensorLevelHigh- sensordan girişdə (A0) yüksək səviyyəli siqnal (+5 V) göründükdə həyəcan bildirişi göndəriləcək
SecondSensor Level Low- sensordan girişdə (A0) aşağı səviyyəli siqnal (GND) göründükdə həyəcan bildirişi göndəriləcək
SecondSensorLevelOff- sensor girişinin işlənməsi (A0) söndürülüb

Əsas Gecikmə Siqnaldan əvvəl- bu müddət ərzində həyəcan söndürülməyibsə, əsas sensor (D6) işə salındıqda “həyəcan” SMS bildirişinin göndəriləcəyi vaxt. Sintaksis DelayBeforeAlarm əmri ilə eynidir.
Siqnaldan əvvəl İkinci Gecikmə- bu müddət ərzində həyəcan söndürülməyibsə, əlavə sensor (A0) işə salındıqda “həyəcan” SMS bildirişinin göndəriləcəyi vaxt. Sintaksis DelayBeforeAlarm əmri ilə eynidir.
Siqnaldan əvvəl PCF Gecikməsi- genişləndirmə lövhəsi sensorları (PCF8574) işə salındıqda, bu müddət ərzində həyəcan söndürülməmişsə, "həyəcanlı" SMS bildirişinin göndəriləcəyi vaxt. Sintaksis DelayBeforeAlarm əmri ilə eynidir.

GuardOn - qol
GuardOff - qoruyucu çıxarın

Açıq - xarici cihaz idarəetmə əmri

Məlumat - statusu yoxlayın, bu mesaja cavab olaraq təhlükəsizliyin hansı nömrənin açıldığı/söndürüldüyü barədə SMS göndəriləcək.

Pauza - yuxu vaxtı əmri ilə dəqiqələrlə təyin edilmiş vaxt üçün sistemi dayandırır; sistem sensor tetikleyicilərinə cavab vermir.

TestOn - test rejimi yandırılır, mavi LED yanıb-sönür.
TestOff - test rejimi söndürülüb.

LedOff - gözləmə rejimindəki LED-i söndürür.
LedOn - gözləmə rejimindəki LED-i yandırır.

Pul - balans tələbi.

ClearSms - Bütün smsləri yaddaşdan silin

Konsol əmrləri (GSM_2017_04_24-13-22.hex versiyasına qədər) - Arduino IDE port monitoruna daxil edilmişdir:

AddPhone - AddPhone sms əmrinə bənzəyir

Telefonu Sil - Telefonu Sil sms əmrinə bənzəyir

EditSensor - EditSensor sms əmrinə bənzəyir

ListPhone - yaddaşda saxlanılan telefonların siyahısının monitoru portuna çıxış

ResetConfig - ResetConfig sms əmrinə bənzəyir

ResetPhone - ResetPhone sms əmrinə bənzəyir

FullReset - FullReset sms əmrinə bənzəyir

ClearSms - ClearSms sms əmrinə bənzəyir

WatchPowerOn1 - WatchPowerOn1 sms əmrinə bənzəyir
WatchPowerOn2 - WatchPowerOn2 sms əmrinə bənzəyir
WatchPowerOff - WatchPowerOff sms əmrinə bənzəyir

GuardButtonOn - GuardButtonOn sms əmrinə bənzəyir. GSM_2017_04_16-12-00 versiyasından silindi
GuardButtonOn1 - GuardButtonOn1 sms əmrinə bənzəyir
GuardButtonOn2 - GuardButtonOn2 sms əmrinə bənzəyir
GuardButtonOff - GuardButtonOff sms əmrinə bənzəyir

Memtest - cihazın qeyri-sabit yaddaşının sınağı; FullReset əmrinə bənzər bütün cihaz parametrləri sıfırlanacaq.

I2CScan - I2C avtobusunda dəstəklənən cihazları axtarın və işə salın.

ListConfig - cari cihaz konfiqurasiyasını port monitoruna göstərir.

ListSensor - cari sensor konfiqurasiyasının port monitoruna çıxış.

UPD. Hərəkət sensorundan istifadə edərkən, modemin işləməsi zamanı yanlış pozitivlərin qarşısını almaq üçün bu lazımdır arasında sancaqlar GNDA0 Arduino müqavimət göstərmək, sağ ol yoldaş
AllowPhone = (“70001234501”, “70001234502”, “70001234503”, “70001234504”, “70001234505”) - Təhlükəsizliyi idarə etməyə icazə verilən nömrələr.
AlarmPhone = (“70001234501”, “70001234502”) - Sensor işə salındıqda SMS bildirişləri və tərksilah və ya silahlanma haqqında bildirişlər göndərmək üçün nömrələr. RingOn əmri yerinə yetirildikdə, sensor işə salındıqda siyahıdakı ilk nömrə çağırılacaq; standart olaraq bu seçim aktivdir. Bu ona görə edilir ki, SMS mesajları müəyyən gecikmə ilə gələ bilər, lakin zəng dərhal keçməlidir.

Səlahiyyətli nömrədən zəng və ya GuardOn/GuardOff əmri ilə SMS mesajı qəbul edilərsə, cari təhlükəsizlik vəziyyətindən asılı olaraq, Siqnal Telefon massivində sadalanan nömrələrə silahlanma və ya söndürmə haqqında SMS göndəriləcək. Zəngin gəldiyi nömrəyə də SMS mesajı göndəriləcək.

Sensor işə salındıqda SMS mesajları AlarmPhone massivindən (siyahı) bütün nömrələrə göndərilir və bu massivdən birinci nömrəyə səsli zəng edilir.

İşıq göstəricisi:
LED qırmızı yanır - silahlıdır.
LED yaşıl yanır - tərksilah edilib, LedOn/LedOff SMS əmri ilə yandırılıb/söndürülür.
LED daim mavi yanıb-sönür - bu, Arduino ilə hər şeyin qaydasında olduğunu, lövhənin donmadığını, yalnız ayıklama üçün istifadə edildiyini, TestOn/TestOff SMS əmri ilə yandırıldığını/söndürüldüyünü göstərir.
* Kodda LedTest() funksiyası var, o, mavi LED ilə yanıb-sönür, yalnız Arduino-nu izləmək üçün hazırlanmışdır, yanıb-sönür - bu işləyir, yanıb-sönmür - donub. Hələ telefonu bağlamamışam :)

Münasib deyil!

Açıq proqram təminatı üçün 2 və ya daha çox sensorun qoşulması (yalnız bu proqram təminatı sketch_02_12_2016.ino üçün tətbiq edilir)
Əlavə qamış sensorlarını birləşdirmək üçün D2, D3, D5 və ya D7 pulsuz rəqəmsal pinlərdən istifadə edirik. D7-də əlavə sensor ilə əlaqə diaqramı.

Firmware-də zəruri dəyişikliklər
... #define DoorPin 6 // Əsas sensora qoşulmuş giriş nömrəsi int8_t DoorState = 0; // Əsas sensorun vəziyyətini saxlamaq üçün dəyişən int8_t DoorFlag = 1; // Əsas sensorun vəziyyətini saxlamaq üçün dəyişən #define BackDoorPin 7 // Əlavə sensora qoşulmuş giriş nömrəsi int8_t BackDoorState = 0; // Əlavə sensorun vəziyyətini saxlamaq üçün dəyişən int8_t BackDoorFlag = 1; // Əlavə sensorun vəziyyətini saxlamaq üçün dəyişən...
void quraşdırma() ( ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() ( // Sensorlardan dəyərləri oxuyun DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); // Əsas sensorun işlənməsi (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; gecikmə(100); əgər (LedOn == 1) digitalWrite(GLed, LOW); Siqnal(); ) əgər (DoorState == HIGH && DoorFlag == 1)( DoorFlag = 0; gecikmə(100); ) //Əlavə sensor işlənir, əgər (BackDoorState == LOW && BackDoorFlag == 0) ( BackDoorFlag = 1; gecikmə (100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); ) əgər (BackDoorState =) = YÜKSƏK && BackDoorFlag == 1)( BackDoorFlag = 0; gecikmə (100); ) ) ...

Və daha bir şey:
1. 2 A cərəyanı üçün qiymətləndirilmiş diodlardan istifadə etmək daha yaxşıdır, çünki modul 1 A cərəyanı daşıyır və biz hələ də Arduino və modemi bir şeylə gücləndirməliyik. Bu nümunə 1N4007 diodlarından istifadə edir; onlar uğursuz olarsa, onları 2 A ilə əvəz edin.
2. Bütün koridoru gecə işıqlandırmamaq üçün 20 kOhm-da LED üçün bütün rezistorlardan istifadə etdim.
3. Mən də GND pin və D6 pin arasında qamış sensoruna 20 kOhm rezistor yerləşdirdim.

Hələlik bu qədər. Diqqətinizə görə təşəkkürlər! :)

+207 almağı planlaşdırıram Seçilmişlərə əlavə et Rəyi bəyəndim +112 +243

İnfraqırmızı (İQ) sensorlar adətən məsafələri ölçmək üçün istifadə olunur, lakin onlardan obyektləri aşkar etmək üçün də istifadə edilə bilər. Arduino-ya bir neçə IR sensoru qoşmaqla biz təhlükəsizlik siqnalı yarada bilərik.

Baxış-icmal

İnfraqırmızı (İQ) sensorlar adətən məsafələri ölçmək üçün istifadə olunur, lakin onlardan obyektləri aşkar etmək üçün də istifadə edilə bilər. IR sensorlar infraqırmızı ötürücü və infraqırmızı qəbuledicidən ibarətdir. Qəbuledici hər hansı əksi aşkar edərkən ötürücü infraqırmızı şüalanma impulsları yayır. Qəbuledici əksi aşkar edərsə, bu o deməkdir ki, sensorun qarşısında müəyyən məsafədə hansısa obyekt var. Yansıtma yoxdursa, obyekt də yoxdur.

Bu layihədə istifadə edəcəyimiz IR sensoru müəyyən diapazonda əksi aşkarlayır. Bu sensorlarda IR işığının sensora qayıtdığı bucağı aşkar edən kiçik xətti yüklü cihaz (CCD) var. Aşağıdakı şəkildə göstərildiyi kimi, sensor kosmosa infraqırmızı impuls ötürür və sensorun qarşısında bir cisim görünəndə nəbz obyektlə sensor arasındakı məsafəyə mütənasib bir açı ilə sensora geri əks olunur. Sensor qəbuledicisi bucağı aşkarlayır və çıxarır və bu dəyərdən istifadə edərək məsafəni hesablaya bilərsiniz.

Arduino-ya bir neçə IR sensoru qoşmaqla biz sadə təhlükəsizlik siqnalı yarada bilərik. Qapı çərçivəsinə sensorlar quraşdıracağıq və sensorları düzgün şəkildə düzməklə kiminsə qapıdan içəri keçdiyini müəyyən edə biləcəyik. Bu baş verdikdə, IR sensorunun çıxışı dəyişəcək və biz Arduino istifadə edərək sensorların çıxışını davamlı oxumaqla bu dəyişikliyi aşkar edəcəyik. Bu misalda biz bilirik ki, IR sensorunun çıxış göstəricisi 400-ü keçdikdə obyekt qapıdan keçir. Bu baş verdikdə Arduino həyəcan siqnalı verəcək. Siqnalı sıfırlamaq üçün istifadəçi düyməni basa bilər.

Aksesuarlar

  • 2 x IR məsafə sensoru;
  • 1 x Arduino Mega 2560;
  • 1 x səs siqnalı;
  • 1 x düymə;
  • 1 x 470 Ohm rezistor;
  • 1 x NPN tranzistor;
  • jumpers.

Bağlantı diaqramı

Bu layihə üçün diaqram aşağıdakı şəkildə göstərilmişdir. İki IR sensorunun çıxışları A0 və A1 pinlərinə bağlıdır. Digər iki sancaq 5V və GND pinlərinə birləşdirilir. 12 voltluq səs siqnalı tranzistor vasitəsilə 3-cü pinə, həyəcan siqnalını susdurmaq üçün istifadə edilən düymə isə 4-cü pinə birləşdirilir.


Aşağıdakı fotoşəkil bu təcrübə üçün sensorları qapı çərçivəsinə necə yapışdırdığımızı göstərir. Əlbəttə ki, əgər siz onu müntəzəm istifadə etsəniz, sensorları fərqli şəkildə quraşdırardınız.


Quraşdırma

  1. Arduino lövhəsinin 5V və GND pinlərini sensorların güc və GND pinlərinə qoşun. Onları xarici enerji ilə də təmin edə bilərsiniz.
  2. Sensorların çıxış pinlərini Arduino lövhəsinin A0 və A1 pinlərinə birləşdirin.
  3. Arduino-nun 3-cü pinini 1k ohm rezistor vasitəsilə tranzistorun bazasına qoşun.
  4. Transistorun kollektoruna 12V tətbiq edin.
  5. 12 voltluq səs siqnalının müsbət kabelini emitentə, mənfi kabeli isə torpaq şininə qoşun.
  6. Düymə vasitəsilə pin 4-ü 5V-ə qoşun. Təhlükəsizliyə görə, böyük cərəyan axınının qarşısını almaq üçün bunu əlavə kiçik bir rezistor vasitəsilə etmək həmişə daha yaxşıdır.
  7. Arduino lövhəsini USB kabel vasitəsilə kompüterinizə qoşun və Arduino IDE-dən istifadə edərək proqramı mikro nəzarətçiyə yükləyin.
  8. Arduino lövhəsini enerji təchizatı, batareya və ya USB kabeldən istifadə edərək gücləndirin/

Kod

const int buzzer=3; // pin 3 səs siqnalının çıxışıdır const int pushbutton=4; // 4-cü pin, void setup() düyməsi üçün girişdir ( pinMode(buzzer,OUTPUT); // pin 3-ü pinMode(bağlayıcı,INPUT); // pin 4-ü girişə təyin edin ) void loop() ( / / hər iki sensorun çıxışını oxuyun və nəticəni hədd dəyəri ilə müqayisə edin int sensor1_value = analogRead(A0); int sensor2_value = analogRead(A1); if (sensor1_value > 400 || sensor2_value > 400) ( while(true)) ( digitalWrite(buzzer,HIGH) ; // siqnalı yandırın, əgər(digitalRead(baskı) == YÜKSƏK) qırılırsa; ) ) başqa ( digitalWrite(buzzer,LOW); // həyəcanı söndür ) )

Video

Son on ildə avtomobil oğurluğu dünyada törədilən cinayətlərin strukturunda ən mühüm yerlərdən birini tutur. Bu, cinayətlərin ümumi sayına nisbətən bu kateqoriyadan olan oğurluğun xüsusi çəkisi ilə deyil, avtomobillərin baha olması səbəbindən vurulan zərərin əhəmiyyəti ilə bağlıdır. 90-cı illərin sonlarında avtonəqliyyat vasitələrinin oğurluğuna qarşı mübarizə sahəsində həyata keçirilən tədbirlərin zəif səmərəliliyi bu cinayətlərin törədilməsi üzrə ixtisaslaşan və mütəşəkkil cinayətkarlığın səciyyəvi xüsusiyyətlərinə malik sabit qrupların yaradılmasına səbəb oldu; Yəqin ki, "qara avtomobil biznesi" ifadəsini eşitmisiniz. Avropa ölkələrinin avtomobil parkında hər il kriminal hücumların obyektinə çevrilən avtomobillərin ≈ 2%-i çatışmır. Buna görə də, Arduino Uno əsasında avtomobilim üçün GSM həyəcan siqnalı yaratmaq ideyası ilə gəldim.

Başlayaq!

Nədən yığacağıq?

Sistemimizin ürəyini seçməliyik. Məncə, bu cür siqnal üçün Arduino Uno-dan daha yaxşı bir şey yoxdur. Əsas meyar kifayət qədər "sancaqlar" və qiymətdir.


Arduino Uno-nun Əsas Xüsusiyyətləri

Mikro nəzarətçi - ATmega328
İş gərginliyi - 5 V
Giriş gərginliyi (tövsiyə olunur) - 7-12 V
Giriş gərginliyi (limit) - 6-20 V
Rəqəmsal Giriş/Çıxış - 14 (bunlardan 6-sı PWM çıxışı kimi istifadə edilə bilər)
Analoq girişlər - 6
Giriş/çıxış vasitəsilə sabit cərəyan - 40 mA
3.3V - 50mA çıxış üçün sabit cərəyan
Fləş yaddaş - 32 KB (ATmega328), bunun 0,5 KB yükləyici üçün istifadə olunur
RAM - 2 KB (ATmega328)
EEPROM - 1 KB (ATmega328)
Saat tezliyi - 16 MHz


Uyğundur!

İndi siz GSM modulunu seçməlisiniz, çünki siqnalizasiya sistemimiz avtomobil sahibini xəbərdar edə bilməlidir. Deməli, google-a baxmaq lazımdır... Budur, əla sensor - SIM800L, ölçüsü sadəcə gözəldir.


Fikirləşdim və Çindən sifariş verdim. Ancaq hər şey o qədər də çəhrayı olmadığı ortaya çıxdı. Sensor sadəcə olaraq SİM kartı şəbəkədə qeydiyyatdan keçirməkdən imtina edib. Mümkün olan hər şey sınandı - nəticə sıfır oldu.
Mənə daha soyuq bir şey - Sim900 Shield təqdim edən xeyirxah insanlar var idi. İndi bu ciddi bir şeydir. Qalxanda həm mikrofon, həm də qulaqlıq yuvası var, bu da onu tam hüquqlu telefon edir.


Sim900 Shield-in Əsas Xüsusiyyətləri

4 iş tezliyi standartı 850/900/1800/1900 MHz
GPRS çox yuvalı sinif 10/8
GPRS mobil stansiyası B sinfi
GSM faza 2/2+ ilə uyğun gəlir
Sinif 4 (2 Vt @850/900 MHz)
Sinif 1 (1 Vt @ 1800/1900MHz)
AT əmrlərindən istifadə edərək nəzarət (GSM 07.07, 07.05 və SIMCOM genişləndirilmiş AT əmrləri)
Aşağı enerji istehlakı: 1,5 mA (yuxu rejimi)
İşləmə temperaturu diapazonu: -40°C ilə +85°C


Uyğundur!

Yaxşı, ancaq sahibini xəbərdar etmək üçün bəzi sensorlardan oxumaq lazımdır. Əgər avtomobil yedəklənərsə, o zaman kosmosda avtomobilin mövqeyi açıq şəkildə dəyişəcək. Bir akselerometr və giroskop götürək. Əla. Yaxşı, indi sensor axtarırıq.

Düşünürəm ki, GY-521 MPU6050 mütləq uyğun olacaq. Məlum oldu ki, onun da temperatur sensoru var. Biz də istifadə etməliyik, belə bir “qatil xüsusiyyət” olacaq. Tutaq ki, maşının sahibi onu evinin altında saxlayıb çıxıb. Avtomobilin içərisindəki temperatur “rəvan” dəyişəcək. Təcavüzkar avtomobili sındırmaq istəsə nə olar? Məsələn, o, qapını aça biləcək. Kabindəki hava ətraf hava ilə qarışmağa başlayanda avtomobildəki temperatur sürətlə dəyişməyə başlayacaq. Düşünürəm ki, işləyəcək.


GY-521 MPU6050-nin Əsas Xüsusiyyətləri

MPU-6050 çipində 3 oxlu giroskop + 3 oxlu akselerometr GY-521 modulu. Kosmosda obyektin mövqeyini və hərəkətini, fırlanma zamanı bucaq sürətini təyin etməyə imkan verir. O, həmçinin daxili temperatur sensoruna malikdir. O, müxtəlif helikopterlərdə və təyyarə modellərində istifadə olunur, bu sensorlar əsasında hərəkət tutma sistemi də yığıla bilər.

Çip - MPU-6050
Təchizat gərginliyi - 3,5V-dən 6V-ə qədər (DC);
Gyro diapazonu - ±250 500 1000 2000°/s
Akselerometr diapazonu - ±2±4±8±16q
Rabitə interfeysi - I2C
Ölçüsü - 15x20 mm.
Çəki - 5 q


Uyğundur!

Bir vibrasiya sensoru da lazımlı olacaq. Birdən “kobud güc”lə maşını açmağa çalışırlar, ya da dayanacaqda başqa bir maşın sizin maşına dəyir. SW-420 vibrasiya sensorunu götürək (tənzimlənən).


SW-420-nin əsas xüsusiyyətləri

Təchizat gərginliyi - 3.3 - 5V
Çıxış siqnalı - rəqəmsal Yüksək/Aşağı (normal olaraq bağlıdır)
İstifadə olunan sensor - SW-420
İstifadə olunan müqayisə cihazı LM393-dür
Ölçüləri - 32x14 mm
Əlavə olaraq - Tənzimləmə rezistoru var.


Uyğundur!

SD yaddaş kartı modulunu vidalayın. Biz də log faylı yazacağıq.


SD yaddaş kartı modulunun əsas xüsusiyyətləri

Modul mikrokontroller əsasında cihazın işləməsi üçün lazım olan məlumatları saxlamağa, oxumağa və SD karta yazmağa imkan verir. Cihazın istifadəsi onlarla meqabaytdan iki giqabayta qədər faylları saxlayarkən aktualdır. Lövhədə SD kart konteyneri, kartın enerji stabilizatoru və interfeys və elektrik xətləri üçün birləşdirici fiş var. Əgər audio, video və ya digər irimiqyaslı məlumatlarla işləmək lazımdırsa, məsələn, hadisələr jurnalını, sensor məlumatlarını və ya veb server məlumatlarını saxlamaq lazımdırsa, Arduino üçün SD yaddaş kartı modulu SD kartdan istifadə etməyə imkan verəcəkdir. bu məqsədlər üçün. Moduldan istifadə edərək SD kartın xüsusiyyətlərini öyrənə bilərsiniz.
Təchizat gərginliyi - 5 və ya 3,3 V
SD kart yaddaş tutumu - 2 GB-a qədər
Ölçüləri - 46 x 30 mm


Uyğundur!

Və bir servo sürücü əlavə edək; sensorlar işə salındıqda, video yazıcı ilə servo sürücü dönəcək və hadisənin videosunu çəkəcəkdir. MG996R servo sürücüsünü götürək.


MG996R Servo Sürücünün Əsas Xüsusiyyətləri

Zərərdən sabit və etibarlı qorunma
- Metal sürücü
- İki sıra bilyalı podşipnik
- Tel uzunluğu 300 mm
- Ölçüləri 40x19x43mm
- Çəki 55 q
- Fırlanma bucağı: 120 dərəcə.
- İşləmə sürəti: 0,17s/60 dərəcə (4,8V yüksüz)
- İşləmə sürəti: 0.13san/60 dərəcə (6V yüksüz)
- Başlanğıc fırlanma anı: 4,8V enerji təchizatı ilə 9,4 kq/sm
- Başlama anı: 6V enerji təchizatı ilə 11kg/sm
- İş gərginliyi: 4.8 - 7.2V
- Bütün sürücü hissələri metaldan hazırlanır


Uyğundur!

yığırıq

Google-da hər bir sensoru birləşdirən çox sayda məqalə var. Və yeni velosipedlər icad etmək istəyim yoxdur, ona görə də sadə və işləyən variantlara keçidlər buraxacağam.

Başqa nə oxumaq