Temas halinde Facebook heyecan RSS beslemesi

Hareket sensörü ve Arduino'ya bağlanması hakkında. Arduino tabanlı hareket sensörü ve kızılötesi sensörler ile güvenlik alarmı oluşturma Arduino ile çalışmak zor mu?

Son on yılda araba hırsızlıkları dünyada işlenen suçların yapısında en önemli yerlerden birini işgal etti. Bunun nedeni, bu hırsızlık kategorisinin toplam suç sayısına göre özgül ağırlığından değil, arabaların yüksek maliyetinden kaynaklanan hasarın öneminden kaynaklanmaktadır. 90'lı yılların sonunda araç hırsızlığıyla mücadele alanında alınan önlemlerin etkinliğinin zayıf olması, bu suçları işlemede uzmanlaşmış istikrarlı grupların oluşmasına ve ayırt edici özellikleri Organize suç; Muhtemelen "siyah otomobil işi" terimini duymuşsunuzdur. Avrupa ülkelerinin araç filosu her yıl suç saldırılarına maruz kalan araçların yaklaşık %2'sinden yoksundur. Bu nedenle Arduino Uno'yu temel alarak arabama GSM alarmı yapma fikri aklıma geldi.

Hadi başlayalım!

Neyden toplayacağız?

Sistemimizin kalbini seçmemiz gerekiyor. Bana göre böyle bir sinyalleme için Arduino Uno'dan daha iyi bir şey yok. Ana kriter yeterli sayıda “pim” ve fiyattır.


Arduino Uno'nun Temel Özellikleri

Mikrodenetleyici - ATmega328
Çalışma voltajı - 5 V
Giriş voltajı (önerilen) - 7-12 V
Giriş voltajı (sınır) - 6-20 V
Dijital Giriş/Çıkış - 14 (6 tanesi PWM çıkışı olarak kullanılabilir)
Analog girişler - 6
Giriş/çıkış üzerinden sabit akım - 40 mA
Çıkış 3,3V - 50mA için sabit akım
Flash bellek - 32 KB (ATmega328), bunun 0,5 KB'si önyükleyici için kullanılır
RAM - 2 KB (ATmega328)
EEPROM-1 KB (ATmega328)
Saat frekansı - 16 MHz


Uyar!

Artık bir GSM modülü seçmeniz gerekiyor çünkü alarm sistemimizin araç sahibini bilgilendirebilmesi gerekiyor. Yani Google'da aramanız gerekiyor... İşte mükemmel bir sensör - SIM800L, boyut tek kelimeyle harika.


Düşündüm ve Çin'den sipariş ettim. Ancak her şeyin o kadar da pembe olmadığı ortaya çıktı. Sensör, SIM kartı ağa kaydetmeyi reddetti. Mümkün olan her şey denendi; sonuç sıfırdı.
Bana daha havalı bir şey sağlayan nazik insanlar vardı: Sim900 Shield. Şimdi bu ciddi bir şey. Shield'ın hem mikrofon hem de kulaklık girişi olması onu tam teşekküllü bir telefon haline getiriyor.


Sim900 Shield'in Temel Özellikleri

4 çalışma frekansı standardı 850/ 900/ 1800/ 1900 MHz
GPRS çoklu yuva sınıfı 10/8
GPRS mobil istasyonu sınıf B
GSM faz 2/2+ ile uyumludur
Sınıf 4 (2 W @850/ 900 MHz)
Sınıf 1 (1 W @ 1800/1900MHz)
AT komutlarını kullanarak kontrol (GSM 07.07, 07.05 ve SIMCOM genişletilmiş AT komutları)
Düşük güç tüketimi: 1,5mA (uyku modu)
Çalışma sıcaklığı aralığı: -40°C ila +85°C


Uyar!

Tamam ama sahibini bilgilendirmek için bazı sensörlerden ölçümler almanız gerekiyor. Araba çekilirse, o zaman arabanın konumu uzayda açıkça değişecektir. Bir ivmeölçer ve bir jiroskop alalım. Harika. Tamam, şimdi bir sensör arıyoruz.

GY-521 MPU6050'nin kesinlikle uyacağını düşünüyorum. Ayrıca bir sıcaklık sensörüne sahip olduğu ortaya çıktı. Onu da kullanmalıyız, öyle bir “öldürücü özellik” olacak. Arabanın sahibinin evinin altına park edip gittiğini varsayalım. Arabanın içindeki sıcaklık "sorunsuz" bir şekilde değişecektir. Davetsiz misafir arabaya girmeye çalışırsa ne olur? Mesela kapıyı açabilecek. Kabindeki hava havayla karışmaya başladıkça araç içindeki sıcaklık hızla değişmeye başlayacak. çevre. Bence işe yarayacak.


GY-521 MPU6050'nin Ana Özellikleri

MPU-6050 çipinde 3 eksenli jiroskop + 3 eksenli ivmeölçer modülü GY-521. Bir nesnenin uzaydaki konumunu ve hareketini, dönüş sırasındaki açısal hızını belirlemenizi sağlar. Ayrıca yerleşik bir sıcaklık sensörüne sahiptir. Çeşitli helikopter ve uçak modellerinde kullanılmakta olup, bu sensörlere dayalı olarak hareket yakalama sistemi de kurulabilmektedir.

Çip - MPU-6050
Besleme voltajı - 3,5V'tan 6V'a (DC);
Jiroskop Aralığı - ±250 500 1000 2000°/s
İvmeölçer aralığı - ±2±4±8±16g
İletişim arayüzü - I2C
Boyut - 15x20 mm.
Ağırlık - 5 gr


Uyar!

Bir titreşim sensörü de kullanışlı olacaktır. Aniden “kaba kuvvetle” arabayı açmaya çalışıyorlar ya da otoparkta başka bir araba sizin arabanıza çarpıyor. SW-420 titreşim sensörünü (ayarlanabilir) alalım.


SW-420'nin temel özellikleri

Besleme gerilimi - 3,3 - 5V
Çıkış sinyali - dijital Yüksek/Düşük (normalde kapalı)
Kullanılan sensör - SW-420
Kullanılan karşılaştırıcı LM393'tür.
Boyutlar - 32x14 mm
Ek olarak - Ayar direnci bulunmaktadır.


Uyar!

SD hafıza kartı modülünü vidalayın. Ayrıca bir günlük dosyası yazacağız.


SD hafıza kartı modülünün ana özellikleri

Modül, mikro denetleyiciye dayalı bir cihazın çalışması için gerekli verileri bir SD karta saklamanıza, okumanıza ve yazmanıza olanak tanır. Cihazın kullanımı, onlarca megabayttan iki gigabayta kadar dosyaları depolarken geçerlidir. Kartta bir SD kart kabı, bir kart güç dengeleyici ve arayüz ile güç hatları için bir konnektör fişi bulunur. Örneğin olayları, sensör verilerini veya web sunucusu bilgilerini depolamak için ses, video veya diğer büyük ölçekli verilerle çalışmanız gerekiyorsa, Arduino için SD hafıza kartı modülü bunlar için bir SD kart kullanılmasını mümkün kılacaktır. amaçlar. Modülü kullanarak SD kartın özelliklerini inceleyebilirsiniz.
Besleme voltajı - 5 veya 3,3 V
SD kart hafıza kapasitesi - 2 GB'a kadar
Boyutlar - 46 x 30 mm


Uyar!

Ve bir servo sürücü ekleyelim; sensörler tetiklendiğinde video kaydedicili servo sürücü dönecek ve olayın videosunu çekecektir. MG996R servo sürücüyü ele alalım.


MG996R Servo Sürücünün Ana Özellikleri

Kararlı ve güvenilir koruma hasardan
- Metal sürücü
- Çift sıralı bilyalı rulman
- Tel uzunluğu 300 mm
- Boyutlar 40x19x43mm
- Ağırlık 55 gr
- Dönme açısı: 120 derece.
- Çalışma hızı: 0,17sn/60 derece (4,8V yüksüz)
- Çalışma hızı: 0,13 sn/60 derece (6V yüksüz)
- Başlangıç ​​torku: 4,8V güç kaynağında 9,4 kg/cm
- Başlangıç ​​torku: 6V güç kaynağında 11kg/cm
- Çalışma voltajı: 4,8 - 7,2V
- Tüm tahrik parçaları metalden yapılmıştır


Uyar!

topluyoruz

Google'da her sensörün bağlanmasıyla ilgili çok sayıda makale var. Ve yeni bisikletler icat etme arzum yok, bu yüzden basit ve çalışan seçeneklere bağlantılar bırakacağım.

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ı GSM modülüne yalnızca test modu etkinse gönderiliyor. 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

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.

Son on yılda araba hırsızlıkları dünyada işlenen suçların yapısında en önemli yerlerden birini işgal etti. Bunun nedeni, bu hırsızlık kategorisinin toplam suç sayısına göre özgül ağırlığından değil, arabaların yüksek maliyetinden kaynaklanan hasarın öneminden kaynaklanmaktadır. 90'lı yılların sonunda araç hırsızlığıyla mücadele alanında alınan tedbirlerin etkinliğinin zayıf olması, bu suçların işlenmesinde uzmanlaşmış ve organize suçun ayırt edici özelliklerini taşıyan istikrarlı grupların oluşmasına yol açmış; Muhtemelen "siyah otomobil işi" terimini duymuşsunuzdur. Avrupa ülkelerinin araç filosu her yıl suç saldırılarına maruz kalan araçların yaklaşık %2'sinden yoksundur. Bu nedenle Arduino Uno'yu temel alarak arabama GSM alarmı yapma fikri aklıma geldi.

Hadi başlayalım!

Neyden toplayacağız?

Sistemimizin kalbini seçmemiz gerekiyor. Bana göre böyle bir sinyalleme için Arduino Uno'dan daha iyi bir şey yok. Ana kriter yeterli sayıda “pim” ve fiyattır.


Arduino Uno'nun Temel Özellikleri

Mikrodenetleyici - ATmega328
Çalışma voltajı - 5 V
Giriş voltajı (önerilen) - 7-12 V
Giriş voltajı (sınır) - 6-20 V
Dijital Giriş/Çıkış - 14 (6 tanesi PWM çıkışı olarak kullanılabilir)
Analog girişler - 6
Giriş/çıkış üzerinden sabit akım - 40 mA
Çıkış 3,3V - 50mA için sabit akım
Flash bellek - 32 KB (ATmega328), bunun 0,5 KB'si önyükleyici için kullanılır
RAM - 2 KB (ATmega328)
EEPROM-1 KB (ATmega328)
Saat frekansı - 16 MHz


Uyar!

Artık bir GSM modülü seçmeniz gerekiyor çünkü alarm sistemimizin araç sahibini bilgilendirebilmesi gerekiyor. Yani Google'da aramanız gerekiyor... İşte mükemmel bir sensör - SIM800L, boyut tek kelimeyle harika.


Düşündüm ve Çin'den sipariş ettim. Ancak her şeyin o kadar da pembe olmadığı ortaya çıktı. Sensör, SIM kartı ağa kaydetmeyi reddetti. Mümkün olan her şey denendi; sonuç sıfırdı.
Bana daha havalı bir şey sağlayan nazik insanlar vardı: Sim900 Shield. Şimdi bu ciddi bir şey. Shield'ın hem mikrofon hem de kulaklık girişi olması onu tam teşekküllü bir telefon haline getiriyor.


Sim900 Shield'in Temel Özellikleri

4 çalışma frekansı standardı 850/ 900/ 1800/ 1900 MHz
GPRS çoklu yuva sınıfı 10/8
GPRS mobil istasyonu sınıf B
GSM faz 2/2+ ile uyumludur
Sınıf 4 (2 W @850/ 900 MHz)
Sınıf 1 (1 W @ 1800/1900MHz)
AT komutlarını kullanarak kontrol (GSM 07.07, 07.05 ve SIMCOM genişletilmiş AT komutları)
Düşük güç tüketimi: 1,5mA (uyku modu)
Çalışma sıcaklığı aralığı: -40°C ila +85°C


Uyar!

Tamam ama sahibini bilgilendirmek için bazı sensörlerden ölçümler almanız gerekiyor. Araba çekilirse, o zaman arabanın konumu uzayda açıkça değişecektir. Bir ivmeölçer ve bir jiroskop alalım. Harika. Tamam, şimdi bir sensör arıyoruz.

GY-521 MPU6050'nin kesinlikle uyacağını düşünüyorum. Ayrıca bir sıcaklık sensörüne sahip olduğu ortaya çıktı. Onu da kullanmalıyız, öyle bir “öldürücü özellik” olacak. Arabanın sahibinin evinin altına park edip gittiğini varsayalım. Arabanın içindeki sıcaklık "sorunsuz" bir şekilde değişecektir. Davetsiz misafir arabaya girmeye çalışırsa ne olur? Mesela kapıyı açabilecek. Kabin içindeki hava ortam havasıyla karışmaya başladıkça araç içindeki sıcaklık hızla değişmeye başlayacaktır. Bence işe yarayacak.


GY-521 MPU6050'nin Ana Özellikleri

MPU-6050 çipinde 3 eksenli jiroskop + 3 eksenli ivmeölçer modülü GY-521. Bir nesnenin uzaydaki konumunu ve hareketini, dönüş sırasındaki açısal hızını belirlemenizi sağlar. Ayrıca yerleşik bir sıcaklık sensörüne sahiptir. Çeşitli helikopter ve uçak modellerinde kullanılmakta olup, bu sensörlere dayalı olarak hareket yakalama sistemi de kurulabilmektedir.

Çip - MPU-6050
Besleme voltajı - 3,5V'tan 6V'a (DC);
Jiroskop Aralığı - ±250 500 1000 2000°/s
İvmeölçer aralığı - ±2±4±8±16g
İletişim arayüzü - I2C
Boyut - 15x20 mm.
Ağırlık - 5 gr


Uyar!

Bir titreşim sensörü de kullanışlı olacaktır. Aniden “kaba kuvvetle” arabayı açmaya çalışıyorlar ya da otoparkta başka bir araba sizin arabanıza çarpıyor. SW-420 titreşim sensörünü (ayarlanabilir) alalım.


SW-420'nin temel özellikleri

Besleme gerilimi - 3,3 - 5V
Çıkış sinyali - dijital Yüksek/Düşük (normalde kapalı)
Kullanılan sensör - SW-420
Kullanılan karşılaştırıcı LM393'tür.
Boyutlar - 32x14 mm
Ek olarak - Ayar direnci bulunmaktadır.


Uyar!

SD hafıza kartı modülünü vidalayın. Ayrıca bir günlük dosyası yazacağız.


SD hafıza kartı modülünün ana özellikleri

Modül, mikro denetleyiciye dayalı bir cihazın çalışması için gerekli verileri bir SD karta saklamanıza, okumanıza ve yazmanıza olanak tanır. Cihazın kullanımı, onlarca megabayttan iki gigabayta kadar dosyaları depolarken geçerlidir. Kartta bir SD kart kabı, bir kart güç dengeleyici ve arayüz ile güç hatları için bir konnektör fişi bulunur. Örneğin olayları, sensör verilerini veya web sunucusu bilgilerini depolamak için ses, video veya diğer büyük ölçekli verilerle çalışmanız gerekiyorsa, Arduino için SD hafıza kartı modülü bunlar için bir SD kart kullanılmasını mümkün kılacaktır. amaçlar. Modülü kullanarak SD kartın özelliklerini inceleyebilirsiniz.
Besleme voltajı - 5 veya 3,3 V
SD kart hafıza kapasitesi - 2 GB'a kadar
Boyutlar - 46 x 30 mm


Uyar!

Ve bir servo sürücü ekleyelim; sensörler tetiklendiğinde video kaydedicili servo sürücü dönecek ve olayın videosunu çekecektir. MG996R servo sürücüyü ele alalım.


MG996R Servo Sürücünün Ana Özellikleri

Hasara karşı istikrarlı ve güvenilir koruma
- Metal sürücü
- Çift sıralı bilyalı rulman
- Tel uzunluğu 300 mm
- Boyutlar 40x19x43mm
- Ağırlık 55 gr
- Dönme açısı: 120 derece.
- Çalışma hızı: 0,17sn/60 derece (4,8V yüksüz)
- Çalışma hızı: 0,13 sn/60 derece (6V yüksüz)
- Başlangıç ​​torku: 4,8V güç kaynağında 9,4 kg/cm
- Başlangıç ​​torku: 6V güç kaynağında 11kg/cm
- Çalışma voltajı: 4,8 - 7,2V
- Tüm tahrik parçaları metalden yapılmıştır


Uyar!

topluyoruz

Google'da her sensörün bağlanmasıyla ilgili çok sayıda makale var. Ve yeni bisikletler icat etme arzum yok, bu yüzden basit ve çalışan seçeneklere bağlantılar bırakacağım.


Bir garaj veya yazlık için SIM800L ve Arduino kullanarak basit bir GSM alarm sistemi nasıl yapılır. Aliexpress'in hazır modüllerini kullanarak kendimiz yapıyoruz. Ana modüller– GSM modülü SIM800L, Arduino Nano (herhangi bir Uno vb. kullanabilirsiniz), düşürücü kart, pil cep telefonu.

Pirinç. 1. Modül düzeni hırsız alarmı Arduino'da

Alarm üretimi

Biz biniyoruz ekmek tahtası Gerekirse modülleri değiştirmenizi sağlayacak pedler aracılığıyla. SIM800L ve Arduino Nano üzerindeki anahtardan 4,2 volt güç vererek alarmı açın.



İlk döngü tetiklendiğinde sistem önce ilk numarayı arar, ardından aramayı bırakır ve ikinci numarayı tekrar arar. İkinci numara, birincisinin aniden bağlantısının kesilmesi vb. durumlara karşı eklenmiştir. İkinci, üçüncü, dördüncü ve beşinci döngüler tetiklendiğinde, tetiklenen bölgenin numarasını içeren bir SMS ayrıca iki numaraya da gönderilir. İlgilenenler için şeması ve krokisi videonun altındaki açıklamadadır.
Tüm elektronikleri uygun bir muhafazaya yerleştiriyoruz.



5 kabloya ihtiyacınız yoksa 5V Arduino pinini no'ya bağlayın. gerekli girişler. Elektrik kesintisi sırasında bile cihazın birkaç gün boyunca bağımsız olarak çalışmaya devam etmesini sağlayacak 5 döngülü ve bataryalı GSM alarm sistemi. Bunlara herhangi bir güvenlik kontak sensörünü, röle kontaklarını vb. bağlayabilirsiniz. Sonuç olarak, SMS göndermek ve 2 numarayı aramak için basit, ucuz, kompakt bir güvenlik cihazı elde ederiz. Bir yazlık evi, daireyi, garajı vb. korumak için kullanılabilir.

Videoda daha fazla ayrıntı



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