Temas halinde Facebook heyecan RSS beslemesi

Arduino tabanlı kablosuz alarm sistemi. Arduino beyinli bütçe GSM alarmı SD hafıza kartı modülünün ana özellikleri

Tünaydın Yine Çin elektronik bileşenlerinin çoklu incelemesi, her zaman olduğu gibi her şeyden biraz biraz bahsedeceğim, kısa tutmaya çalışacağım, ama işe yarayacak mı? Öyleyse tanış GSM alarmı 700 ₽'a kadar maliyeti. İlginç? Lütfen “kes” seçeneğini kullanın!

Başlayalım! Başlamadan önce buna bir göz atmanızı öneririm, daha az bileşen ve daha fazla özerklik. Yani, “teknik özellikler”, sinyalizasyon için temel gereksinimler:

1) Sensörler tetiklendiğinde bildirim yapın.
2) Elektrik kesintisi durumunda bir miktar özerklik sağlanmalıdır.
3) SMS ve çağrı yoluyla alarm kontrolü.

Alarm oluşturma sürecinin birkaç ay sürmesi ve bazı satıcıların kendilerinden satın alınan bileşenleri artık satmaması nedeniyle bağlantılar, maksimum veya maksimuma yakın ürün satışına sahip diğer satıcıların ürünlerine göre güncellenecektir. Ve en iyi fiyat. İncelemede yer alan fiyatlar yazıldığı tarih itibariyle günceldir.

İhtiyacınız olacakların listesi:

Değişikliklerin listesi

GSM_03_12_2016-14-38.hex- cihazın M590 modemle çalışması düzeltildi.
GSM_05_12_2016-13-45.hex- RAM kullanımını optimize eden memtest konsol komutu eklendi.
GSM_2016_12_06-15-43.hex- konsola komut sonuçlarının çıktısı eklendi, bellek optimizasyonu. Dolu: %49 SRAM.
GSM_2016_12_07-10-59.hex- artık telefon numaraları doğru şekilde ekleniyor ve kaldırılıyor. Meşgul: %49 SRAM, %74 Flash Bellek.
GSM_2016_12_07-15-38.hex- A0 pinine bağlı bir hareket sensörünü bağlama yeteneği eklendi (bu durumda A0 pini dijital olarak kullanılır). SMS komutları eklendi PIRON, PIR Kapalı. Meşgul: %48 SRAM, %76 Flash Bellek.
GSM_2016_12_08-13-53.hex- Artık, yanıt olarak SMS mesajı göndermeyen bir komut başarıyla yürütüldükten sonra cihaz mavi LED'i bir kez yanıp söner. Artık, yanıt olarak SMS mesajı göndermeyen bir komutun yanlış yürütülmesinden sonra, cihaz mavi LED'i iki kez yanıp söner. Şimdi, cihaz parametrelerini başlattıktan sonra, eğer “sessiz” mod etkinse (SendSms = 0), cihaz mavi LED'i 2 saniye boyunca sık sık yanıp söner. Numaranın her zaman SilTelefon komutu kullanılarak bellekten silinmemesine neden olan bir hata düzeltildi. Meşgul: %48 SRAM, %78 Flash Bellek.
GSM_2016_12_11-09-12.hex- AddPhone ve deletePhone konsol komutları eklendi, sözdizimi SMS komutlarına benzer. Bellek optimizasyonu. Meşgul: %43 SRAM, %79 Flash Bellek.
GSM_2017_01_03-22-51.hex- Reed anahtarlar da dahil olmak üzere ek 8 sensörün bağlanması için PCF8574 yongasındaki benzer G/Ç bağlantı noktası genişleticileri için destek uygulandı. Otomatik adres arama ve otomatik modül yapılandırması. Sensörlerin standart adları ve yanıtlarının mantıksal düzeyi, EditSensor komutu kullanılarak değiştirilir. Ana sensöre (pin D0) ait alarm SMS'inin içeriği değiştirildi: “Alarm! Ana sensör! ve hareket sensörü (pim A0) “Alarm! PIR sensörü! EditSensor ve I2CScan komutları eklendi. Meşgul: %66 SRAM, %92 Flaş Bellek.
GSM_2017_01_15-23-26.hex- A6_Mini modem desteği. Harici gücün varlığının izlenmesi (pim D7). WatchPowerOn, WatchPowerOff SMS komutları eklendi. ListConfig, ListSensor konsol komutları eklendi. Artık EditSensor SMS komutu düzgün çalışıyor. Hata ayıklama bilgilerinin bağlantı noktası monitörüne çıkışı biraz azaltıldı. Dolu: %66 SRAM, %95 Flash Bellek.
GSM_2017_01_16-23-54.hex- Artık “Bilgi” SMS komutuna verilen yanıt mesajında ​​hareket sensörünün durumu da bildirilmektedir. Bazen boş yanıt SMS mesajlarının gönderilmesine neden olan bir hata düzeltildi. Artık cihaz yalnızca kapanma hakkında değil, aynı zamanda harici gücün yeniden başlatılması hakkında da bilgi veriyor. Tüm modemler daha az ses çıkarmaya başladı ve artık port monitörü biraz daha temiz. Dolu: %66 SRAM, %95 Flash Bellek.
GSM_2017_02_04-20-23.hex- “Gücün açılmasını izleyin” hatası düzeltildi. Artık devre dışı bırakıldıktan sonra “alarm pimi” kapatılır. Artık bir sayıyı sildikten sonra konsolda doğru bilgi görüntüleniyor. Bazen boş yanıt SMS mesajlarının gönderilmesine neden olan bir hata muhtemelen düzeltildi. Meşgul: %66 SRAM, %90 Flash Bellek.
GSM_2017_02_14-00-03.hex- Artık SMS mesajları varsayılan olarak gönderiliyor, SendSms parametresi yine 1'e eşit oluyor. Artık ana reed sensörün kontakları kapatıldığında (kapının kapanması), cihaz 2 saniye boyunca mavi LED ile yanıp sönerek sinyal veriyor normal operasyon sensör Meşgul: %66 SRAM, %90 Flash Bellek.
GSM_2017_03_01-23-37.hex- WatchPowerOn komutu kaldırıldı. SMS komutuyla aynı olan WatchPowerOff konsol komutu eklendi. WatchPowerOn1, WatchPowerOn2 komutları eklendi. WatchPowerOn1 - alarm devredeyse harici güç izleme etkinleştirilir, WatchPowerOn2 - harici güç izleme her zaman etkinleştirilir. Kurma ve silahsızlandırma fonksiyonu uygulandı harici cihazlar Bunun için A1(D15) ve A2(D16) pinleri kullanılır. A1(D15) pininde göründüğünde alarm devreye girer/devre dışı bırakılır yüksek seviye+5V veya A2(D16) pininde düşük seviye GND. 20 (10) kOhm'luk dirençler aracılığıyla A1(D15) pimi GND'ye, A2(D16) pimi +5V'a çekilir. GuardButtonOn ve GuardButtonOff komutları eklendi. Şimdi, devreye alma sonrasında, ana manyetik anahtar devresinin bütünlüğü kontrol edilene kadar kırmızı LED yanıp söner. Devre sağlamsa kırmızı LED yanar. Dolu: %66 SRAM, %95 Flash Bellek.
GSM_2017_03_12-20-04.hex- Artık konsol daha da temiz hale geldi, ancak "TestOn" test modu etkinleştirilirse konsolda ek bilgiler görüntülenir. “Gönderildi!” hatası düzeltildi; mesaj göndermeyle ilgili bilgiler artık konsolda doğru şekilde görüntüleniyor. "Tekrarlanan yanlış arama" hatası düzeltildi. Artık bakiye isteğinin tüm modemlerde doğru şekilde çalışması gerekir. Meşgul: %67 SRAM, %95 Flash Bellek.
GSM_2017_04_16-12-00.hex- Düzeltildi. Artık Bilgi ve Para komutları her zaman bir yanıt SMS'i gönderecektir. GuardButtonOn komutunun yerini GuardButtonOn1 ve GuardButtonOn2 komutları almıştır. Dolu: %67 SRAM, %99 Flash Bellek.
GSM_2017_04_21-09-43.hex - kullanılması tavsiye edilmez, yalnızca test amaçlıdır, hataları tanımladığınız için teşekkürler :) - Sendsms parametresi artık elektrik şebekesinin izlenmesi için SMS mesajlarının gönderilmesini etkilemiyor. Devreye alma sırasındaki gecikmeden sorumlu olan SMS komutu DelayBeforeGuard eklendi, değer 255 saniyeyi geçemez. Bildirimlerin gönderilmesini geciktirmekten ve sensörler tetiklendiğinde "alarm pinini" açmaktan sorumlu olan SMS komutu DelayBeforeAlarm eklendi; değer 255 saniyeyi aşamaz. ClearSMS komutları kaldırıldı, mesajlar artık alındıktan sonra otomatik olarak siliniyor. Dolu: %68 SRAM, %100 Flash Bellek.
GSM_2017_04_22-20-42.hex- Çoklu hatalar düzeltildi. ClearSMS komutları yine ürün yazılımında mevcuttur. Bellek optimizasyonu. Meşgul: %68 SRAM, %98 Flash Bellek.
GSM_2017_04_23-17-50.hex- Artık bakiye isteğinin tüm modemlerde doğru şekilde çalışması gerekiyor. Harici cihazlarla devreye alma ve devre dışı bırakma artık doğru şekilde çalışıyor. Bilgi komutundan gelen SMS yanıt mesajları boş olmamalıdır. Bellek optimizasyonu. Meşgul: %68 SRAM, %98 Flash Bellek.
GSM_2017_04_24-13-22.hex- Artık konsol komutları gönderiliyor GSM modülü yalnızca test modu etkinse gerçekleştirilir. Artık SMS komutları ile konsol komutları arasında bir ayrım yoktur; mevcut tüm komutlar hem SMS yoluyla hem de konsol aracılığıyla iletilebilir. Bilgi komutuyla ilgili bir hata düzeltilmiş olabilir. Bellek optimizasyonu. Meşgul: %68 SRAM, %94 Flash Bellek.
GSM_2017_04_25-20-54.hex- ListConfig komutunun değerini değiştirmesine neden olan bir hata düzeltildi son olay. Artık konsol üzerinden komut girildiğinde gereksiz SMS mesajları gönderilmiyor. Bilgi komutuyla ilgili bir hata düzeltilmiş olabilir. Bellek optimizasyonu. Meşgul: %66 SRAM, %94 Flash Bellek.
GSM_2017_04_30-12-57.hex- Çıkış geçici olarak etkinleştirildi Ek Bilgiler SMS mesajları gönderirken ve Bilgi komutuna yanıt oluştururken konsola. Bilgi komutuyla ilgili bir hata düzeltilmiş olabilir. Bellek optimizasyonu. Meşgul: %66 SRAM, %92 Flaş Bellek.
GSM_2017_05_06-11-52.hex- DelayBeforeAlarm işleviyle düzeltildi. Meşgul: %66 SRAM, %93 Flash Bellek.
GSM_2017_05_23-21-27.hex- Bilgilerin konsola çıkışı biraz değiştirildi. PCF8574A'da 0x38'den 0x3f'ye kadar adreslere sahip bağlantı noktası genişletme modülleri için destek eklendi. Sabit hata c. Artık FullReset, ResetConfig, ResetPhone komutlarından sonra ve MemTest komutu başarıyla yürütüldüğünde cihaz otomatik olarak yeniden başlatılır. WatchPowerTime komutu eklendi. Artık harici güç kaynağının kapatıldığını belirten bir SMS mesajının gönderileceği süreyi ayarlamak mümkün. Meşgul: %67 SRAM, %94 Flash Bellek.
GSM_2017_05_26-20-22.hex- Genişletme kartı sensör belleğinin başlatılması düzeltildi. AddPhone komutunun söz dizimi değiştirildi. EditMainPhone komutu eklendi. Bildirim sisteminin çalışma prensibi değiştirildi; sensör tetiklendiğinde önce SMS mesajı gönderilecek, ardından sesli arama yapılacak. Alarm SMS mesajları “S” (SMS) işaretli telefon numaralarına gönderilecektir. “R” (Zil) işaretli numaralara sesli arama yapılacaktır. Harici güç kaynağının kapatılması/açılması ile ilgili mesajlar “P” (Güç) işaretli telefon numaralarına gönderilecektir. Zil Süresi komutu eklendi. Artık alarm veren bir sesli aramanın süresini ayarlamak mümkündür; parametre 10 ila 255 saniye arasında bir değere sahip olabilir. RingOn/RingOff komutu artık sesli arama uyarılarını genel olarak etkinleştiriyor/devre dışı bırakıyor. ResetSensor komutu eklendi. Dolu: %68 SRAM, %99 Flash Bellek.
GSM_2017_06_02-17-43.hex- Cihazın devreye alınması veya devre dışı bırakılması ile ilgili SMS bildiriminden sorumlu olan AddPhone ve EditMainPhone komutlarına “I” (Bilgi) parametresi eklenmiştir. Artık ana numarayı ekledikten sonra cihaz otomatik olarak yeniden başlatılır. Artık aynı numaraları cihazın hafızasına girebilirsiniz. İkinci ve sonraki mükerrer sayıları eklerken “M”, “S”, “P” ve “I” nitelikleri bunlardan otomatik olarak kaldırılacaktır. Bu numaralar, sensörler tetiklendiğinde tekrarlanan sesli aramalar için kullanılacaktır. AddPhone komutunun çalıştırılmasından sonra hatalı konsol çıkışına neden olan bir hata düzeltildi; artık bir sayı eklendikten sonra bilgiler otomatik olarak görüntülenmiyor. Yeniden Başlatma komutu eklendi. Dolu: %69 SRAM, %99 Flash Bellek.
GSM_2017_06_11-00-07.hex- Şimdi yine, ana kamış sensörün kontakları kapatıldığında (kapının kapanması), cihaz 2 saniye boyunca mavi bir LED ile yanıp sönerek sensörün normal çalıştığını gösterir, ancak cihazın kurulu olup olmadığını dikkate almaz veya silahsızlandırılmıştır. RingOn/RingOff komutları kaldırıldı. Artık bir alarm araması sırasında cihaz devre dışı bırakılabilir; bu aramalar artık arka planda yapılmaktadır. Dolu: %69 SRAM, %99 Flash Bellek.
GSM_2017_07_04-21-52.hex- Artık Duraklat komutu yanıt SMS'i göndermiyor. TestOn ve TestOff komutları kaldırıldı. Yönetim özelliği tüm numaralardan kaldırıldı. Dolu: %68 SRAM, %96 Flash Bellek.
GSM_2017_07_24-12-02.hex- Ana kamış sensörünü izlemek için ReedSwitchOn/ReedSwitchOff komutları eklendi, artık hareket sensörüyle aynı şekilde açılıp kapatılabilir. Bilgi komutundaki bir hata düzeltildi. TestOn ve TestOff komutları yine ürün yazılımında mevcuttur. Dolu: %68 SRAM, %96 Flash Bellek.
GSM_2017_07_26-10-03.hex- ModemID komutu eklendi. Modemin otomatik tespiti ancak bu parametrenin değeri 0 ise gerçekleştirilir. Parametre değeri 0 olarak ayarlandıktan sonra cihaz otomatik olarak yeniden başlatılır. Meşgul: %68 SRAM, %98 Flash Bellek.
GSM_2017_08_03-22-03.hex- Artık alarm harici cihazları kontrol edebilir. Kontrol için analog çıkış A3 kullanılır (D17 - dijital olarak kullanılır). Mantıksal çıkış seviyesi (+5V veya GND) değiştirilebilir; konfigürasyon komutu aracılığıyla seviyeyi değiştirdikten sonra cihaz otomatik olarak yeniden başlatılacaktır. Harici cihaz kontrol sinyalinin süresi değiştirilebilir. ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Aç komutları eklendi. Kontrol komutlarının mantığında bazı değişiklikler. Bellek optimizasyonu. Dolu: %68 SRAM, %99 Flash Bellek.
GSM_2017_08_10-12-17.hex- SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff komutları ve bunlarla bağlantılı her şey kaldırıldı. DelayBeforeAlarm komutunun yerini genişletilmiş komutlar almıştır. Bilgi komutunun çıktısı değiştirildi. ListConfig komutunun konsola çıkışı optimize edildi. Artık, reed anahtarlar dahil, yüksek veya düşük yanıt seviyelerine sahip herhangi bir dijital sensör, D6 ve A0 pinlerine bağlanabilir. D6 ve A0 pinleri 10 (20) kOhm dirençle toprağa (GND) bağlanmalıdır. Sensör düşük bir yanıt seviyesine ayarlanmışsa (küçük anahtar modunda etkinleştirilmişse), devrenin bütünlüğü kontrol edilir. D6 ve A0 (+5V veya GND) girişlerindeki mantıksal tetikleme düzeyi değiştirilebilir; mantıksal düzey değiştirildikten sonra cihaz otomatik olarak yeniden başlatılır. Sensörlerin her biri için (ana, ikinci, PCF genişletme kartı), tetiklendiğinde kendi saati ayarlanabilir ve ardından bir bildirim yapılır (SMS ve/veya sesli arama). "PIR Sensörü", "İkinci sensör" olarak yeniden adlandırıldı. Cihazın kurulu olup olmadığına bakılmaksızın, sensörler tetiklendiğinde cihazın her zaman bildirimde bulunmasına neden olan bir hata olan genişletme kartının çalışması düzeltildi. Artık cihazın genişletme kartının sensörlerini hem kurulu modda (GuardOn) hem de devre dışı modunda (GuardOff) izleyebileceği bir çalışma modu seçebilirsiniz. PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFDelayBeforeAlarm komutları eklendi. Dolu: %68 SRAM, %99 Flash Bellek.

*Sonraki donanım yazılımı sürümleri, önceki sürümlerdeki değişiklikleri içerir.


Kullanılan bağlantı noktaları Arduino Nano'su v3

D4- bir “alarm” pininin çıkışı; sensör tetiklendiğinde bu pin üzerinde yüksek seviyeli bir sinyal ayarlanır;
D5- "alarm" pininin ters çıkışı; sensör tetiklendiğinde bu pin üzerinde düşük seviyeli bir sinyal ayarlanır;

D6- kamış sensörü. GSM_2017_08_10-12-17.hex sürümünden itibaren, reed anahtarlar da dahil olmak üzere yüksek veya düşük yanıt seviyelerine sahip herhangi bir dijital sensör, D6 pinine bağlanabilir. D6 pimi 10 (20) kOhm dirençle toprağa (GND) çekilmelidir.
D7- harici +5V güç kaynağından gelen voltaj bölücüye bağlanır. Üst kol 2,2 kOhm, alt kol 3,3 kOhm.

Gerilim bölücü


D8- Teksas modemi
D9-RX modem

D10- kırmızı LED
D11- mavi LED
D12- yeşil LED

Çevresel bağlantı:
A0- Hareket sensörü . GSM_2017_08_10-12-17.hex sürümünden başlayarak, reed anahtarlar da dahil olmak üzere yüksek veya düşük yanıt seviyesine sahip herhangi bir dijital sensör, A0 pinine bağlanabilir. A0 pini 10 (20) kOhm dirençle toprağa (GND) çekilmelidir.

A1- Harici kontrol girişi. Girişte yüksek bir +5V seviyesi göründüğünde alarm devreye girer/devre dışı bırakılır.
A2- Harici kontrol için ters giriş. Girişte düşük bir GND seviyesi göründüğünde alarm devreye girer/devre dışı bırakılır.

A3- Harici cihazları kontrol etmek için yapılandırılabilir (+5V veya GND) çıkış. Bir kontrol komutu alındığında bu çıkıştaki değer, belirlenen süre boyunca neyin ayarlandığına bağlı olarak değişir.

A4-SDA I2C
A5-SLC I2C
, ilave 8 sensörün bağlanması için.


Hex ürün yazılımı için kontrol komutları

Dikkat!Özel ekipler kalın harflerle cihaz konfigürasyonundan sorumlu oldukları için yalnızca ana numaradan yürütülebilir. Diğer komutlar “Yönetim” özelliğine sahip sayılardan çalıştırılabilir.

SMS - kontrol komutları büyük/küçük harfe duyarlı değildir:
Telefon Ekle- Bir telefon numarası ekleyin. Toplamda en fazla 9 numara + 1 ana numara eklenemez; bu, cihazı komutlarla fabrika ayarlarına sıfırladıktan sonra ilk aradığınızda otomatik olarak hafızaya kaydedilir. Telefonu resetle veya Tam Sıfırlama. Onlar. cihazı fabrika ayarlarına sıfırladıktan sonra ilk arayan kişi “master”dır, bu numara ilk hafıza hücresine girilir ve SMS ile değiştirilemez ve silinemez. İki özdeş sayının toplanması mümkün değildir.
Örnek komut:



Komut sözdizimi:

Telefon Ekle- takım
: - sınırlayıcı
5 - beşinci hafıza hücresine yazın
+71234567890 - telefon numarası
GSM_2017_05_26-20-22.hex sürümüne kadar:
a - “Alarm” parametresi - Bu parametreyle numaralara SMS mesajları gönderilecektir - alarmın etkinleştirilmesine ilişkin mesajlar ve devreye alma veya devre dışı bırakmaya ilişkin mesajlar.
GSM_2017_05_26-20-22.hex sürümünden başlayarak:
m - “Yönetim” parametresi - alarm yönetimi etkin
s - “SMS” parametresi - sensörler tetiklendiğinde bir SMS mesajı gönderilecektir
r - “Zil” parametresi - sensörler tetiklendiğinde sesli arama yapılacaktır
p - “Güç” parametresi - harici güç açıldığında/kapatıldığında bir SMS mesajı gönderilecektir
i - “Bilgi” parametresi - devreye alma veya devre dışı bırakma sırasında bir SMS mesajı gönderilecektir
“m”, “s”, “r”, “p”, “i” parametreleri eksikse telefon hafızaya alınır ancak hiçbir şekilde kullanılmaz.


Telefonu Sil- Telefon numarasını silin.
Örnek komut:

Komut sözdizimi:

Telefonu Sil - komut
: - sınırlayıcı
+71234567891 - telefon numarası


AnaTelefonu Düzenle- Ana telefonun “s”, “r”, “p”, “i” parametrelerini değiştirin, bu numara ilk hafıza hücresinde saklanır.
Örnek komut:

Komut sözdizimi:

EditMainPhone - komut
: - sınırlayıcı
srpi - parametreler


BakiyeNum- Bakiye talep numarasının değiştirilmesi ve talep yanıtının uzunluğunun işlenmesi. Beeline için varsayılan değer: #100#L22.
Örnek komut:

Komut sözdizimi:

BalanceNum - komut
: - sınırlayıcı
#103# - bakiye talep numarası
L24 - İletilen yanıtın uzunluğu (len) 24 karakterdir, bakiye isteğinden spam'ı kestik.


DüzenleSensörü- Sensörün adını ve mantıksal yanıt düzeyini değiştirin. Toplamda 8'den fazla ek sensör bulunamaz. Parametreleri değiştirdikten sonra cihazın yeniden başlatılması gerekir.
Örnek komut:
DüzenlemeSensörü:1+Datchik dvizheniya v koridore#h

Komut sözdizimi:

EditSensor - komut
: - sınırlayıcı
1 - ilk hafıza hücresine yaz
+ - ayırıcı
Datchik dvizheniya v koridore - sensörün adı, boşluklar dahil 36 karakteri aşamaz.
#h - Sensörden, alındığında bir alarmın tetikleneceği yüksek mantıksal seviyenin işareti. "#h" eksikse sensörden düşük mantık seviyesi alındığında alarm tetiklenecektir.


Uyku zamanı- SMS alındığında alarmın uyku moduna geçme süresi - “Duraklat” komutu dakika cinsinden gösterilir. Varsayılan değer: 15, 1'den az veya 60'tan fazla olamaz.
Örnek komut:

Komut sözdizimi:

Uyku Zamanı - komut
: - sınırlayıcı
20-20 dakikalık “uyku”.


AlarmPinZamanı- Alarm/ters pinin açık/kapalı olduğu süre saniye cinsinden gösterilir. Varsayılan değer: 60, 1 saniyeden az ve 43200 saniyeden (12 saat) fazla olamaz.
Örnek komut:

Komut sözdizimi:

AlarmPinTime - komut
: - sınırlayıcı
Alarm pinini açmak/kapatmak için 30 - 30 saniye.


GecikmeBeforeGuard- İlgili komutu aldıktan sonra cihazı devreye almadan önceki süre.
Örnek komut:

Komut sözdizimi:

DelayBeforeGuard - komut
: - sınırlayıcı
Silahlanmadan 25 - 25 saniye önce


Alarmdan Önce Gecikme- Bu süre zarfında alarm devre dışı bırakılmazsa, bir “alarm” SMS bildiriminin gönderileceği süre. GSM_2017_08_10-12-17.hex sürümünden itibaren genişletilmiş komutlarla değiştirildi
Örnek komut:

Komut sözdizimi:

DelayBeforeAlarm - komut
: - sınırlayıcı
“Alarm” bildirimi gönderilmeden 40 - 40 saniye önce


PowerTime'ı izleyin- Harici güç kaynağının kapatıldığını belirten bir SMS mesajının gönderileceği dakika cinsinden süre. Ayarlanan süre dolmadan harici güç yeniden sağlanırsa mesaj gönderilmez.
Örnek komut:

Komut sözdizimi:

WatchPowerTime - komut
: - sınırlayıcı
SMS mesajı gönderilmeden 5 - 5 dakika önce


Zil Süresi- Alarm veren sesli aramanın süresi, parametre 10 ila 255 saniye arasında bir değere sahip olabilir.
Örnek komut:

Komut sözdizimi:

Zil Süresi - komut
: - sınırlayıcı
40 - 40 arası arama süresi 40 saniye olacak ve sonrasında bir sonraki abone aranacaktır.


Modem kimliği- Kullanılan modem modelinin zorunlu kurulumu. Olası değerler: 0 - modem otomatik algılama, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Örnek komut:

Komut sözdizimi:

ModemID - komut
: - sınırlayıcı
2 - Modem Kimliği.


HariciCihazZamanı- Harici cihazın kontrol çıkışındaki sinyal seviyesinin değişeceği saniye sayısı.
Örnek komut:

Komut sözdizimi:

ExtDeviceTime- komutu
: - sınırlayıcı
5 - 5 saniye


ExtDeviceLevelLow- A3 çıkışına bağlanan harici cihaz, düşük sinyal seviyesi (GND) tarafından kontrol edilir. Harici bir cihazdan bir kontrol komutu alınana kadar çıkış varsayılan olarak yüksek bir +5V seviyesine ayarlanacaktır.
ExtDeviceLevelHigh- A3 çıkışına bağlanan harici bir cihaz, yüksek sinyal seviyesi (+5V) ile kontrol edilir. Harici bir cihaz kontrol komutu alınana kadar çıkış varsayılan olarak GND düşük olacaktır.

Sensörü Sıfırla- bağlantı noktası genişletici sensörlerini sıfırlayın

Yapılandırmayı Sıfırla- ayarları fabrika ayarlarına sıfırlayın

Telefonu resetle- tüm telefon numaralarının hafızadan silinmesi

Tam Sıfırlama- ayarları sıfırlayın, tüm telefon numaralarını hafızadan silin, BalanceNum komutunun varsayılan değerini geri yükleyin.

Çalmak- sensör tetiklendiğinde ilk hafıza hücresinde kayıtlı “ana” numarayı arayarak bildirimi etkinleştirin. GSM_2017_06_11-00-07.hex sürümünden itibaren kaldırıldı
ZilKapalı- Sensör tetiklendiğinde zili çalarak bildirimi kapatın. GSM_2017_06_11-00-07.hex sürümünden itibaren kaldırıldı

SmsOn- sensör tetiklendiğinde SMS bildirimini etkinleştirin. GSM_2017_08_10-12-17.hex sürümünden itibaren kaldırıldı
SMSKapalı- sensör tetiklendiğinde SMS bildirimini kapatın. GSM_2017_08_10-12-17.hex sürümünden itibaren kaldırıldı

PIRON- hareket sensörü işlemeyi etkinleştir
PIR Kapalı- hareket sensörü işlemeyi devre dışı bırakın

ReedSwitchOn- ana kamış sensörünün işlenmesini etkinleştirin
ReedSwitchOff- ana kamış sensörünün işlenmesini kapatın

PowerOn'u izle- harici güç kontrolünü etkinleştirin, alarm sisteminin devrede olması koşuluyla harici gücün kapatılmasına ilişkin bir SMS mesajı gönderilecektir. GSM_2017_03_01-23-37 sürümünden itibaren kaldırıldı.

PowerOn1'i izleyin- harici güç kontrolünü etkinleştirin, alarm sisteminin devrede olması koşuluyla harici gücün kapatılmasına ilişkin bir SMS mesajı gönderilecektir.
PowerOn2'yi izleyin- harici güç kontrolünü etkinleştirin, her durumda harici gücün kapatılmasına ilişkin bir SMS mesajı gönderilecektir

İzlePowerOff- harici güç kontrolünü kapatın

Koruma DüğmesiAçık- harici cihazlarla veya düğmeyle alarm kontrolü etkinleştirildi GSM_2017_04_16-12-00 sürümünden itibaren kaldırıldı.
GuardButtonOn1- işlev ayarlama veya kaldırma harici cihazlar veya düğmeyle koruma etkinleştirildi
GuardButtonOn2- işlev sadece yapımlar harici cihazlar tarafından etkinleştirildiğinde veya düğme açıldığında; devre dışı bırakma, cihazı arayarak veya bir SMS komutu kullanılarak yapılır.
Koruma DüğmesiKapalı- harici cihazlarla veya düğmeyle alarm kontrolü devre dışı

PCForceOn- tüm genişletme modülü sensörlerinden oluşan bir grubun sürekli izlenmesi
PCFForceOff- tüm genişletme modülü sensörlerinden oluşan bir grubun yalnızca cihaz devreye alındığında izlenmesi

AnaSensörSeviyeYüksek- sensörden gelen girişte (D6) yüksek seviyeli bir sinyal (+5 V) göründüğünde bir alarm bildirimi gönderilecektir
AnaSensörSeviyeDüşük- sensörden gelen girişte (D6) düşük seviyeli bir sinyal (GND) göründüğünde bir alarm bildirimi gönderilecektir
AnaSensörSeviyeKapalı- sensör giriş işleme (D6) devre dışı

İkinciSensörSeviyesiYüksek- sensörden gelen girişte (A0) yüksek seviyeli bir sinyal (+5 V) göründüğünde bir alarm bildirimi gönderilecektir
İkinciSensörSeviyesiDüşük- sensör girişinde (A0) düşük seviyeli bir sinyal (GND) göründüğünde bir alarm bildirimi gönderilecektir
İkinciSensörSeviyesiKapalı- sensör girişinin (A0) işlenmesi devre dışı bırakıldı

AnaGecikmeÖnceAlarm- eğer alarm bu süre zarfında devre dışı bırakılmamışsa, ana sensör (D6) tetiklendiğinde bir “alarm” SMS bildiriminin gönderileceği süre. Sözdizimi DelayBeforeAlarm komutuyla aynıdır.
Alarmdan Önce İkinci Gecikme- eğer alarm bu süre zarfında devre dışı bırakılmamışsa, ek bir sensör (A0) tetiklendiğinde bir “alarm” SMS bildiriminin gönderileceği süre. Sözdizimi DelayBeforeAlarm komutuyla aynıdır.
PCFDelayBeforeAlarm- eğer alarm bu süre zarfında devre dışı bırakılmamışsa, genişletme kartı sensörleri (PCF8574) tetiklendiğinde bir "alarm" SMS bildiriminin gönderileceği süre. Sözdizimi DelayBeforeAlarm komutuyla aynıdır.

GuardOn - kol
GuardOff - korumayı kaldır

Açık - harici cihaz kontrol komutu

Bilgi - durumu kontrol edin, bu mesaja yanıt olarak güvenliğin hangi numaranın açıldığı/kapatıldığı hakkında bilgi içeren bir SMS gönderilecektir.

Duraklat - sistemi uyku zamanı komutu tarafından dakika cinsinden ayarlanan süre boyunca duraklatır; sistem sensör tetikleyicilerine yanıt vermez.

TestOn - test modu açık, mavi LED yanıp sönüyor.
TestOff - test modu kapalıdır.

LedOff - bekleme LED'ini kapatır.
LedOn - bekleme LED'ini açar.

Para - bakiye talebi.

ClearSms - Bellekteki tüm SMS'leri sil

Konsol komutları (GSM_2017_04_24-13-22.hex sürümüne kadar) - Arduino IDE bağlantı noktası monitörüne girildi:

AddPhone - AddPhone sms komutuna benzer

SilTelefon - SilTelefon sms komutuna benzer

EditSensor - EditSensor sms komutuna benzer

ListPhone - bellekte saklanan telefonların listesini bağlantı noktası monitörüne gönderir

ResetConfig - ResetConfig sms komutuna benzer

ResetPhone - ResetPhone sms komutuna benzer

FullReset - FullReset sms komutuna benzer

ClearSms - ClearSms sms komutuna benzer

WatchPowerOn1 - WatchPowerOn1 sms komutuna benzer
WatchPowerOn2 - WatchPowerOn2 sms komutuna benzer
WatchPowerOff - WatchPowerOff sms komutuna benzer

GuardButtonOn - GuardButtonOn sms komutuna benzer. GSM_2017_04_16-12-00 sürümünden itibaren kaldırıldı
GuardButtonOn1 - GuardButtonOn1 sms komutuna benzer
GuardButtonOn2 - GuardButtonOn2 sms komutuna benzer
GuardButtonOff - GuardButtonOff sms komutuna benzer

Memtest - cihazın kalıcı belleğinin testi; FullReset komutuna benzer şekilde tüm cihaz ayarları sıfırlanacaktır.

I2CScan - I2C veriyolunda desteklenen cihazları arayın ve başlatın.

ListConfig - geçerli cihaz yapılandırmasını bağlantı noktası monitöründe görüntüler.

ListSensor - mevcut sensör konfigürasyonunun port monitörüne çıkışı.

GÜNCELLEME. Hareket sensörü kullanırken Modemin çalışması sırasında hatalı pozitif sonuçları önlemek için, arasında iğneler GND Ve A0 arduino direnç koymak, teşekkürler yoldaş
AllowPhone = (“70001234501”, “70001234502”, “70001234503”, “70001234504”, “70001234505”) - Güvenliği yönetmesine izin verilen numaralar.
AlarmPhone = (“70001234501”, “70001234502”) - Sensör tetiklendiğinde SMS bildirimleri ve devre dışı bırakma veya devreye alma bildirimleri göndermeye yönelik sayılar. Varsayılan olarak RingOn komutu yürütülürse, sensör tetiklendiğinde listedeki ilk numara aranır; bu seçenek etkinleştirilir. Bunun nedeni, SMS mesajlarının biraz gecikmeli olarak gelebilmesidir, ancak aramanın hemen yapılması gerekir.

Yetkili bir numaradan çağrı alınırsa veya GuardOn/GuardOff komutunu içeren bir SMS mesajı alınırsa, mevcut güvenlik durumuna bağlı olarak AlarmPhone dizisinde listelenen numaralara devreye alma veya devre dışı bırakma hakkında bir SMS mesajı gönderilecek ve bir SMS mesajı gönderilecektir. Çağrının geldiği numaraya da SMS mesajı gönderilecektir.

Sensör tetiklendiğinde AlarmPhone dizisindeki (liste) tüm numaralara SMS mesajı gönderilir ve bu dizideki ilk numaraya sesli arama yapılır.

Işık göstergesi:
LED kırmızı yanıyor - devrede.
LED yanıyor yeşil- LedOn/LedOff SMS komutuyla devre dışı bırakılır, etkinleştirilir/devre dışı bırakılır.
LED sürekli olarak mavi renkte yanıp sönüyor - Arduino'da her şeyin yolunda olduğunu, kartın donmadığını, yalnızca hata ayıklama için kullanıldığını, TestOn/TestOff SMS komutuyla açılıp kapatıldığını gösterir.
* Kod LedTest() fonksiyonunu içerir, mavi bir LED ile yanıp söner, yalnızca Arduino'yu izlemek için yapılır, yanıp söner - çalıştığı anlamına gelir, yanıp sönmez - donmuştur. Henüz kapatmadım :)

İlgili değil!

Açık donanım yazılımı için 2 veya daha fazla sensörün bağlanması (yalnızca bu donanım yazılımı taslağı_02_12_2016.ino için geçerlidir)
Ek kamış sensörlerini bağlamak için ücretsiz dijital pinler D2, D3, D5 veya D7 kullanıyoruz. D7'deki ek sensörlü bağlantı şeması.

Firmware'de gerekli değişiklikler
... #define DoorPin 6 // Ana sensöre bağlı giriş numarası int8_t DoorState = 0; // Ana sensörün durumunu saklayan değişken int8_t DoorFlag = 1; // Ana sensörün durumunu saklamak için kullanılan değişken #define BackDoorPin 7 // Ek sensöre bağlı giriş numarası int8_t BackDoorState = 0; // Ek sensörün durumunu saklamak için kullanılan değişken int8_t BackDoorFlag = 1; // Ek sensörün durumunu saklayacak değişken...
void setup() ( ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() ( // Sensörlerden gelen değerleri okuyun DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); // Ana sensörün işlenmesi if (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; gecikme(100); if (LedOn == 1) digitalWrite(GLed, LOW); if (DoorState == HIGH && DoorFlag == 1)( DoorFlag = 0; gecikme(100); ) //Ek sensör işleniyor if (BackDoorState == LOW && BackDoorFlag == 0) ( BackDoorFlag = 1; gecikme(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); ) if (BackDoorState == HIGH && BackDoorFlag = = 1)( BackDoorFlag = 0; gecikme(100); ) ) ...

Ve bir şey daha:
1. Modül 1 A akım taşıdığından ve Arduino'ya ve modeme hala bir şeyle güç vermemiz gerektiğinden, 2 A akım için derecelendirilmiş diyotları kullanmak daha iyidir. Bu örnekte 1N4007 diyotlar kullanılır; arızalanırlarsa bunları 2 A olanlarla değiştirin.
2. Geceleri tüm koridoru aydınlatmamak için LED için tüm dirençleri 20 kOhm'da kullandım.
3. Ayrıca reed sensörüne GND pini ile D6 pini arasına 20 kOhm'luk bir direnç yerleştirdim.

Şimdilik bu kadar. İlginiz için teşekkür ederiz! :)

+207 almayı planlıyorum Favorilere ekle İncelemeyi beğendim +112 +243

Kızılötesi (IR) sensörler genellikle mesafeleri ölçmek için kullanılır ancak nesneleri algılamak için de kullanılabilirler. Birkaç IR sensörünü Arduino'ya bağlayarak bir güvenlik alarmı oluşturabiliriz.

Gözden geçirmek

Kızılötesi (IR) sensörler genellikle mesafeleri ölçmek için kullanılır ancak nesneleri algılamak için de kullanılabilirler. IR sensörleri bir kızılötesi verici ve bir kızılötesi alıcıdan oluşur. Verici darbeler yayar kızılötesi radyasyon alıcı herhangi bir yansımayı algılarken. Alıcı bir yansıma tespit ederse, bu, sensörün önünde belirli bir mesafede bir nesne olduğu anlamına gelir. Yansıma yoksa nesne de yoktur.

Bu projede kullanacağımız IR sensör belirli bir aralıktaki yansımayı tespit ediyor. Bu sensörler, IR ışığının sensöre geri döndüğü açıyı algılayan küçük bir doğrusal yük bağlantılı cihaza (CCD) sahiptir. Aşağıdaki şekilde görüldüğü gibi sensör uzaya kızılötesi bir darbe gönderiyor ve sensörün önüne bir nesne çıktığında darbe, nesne ile sensör arasındaki mesafeyle orantılı bir açıyla sensöre geri yansıyor. Sensör alıcısı açıyı algılayıp bildirir ve bu değeri kullanarak mesafeyi hesaplayabilirsiniz.

Arduino'ya birkaç IR sensörü bağlayarak basit bir güvenlik alarmı yapabiliriz. Sensörleri kuracağız KAPI pervazi ve sensörleri doğru şekilde hizalayarak birisinin kapıdan içeri girdiğini tespit edebiliriz. Bu gerçekleştiğinde IR sensörünün çıkışı değişecektir ve bu değişikliği Arduino kullanarak sensörlerin çıkışını sürekli okuyarak tespit edeceğiz. Bu örnekte IR sensörü çıkış değeri 400'ü aştığında kapıdan bir nesnenin geçtiğini biliyoruz. Bu olduğunda Arduino bir alarm tetikleyecektir. Alarmı sıfırlamak için kullanıcı bir düğmeye basabilir.

Aksesuarlar

  • 2 x IR mesafe sensörü;
  • 1 x Arduino Mega 2560;
  • 1 x zil;
  • 1 x düğme;
  • 1 x 470 Ohm direnç;
  • 1 x NPN transistörü;
  • Jumper'lar.

Bağlantı şeması

Bu projenin şeması aşağıdaki şekilde gösterilmektedir. İki IR sensörünün çıkışları A0 ve A1 pinlerine bağlanır. Diğer iki pin ise 5V ve GND pinlerine bağlanır. 12 voltluk zil, bir transistör aracılığıyla pim 3'e bağlanır ve alarmı susturmak için kullanılan düğme, pim 4'e bağlanır.


Aşağıdaki fotoğraf, bu deney için sensörleri kapı çerçevesine nasıl yapıştırdığımızı göstermektedir. Tabii ki, durumda sürekli kullanım sensörleri farklı şekilde kurarsınız.


Kurulum

  1. Arduino kartının 5V ve GND pinlerini sensörlerin power ve GND pinlerine bağlayın. Ayrıca onlara harici güç de sağlayabilirsiniz.
  2. Sensörlerin çıkış pinlerini Arduino kartının A0 ve A1 pinlerine bağlayın.
  3. Arduino'nun pin 3'ünü 1k ohm'luk bir direnç aracılığıyla transistörün tabanına bağlayın.
  4. Transistörün toplayıcısına 12V uygulayın.
  5. 12 voltluk zilin pozitif ucunu emitöre, negatif ucunu ise topraklama barasına bağlayın.
  6. Bir düğme aracılığıyla pin 4'ü pin 5V'ye bağlayın. Güvenlik nedeniyle, büyük akım akışını önlemek için, bunu ek bir küçük direnç aracılığıyla yapmak her zaman daha iyidir.
  7. Bağlamak Arduino kurulu bilgisayara USB kablosuyla bağlayın ve programı Arduino IDE kullanarak mikrodenetleyiciye yükleyin.
  8. Arduino kartına bir güç kaynağı, pil veya USB kablosu kullanarak güç verin/

Kod

const int buzzer=3; // pin 3, buzzer const int butonu=4'ün çıkışıdır; // pin 4, butonun girişidir void setup() ( pinMode(zil, OUTPUT); // pin 3'ü çıkışa ayarlayın pinMode(buton, INPUT); // pin 4'ü girişe ayarlayın) void loop() ( / / her iki sensörün çıkışını okuyun ve sonucu eşik değeriyle karşılaştırın int sensör1_değeri = analogRead(A0); int sensör2_değeri = analogRead(A1); if (sensör1_değeri > 400 || sensör2_değeri > 400) ( while(true) ( ​​​digitalWrite(zil, YÜKSEK) ; // alarmı aç if(digitalRead(buton) == YÜKSEK) break; ) else ( digitalWrite(zil, DÜŞÜK); // alarmı kapat ))

Video

Bugün nasıl kullanılacağı hakkında konuşacağız. arduino TOPLAMAK güvenlik sistemi. Bizim "güvenliğimiz" bir devreyi koruyacak ve bir sireni kontrol edecek.

Arduino için bu bir sorun değildir ve program kodundan ve cihaz şemasından da göreceğiniz gibi, korunan erişim noktalarının sayısını ve bildirim veya gösterge cihazlarının sayısını kolaylıkla artırabilirsiniz.
Güvenlik sistemi hem büyük nesneleri (binalar ve yapılar), hem de küçük eşyaları (kutular, kasalar) ve hatta taşınabilir kasaları ve valizleri korumak için kullanılabilir. İkincisine dikkat etmeniz gerekse de, örneğin seyahat etmeye karar verdiğiniz bir valize bir güvenlik sistemi kurarsanız ve bazı havalimanlarında uyarı sistemi devreye girerse, o zaman ciddi bir konuşma yapacağınızı düşünüyorum. yerel güvenlik servisi :-)

Cihazın basitleştirilmiş çalışma prensibi aşağıdaki gibidir (Şekil 1). Gücü açtıktan sonra cihaz çalışma moduna geçer ve devreye girmeyi bekler. Kurma ve devre dışı bırakma tek tuşla gerçekleştirilir. Güvenliği artırmak için bu düğmeyi korunan bir alanın (kasa veya kutu) içine yerleştirmek daha iyidir. Güvenlik modunu açmadan önce kapının hafifçe açılması gerekir. Güvenlik modunu açtığınızda (düğmeye basın) elektronik devre odanın kapısı (kasa kapısı, kasa kapağı vb.) kapatılıncaya kadar bekler.

Kapıya (veya kapıya) herhangi bir türde bir limit anahtarı takılmalıdır, buna daha sonra değineceğiz. Limit anahtarı kapatıldığında (veya açıldığında), cihaza korunan devrenin kapalı olduğu bilgisini verecek ve cihaz güvenlik moduna geçecektir. Sistem, güvenlik moduna girdiğiniz konusunda sizi iki kısa sinyalle bilgilendirecektir (örn. araba alarmları). Bu modda cihaz kapının açılmasını “yakalar”. Kapıyı açtıktan sonra sistem, güvenlik modunun kapanması için birkaç saniye bekler (bu ayarlanabilir bir değerdir; odalar için yaklaşık on saniye, bir kutu için bir veya iki saniye); Algoritma ve devre, sireni ancak muhafazayı tamamen söküp gücü kapatarak kapatabileceğiniz şekilde tasarlanmıştır.

Cihaz güvenlik sistemiçok basit (Şekil 2). Tahtaya dayanarak arduino. Limit anahtarları, çekme dirençleri aracılığıyla normal bir düğme gibi bağlanır. Uç anahtarlar üzerinde ayrı ayrı duracağım. Normalde kapalı veya normalde açıktırlar. Normal bir düğmeyi limit anahtarı olarak açabilirsiniz, yalnızca hareket ettirin normal düğmeçok büyük olduğundan kapı boşluğu genellikle daha fazladır. Bu nedenle düğme için bir tür itici bulup, düğmeyi kapıyla kırmamak için yaylamak gerekir. Çok tembel değilseniz, mağazaya gidip bir manyetik anahtar (kamış anahtarı) satın alabilirsiniz (Şek. 3), toz ve kirden korkmaz.

Araba alarmları için bir limit anahtarı da uygundur (Şek. 4). Programın bir kamış anahtarı için yazıldığına dikkat edilmelidir. Şu tarihte: kapalı kapı kontağı kapalıdır. Bir araba alarm anahtarı kullanıyorsanız, kapı kapatıldığında büyük olasılıkla açık olacaktır ve koddaki uygun yerlerde 0'ı 1'e (veya tam tersi) değiştirmeniz gerekecektir.

Siren olarak Belarus'ta üretilen PKI-1 IVOLGA ses sirenini kullanmayı öneriyorum (Şekil 5). Besleme voltajı 9 - 15 V, çalışma akımı 20 - 30 mA. Bu, pil gücüyle kullanılmasına olanak sağlar. Aynı zamanda 95 - 105 dB “üretir”.

Bu özelliklerle Krona pilinden onlarca dakika boyunca ses çıkaracaktır. İnternette 110 rubleye buldum. Orada mıknatıslı bir kamış anahtarın maliyeti yaklaşık 30 ruble. Araba alarm anahtarı otomobil parçalarından 28 rubleye satın alındı. KT315 transistörü herhangi bir harfle alınabilir veya uygun iletkenliğe sahip herhangi bir modern düşük güçlü silikon transistörle değiştirilebilir. Bir sirenin ses seviyesi yeterli değilse (kim bilir, belki kilometrelerce uzaktan duyulmasını istersiniz), birkaç sireni paralel bağlayabilir veya daha güçlü bir siren alabilirsiniz, ancak bu durumda transistörün değiştirilmesi gerekir. daha güçlü olanı (örneğin, tanıdık transistör düzeneği ULN2003). Kamış anahtarını ve sireni bağlamak için konektörler olarak, ses/video cihazları için en basit konektörleri kullandım - radyo pazarındaki fiyat 5 ruble. bir çift için.

Cihazın gövdesi plastik veya kontrplaktan birbirine yapıştırılabilir; ciddi bir nesne korunuyorsa, onu metal yapmak daha iyidir. Güvenilirliği ve güvenliği artırmak için pillerin veya akümülatörlerin kasanın içine yerleştirilmesi tavsiye edilir.

Program kodunu basitleştirmek için enerji tasarrufu sağlayan öğeler kullanılmadı ve piller uzun süre dayanmıyor. Kesme olayı işlemeyi ve MK uyku modunu kullanarak kodu optimize edebilir veya daha da iyisi radikal bir şekilde yeniden oluşturabilirsiniz. Bu durumda seri bağlı (9 V) iki kare pilin gücü birkaç ay boyunca yeterli olmalıdır.

Şimdi kod

// sabitler
const int düğmesi = 12; // buton için pin
const int gerkon = 3; // küçük indükleme anahtarı için pin
const int sirena = 2; // siren kontrol pini
const int led = 13; // gösterge pini
// değişkenler
int düğmeDurumu = 0; // düğme durumu
int gerkonState = 0; // kamış anahtarı durumu
int N = 0; // devre dışı bırakma düğmesi sayacı
geçersiz kurulum() (
// sireni ve göstergeyi kontrol et - çıkış
pinMode(sirena, ÇIKIŞ);
pinMode(led, ÇIKIŞ); // düğme ve küçük indükleme anahtarı - girişler
pinMode(gerkon, INPUT);
pinMode(düğme, GİRİŞ);
}
geçersiz döngü ()
digitalWrite(led, YÜKSEK);
while(buttonState= =0)( // butona basana kadar döngüyü bekle
ButtonState = digitalRead(düğme); // güvenlik moduna geçmek için
}
digitalWrite(led, DÜŞÜK);
düğmeDurumu = 0; // butonun değerini sıfırla
while(gerkonState= =0)( // kapıyı kapatana kadar döngü yapıyoruz

}
gecikme(500); // :-)
digitalWrite(sirena, YÜKSEK); // Kod
gecikme(100); // belirteçler
digitalWrite(sirena, DÜŞÜK); // olanak vermek
gecikme(70); // mod
digitalWrite(sirena, YÜKSEK); // güvenlik
gecikme(100); // bildiri
digitalWrite(sirena, DÜŞÜK); // ses
while(gerkonState= =1)( // kapının açılmasını bekle
gerkonState = digitalRead(gerkon);
}
for (int i=0; i<= 5; i++){ // 7,5 секунды на нажатие
ButtonState = digitalRead(düğme); // gizli düğme
if (buttonState = = HIGH) ( // bizimkileri - başkasınınkileri takip edin
N=N+1;
}
gecikme(1500); // gizli özellik :-)))
}
if (N > 0) ( // en önemli şey
digitalWrite(sirena, DÜŞÜK); // sireni açmayın
}
başka(
digitalWrite(sirena, YÜKSEK); // veya sireni aç
}
digitalWrite(led, YÜKSEK); // N = 0 göstergesini açın;
düğmeDurumu = 0;
gecikme(15000); // beğenen aptallar için hatırlatma
digitalWrite(led, DÜŞÜK); // düğmelere kesintisiz gecikme olmadan basın (1000);

Bunlar, çeşitli oluşturabileceğiniz özel donanım platformlarıdır. elektronik aletler ve dahil. Bu tip cihazlar, basit tasarımları ve çalışma algoritmalarını programlayabilme yetenekleriyle öne çıkıyor. Bu sayede Arduino kullanılarak oluşturulan bir alarm sistemi , koruyacağı nesneye göre maksimum düzeyde özelleştirilebilir.

Arduino modülü nedir?

Arduino'lar kendi mikroişlemcisine ve hafızasına sahip küçük kartlar şeklinde uygulanmaktadır. Kartta ayrıca güvenlik sistemleri için kullanılan sensörler de dahil olmak üzere çeşitli elektrikli cihazları bağlayabileceğiniz bir dizi işlevsel kontak bulunur.

Arduino işlemcisi, kullanıcı tarafından yazılan bir programı kendiniz yüklemenizi sağlar. Kendinizinkini yaratmak benzersiz algoritma farklı nesneler için güvenlik alarmlarının en uygun çalışma modlarını sağlamak mümkündür. farklı koşullar kullanımlar ve çözülmesi gereken görevler.

Arduino ile çalışmak zor mu?

Arduino modülleri birçok kullanıcı arasında oldukça popülerdir. Bu, basitliği ve erişilebilirliği nedeniyle mümkün oldu.

Modülleri yönetmeye yönelik programlar normal C++ ve formdaki eklemeler kullanılarak yazılmıştır. basit işlevler Modül kontaklarındaki giriş/çıkış işlemlerini kontrol edin. Ayrıca programlama için Windows, Linux veya Mac OS altında çalışan ücretsiz Arduino IDE yazılımı da kullanılabilir.

Arduino modülleri ile cihazların montaj prosedürü önemli ölçüde basitleştirilmiştir. Arduino'da bir havyaya ihtiyaç duymadan bir GSM alarm sistemi oluşturulabilir; montaj, devre tahtası, atlama telleri ve teller kullanılarak gerçekleştirilir.

Arduino kullanarak alarm nasıl oluşturulur?

Arduino'da oluşturulan bir DIY gsm alarm sisteminin karşılaması gereken temel gereksinimler şunları içerir:

  • tesisin sahibine izinsiz giriş veya giriş konusunda bilgi verin;
  • ses sireni, uyarı ışıkları gibi harici sistemlere destek;
  • SMS veya çağrı yoluyla alarm kontrolü;
  • harici güç kaynağı olmadan otonom çalışma.

Bir alarm oluşturmak için ihtiyacınız olacak:

  • Arduino modülü;
  • bir dizi işlevsel sensör;
  • veya modem;
  • özerk güç kaynağı;
  • harici aktüatörler.

Arduino modüllerinin ayırt edici özelliği özel genişletme kartlarının kullanılmasıdır. Herkesi birbirine bağlamaya yardımcı oluyorlar ek cihazlar Güvenlik sistemi konfigürasyonunu birleştirmek için gerekli olan Arduino'ya. Bu tür kartlar Arduino modülünün üzerine bir "sandviç" şeklinde monte edilir ve ilgili yardımcı cihazlar kartlara bağlanır.

Nasıl çalışır?

Bağlı sensörlerden biri tetiklendiğinde Arduino modülünün işlemcisine bir sinyal iletilir. Mikroişlemci, indirilen kullanıcı yazılımını kullanarak onu belirli bir algoritmaya göre işler. Bunun bir sonucu olarak, harici bir aktüatörün çalıştırılmasına yönelik bir komut oluşturulabilir ve bu komut, ilgili genişletme arayüzü kartı aracılığıyla kendisine iletilir.

Korunan bir ev veya apartman sahibine uyarı sinyalleri gönderebilmesini sağlamak için Arduino modülüne genişletme kartı aracılığıyla özel bir GSM modülü bağlanır. Sağlayıcılardan birinden bir SIM kart takılı hücresel iletişim.

Özel bir GSM adaptörünün yokluğunda, normal bir adaptör rolünü yerine getirebilir. cep telefonu. Alarm ve arama uyarısı veren SMS mesajları göndermenin yanı sıra, hücresel bağlantının varlığı, Arduino'daki GSM alarm sistemini uzaktan kontrol etmenize ve özel istekler göndererek nesnenin durumunu izlemenize olanak sağlayacaktır.

"Not!

Nesnenin sahibiyle iletişim kurmak için GSM modüllerinin yanı sıra internet üzerinden iletişim sağlayan sıradan modemler de kullanılabiliyor.”

Bu durumda sensör tetiklendiğinde işlemci tarafından işlenen sinyal modem aracılığıyla özel bir portala veya web sitesine iletilir. Ve siteden, bağlantılı e-postaya bir uyarı SMS'i veya postası otomatik olarak oluşturulur.

sonuçlar

Arduino modüllerinin kullanımı, kullanıcıların çeşitli fonksiyonel sensörlerle çalışabilen ve harici cihazları kontrol edebilen GSM alarmlarını bağımsız olarak tasarlamasına olanak tanıyacak. Çeşitli sensörlerin kullanılma olasılığı sayesinde alarm fonksiyonları önemli ölçüde genişletilebilir ve yalnızca nesnenin güvenliğini değil aynı zamanda durumunu da izleyecek bir kompleks oluşturulabilir. Örneğin tesisteki sıcaklığı kontrol etmek, su ve gaz sızıntılarını tespit etmek, acil durumlarda bunların beslemesini kapatmak ve çok daha fazlası mümkün olacak.

Arduino'da GSM alarm sistemi

Bu yazıda, GSM modülünü ve Arduino'yu kullanarak çok ucuza GSM alarmını nasıl yapacağınızı (satın alacağınızı) öğreneceksiniz. GSM alarm güvenliğinin amacı idealdir bir yazlık yapacak, ev, garaj, daire.


Adım 1: Öğeler
Bu proje için ihtiyacınız olacak:


GSM Kalkanı

Zil
Alarm sireni 12V
12V güç kaynağı

Arduino için Klavye
Çerçeve.

Adım 2: Bileşenleri Bağlama


Öncelikle GSM modülünü Arduino Uno'ya yerleştireceksiniz, GND ve VCC kablolarını iki sensör, bir buzzer ve bir röle modülü girişi ile birlikte lehimlemeniz gerekecek. Bundan sonra, bu lehimli kabloları GSM ekranının ilgili konektörüne bağlayın. Daha sonra bu parçalardan bir G/Ç sinyal konnektörü yapacaksınız ve yapmanız gereken son şey klavyeyi bağlamak olacak

Arduino Uno/GSM Terminalleri:

Pim 0: bağlı değil;
Sonuç 1: ilgili değil;
Pin 2: bağlı değil (GSM bu pini kullanacaktır);
Pin 3: bağlı değil (GSM bu pini kullanacaktır);
Pim 4: klavyeyi kullanan son satır (klavye pimi 4 - 8'den itibaren);
Sonuç 5: ilgisiz;
Pim 6: klavye aracılığıyla ikinci sütun (klavye pimi 6 - 8'den itibaren);
Çıkış 7: klavyeden üçüncü sütun (parmak klavyesi 7 - 8'den);
Pin 8: bağlı değil (GSM bu pini kullanacaktır);
Pin 9: bağlı değil (GSM bu pini kullanacaktır);
Pim 10: PIR sensör verileri No. 2;
Pin 11: siren ses sinyali (röle modülünün girişine girilir);
Pim 12: PIR sensör verileri No. 1;
Pim 13: sesli uyarı giriş sinyali;

Gördüğünüz gibi klavyede 8 pin olmasına rağmen yalnızca üçü bağlı (bir satır ve iki sütun, iki sayının okunmasına izin veriyor - 1×2 matris), yani bu üç kabloyu kullanarak şifreler oluşturabiliyorum ve hiçbir şey yok klavyedeki tüm kişileri kullanmanız gerekir. Çünkü hareket sensörü odada bir kişinin yürüdüğünü algıladığında, kişinin alarmı kapatmak için yalnızca 5 saniyesi olacaktır. Belirli bir saatte alarm kapatılmadığında GSM kalkanı size SMS gönderir veya telefon numaranızı arar. Arduino bir arama yapacak ve siz cevapladığınız anda telefon görüşmesi, telefonu kapatacak.

Elbette sensörden yanlış okumalar almak mümkündür, dolayısıyla telefonunuzdan Arduino'ya SMS göndererek alarmı kapatma seçeneği de vardır. Ek olarak yapabileceğiniz diğer bir seçenek de kalkanın size günde bir mesaj gönderecek şekilde ayarlanmasıdır, böylece kalkanın doğru çalıştığını bilirsiniz.

3. Adım: Kod

Aşağıdaki kodu indirip derlemeniz yeterli. Keypad.h ve GSM.h kütüphanelerini kullanır.
Dosyayı indir: (indirilenler: 181)
Dosyayı indir: (indirilenler: 104)

Adım 4: Sonuç


Arduino Uno kodunun, birisi evinize girdikten sonra yalnızca beş saniye içinde mesaj gönderip telefonunuza çağrı yapacağı göz önüne alındığında, polisi aramak için bolca zamanınız olacağını tahmin ediyorum. Elbette siren hırsızları korkutacak ve bu makalenin yardımıyla eviniz veya diğer mekanlarınız daha güvenli hale gelecektir.



2024 Evdeki konfor hakkında. Gaz sayaçları. Isıtma sistemi. Su tedarik etmek. Havalandırma sistemi