Skim isyarat untuk memberi pada arduino. Penggera rumah atau menggunakan penderia gerakan dan monitor LCD dengan Arduino

Dalam artikel lepas, kami belajar cara menggunakan modul GSM SIM800L dan membuat reka bentuk mudah untuk mengawal beban dari jauh, hari ini kami akan melakukan sesuatu yang lebih menarik, iaitu penggera keselamatan GSM pada modul SIM800L dari Aliexpress dan Arduino, yang boleh digunakan untuk melindungi apartmen, kotej, garaj dan objek lain, dan apabila ia dicetuskan, ia akan memberitahu anda dengan panggilan atau mesej SMS.

Perkara yang kita perlukan untuk membuat penggera GSM:

  • Modul GSM/GPRS SIM800L;
  • Arduino Nano, UNO atau Arduino lain;
  • Penukar DC-DC injak turun;
  • Bateri 3.7V;
  • Perintang untuk 10 k - 7 pcs;
  • Bekalan Kuasa.

Cara membuat penggera GSM pencuri pada modul SIM800L dan Arduino, huraian kerja:

Kami menyambungkan modul SIM800L, Arduino, sensor, dsb. mengikut rajah di bawah, semuanya dipasang pada papan roti supaya anda boleh menukar sesuatu pada bila-bila masa, letakkannya dalam mana-mana kes yang sesuai dan keluarkan wayar dari kes untuk keselamatan penderia dan ke PSU. Kami juga meletakkan bateri dalam kes itu, ia diperlukan supaya apabila elektrik hilang di dalam rumah, peranti masuk ke mod kendiri yang dikuasakan oleh bateri. Pada penukar rangsangan, kami menetapkan output kepada 4.2 volt, pada voltan ini modul SIM GSM berfungsi dan bateri dicas semula, dan voltan ini cukup untuk Arduino Nano berfungsi.

Mana-mana 5 penderia boleh disambungkan ke litar, seperti suis buluh, kelembapan, asap, penderia gerakan, dsb. yang menyokong operasi geganti, kerana litar ini dikonfigurasikan untuk mencetuskan penggera bagi litar terbuka mana-mana lima penderia, tetapi jika dikehendaki, lakaran boleh ditukar kepada litar pintas.

Apabila sensor pertama dicetuskan, panggilan dibuat ke nombor yang ditentukan, kemudian panggilan digugurkan dan panggilan dibuat ke nombor kedua, ini dilakukan jika nombor pertama tidak tersedia pada masa ini. Apabila 4 penderia keselamatan yang lain dicetuskan, hanya mesej SMS dihantar di mana nombor atau nama zon yang dicetuskan ditulis, dan mesej ini juga akan dihantar ke dua nombor telefon.

Dalam lakaran, anda boleh memasukkan nombor telefon dan memberikan nama anda kepada kawasan yang dilindungi, bukannya "Penggera! Zon1", "Penggera! Zon2", "Penggera! Zone3”… Anda boleh menulis nama objek tempat anda meletakkan penderia tertentu, contohnya “Penggera! Okno, Penggera! Dverj” dan lain-lain, tulis nama zon hanya dalam bahasa Latin. Juga dalam lakaran, masa panggilan balik kepada pemilik ditetapkan, iaitu, selepas berapa jam untuk memberitahu anda bahawa keseluruhan sistem berfungsi dan semuanya teratur, secara lalai ia ditetapkan untuk memanggil semula setiap 144 jam.

Itu sahaja, kami membuat penggera pencuri GSM mudah pada modul SIM800L dan Arduino, lakaran dan litar boleh diperbaiki, sebagai contoh, modul SIM800L menyokong keupayaan untuk menyambungkan pembesar suara dan mikrofon kepadanya, yang akan membolehkan anda mendengar ke kawasan yang dilindungi, serta bawa suara anda ke pembesar suara.

Muat turun lakaran untuk Arduino.

Untuk melindungi rumah anda daripada tetamu yang tidak diundang, semakin ramai orang memasang penggera. Mereka membolehkan anda memberi amaran tentang penembusan ke dalam bilik tepat pada masanya. Hari ini, terdapat pelbagai jenis penggera, tetapi baru-baru ini populariti penggera GSM telah mula berkembang, kerana ia membolehkan anda menerima maklumat mengenai penembusan pada sebarang jarak dari objek, perkara utama ialah pemilik mempunyai telefon dengannya di masa itu, dan telefon ini dalam talian. Malangnya, sistem ini belum terlalu murah untuk memberi keutamaan kepada mereka secara eksklusif. Tetapi pada zaman kita, anda boleh membuat sendiri sistem penggera GSM yang mudah. Dan papan Arduino yang popular akan membantu dalam perkara ini.


Projek ini adalah sistem keselamatan (penggera) untuk memberi amaran kepada penceroboh ke rumah. Sistem ini menggunakan teknologi GSM.



Modul pengesanan pencerobohan disambungkan ke papan mikropengawal sistem keselamatan ini, yang boleh berdasarkan, contohnya, pada sensor IR atau sensor jarak ultrasonik. Apabila menerima isyarat daripada modul sedemikian, mesej SMS dihantar ke telefon pengguna mengenai penembusan ke rumahnya.


Rajah di bawah menunjukkan gambarajah blok sistem keselamatan.



Elemen utama sistem ialah papan mikropengawal (contohnya, Arduino Uno) dan modul SIM900A GSM/GPRS. Keseluruhan sistem boleh dikuasakan oleh satu bekalan kuasa 12V/2A.


Imej di bawah menunjukkan gambar rajah skema sistem keselamatan rumah GSM berasaskan Arduino.



Pengendalian sistem adalah sangat mudah dan tidak memerlukan banyak penjelasan. Apabila voltan bekalan digunakan, sistem masuk ke mod siap sedia. Walau bagaimanapun, apabila J2 ditutup, mesej amaran dihantar secara automatik ke nombor telefon mudah alih yang telah ditetapkan. Sebarang sensor pengesanan boleh disambungkan ke penyambung input J2. Perlu diingatkan bahawa tahap rendah pada pin 1 penyambung J2 adalah aktif dan menghidupkan sistem keselamatan.


Di samping itu, sistem telah menambah keupayaan untuk membuat panggilan dengan menekan butang S2. Dengan butang S3, anda boleh menetapkan semula panggilan ini.


Di bawah ialah kod untuk Arduino.


//Sambungkan pin Tx ke pin D3 modul GPS //Sambungkan pin Rx ke pin D4 modul GPS //Sambungkan isyarat hantar SMS ke pin D7 (aktif rendah) //Sambungkan isyarat CALL ke pin D8 (aktif rendah) // Isyarat tetapan semula panggilan TAMAT sambung ke pin D9 (aktif rendah) #include NewSoftSerial mySerial(3,4); // konfigurasikan output RX dan TX untuk berkomunikasi dengan modul GSM #define msg_key 7 #define call_key 8 #define end_key 9 Nombor rentetan ="0000000000"; // Masukkan nombor mudah alih 10 digit di sini dan bukannya persediaan void sifar() ( Serial.begin(9600); mySerial.begin(9600); pinMode(msg_key,INPUT);pinMode(call_key,INPUT);pinMode(end_key, INPUT ); digitalWrite(msg_key,HIGH); digitalWrite(call_key,HIGH); digitalWrite(end_key,HIGH); ) void loop() ( //hantar sms setiap kali msg_key menyala jika (digitalRead(msg_key)==RENDAH) / / Semak sama ada butang hantar sms ditekan ( mySerial.println("AT+CMGF=1"); // Tetapkan mod sebagai lengah mod teks(150); mySerial.println("AT+CMGS=\"+00"+ nombor+ "\""); // Nyatakan nombor penerima dalam format antarabangsa, menggantikan sifar kelewatan(150); mySerial.print("Amaran! Amaran Penceroboh!"); // Masukkan kelewatan mesej(150); mySerial. write((byte)0x1A); // Aksara akhir mesej 0x1A: bersamaan dengan Ctrl+z delay(50); mySerial.println(); ) //Buat panggilan apabila call_key menyala lain jika (digitalRead(call_key) ==LOW) // Semak sama ada kekunci_panggilan sudah ditekan ( mySerial. println("ATD+91"+nombor+";"); //Tentukan sama ada Nombor untuk dipanggil semasa(digitalRead(call_key)==RENDAH); kelewatan(50); ) //Batalkan panggilan lain jika (digitalRead(end_key)==LOW) //Periksa sama ada butang batalkan sudah ditekan ( mySerial.println("ATH"); while(digitalRead(end_key)==LOW); delay( 50 );))

Oleh itu, agak mudah untuk mencipta penggera GSM berdasarkan papan Arduino dengan tangan anda sendiri. Sistem penggera sedemikian pada kosnya, sudah tentu, lebih murah daripada analog berjenama di pasaran hari ini, dan ia akan berfungsi dengan cara yang hampir sama.

Selamat petang! Sekali lagi, tinjauan pelbagai komponen elektronik Cina, seperti biasa, sedikit tentang segala-galanya, saya akan cuba menjadi lebih pendek, tetapi adakah ia akan berfungsi? Jadi, jumpa, sistem penggera GSM berharga sehingga 700 ₽. menarik? Sila di bawah "potong"!

Mari kita mulakan! Sebelum memulakan, saya syorkan melihat bahagian ini, lebih sedikit komponen dan autonomi yang lebih besar. Jadi, "terma rujukan", keperluan asas untuk memberi isyarat:

1) Maklumkan apabila penderia dicetuskan.
2) Sekiranya berlaku kegagalan kuasa, beberapa autonomi mesti disediakan.
3) Pengurusan penggera melalui sms dan panggilan.

Disebabkan fakta bahawa proses membuat penggera telah ditangguhkan selama beberapa bulan dan beberapa penjual tidak lagi menjual komponen yang dibeli daripada mereka, pautan akan dikemas kini kepada barangan penjual lain yang mempunyai maksimum atau hampir maksimum. bilangan jualan barangan dan harga terbaik. Harga dalam ulasan adalah terkini pada tarikh penulisan.

Senarai perkara yang anda perlukan:

Senarai perubahan

GSM_03_12_2016-14-38.hex- Operasi peranti tetap dengan modem M590.
GSM_05_12_2016-13-45.hex- menambah perintah konsol memtest, pengoptimuman penggunaan RAM.
GSM_2016_12_06-15-43.hex- Menambahkan output hasil arahan pada konsol, pengoptimuman memori. Menduduki: 49% SRAM.
GSM_2016_12_07-10-59.hex- kini nombor telefon ditambah dan dialih keluar dengan betul. Diduduki: 49% SRAM, 74% Memori Flash.
GSM_2016_12_07-15-38.hex- menambah keupayaan untuk menyambungkan sensor gerakan, menyambung ke pin A0 (dalam kes ini, pin A0 digunakan sebagai yang digital). Menambah arahan SMS PIRON, PIR Mati. Diduduki: 48% SRAM, 76% Memori Flash.
GSM_2016_12_08-13-53.hex- Kini, selepas berjaya melaksanakan perintah yang tidak menghantar mesej SMS sebagai balasan, peranti berkelip LED biru sekali. Kini, selepas pelaksanaan perintah yang tidak betul yang tidak menghantar mesej SMS sebagai balasan, peranti berkelip dua kali dengan LED biru. Sekarang, selepas pemulaan parameter peranti, jika mod "senyap" didayakan (SendSms = 0), peranti berkelip dengan cepat dengan LED biru selama 2 saat. Memperbaiki pepijat yang menyebabkan nombor itu tidak selalu dipadamkan daripada memori oleh arahan DeletePhone. Diduduki: 48% SRAM, 78% Memori Flash.
GSM_2016_12_11-09-12.hex- Menambah arahan konsol AddPhone dan DeletePhone, sintaksnya serupa dengan arahan SMS. Pengoptimuman memori. Diduduki: 43% SRAM, 79% Memori Flash.
GSM_2017_01_03-22-51.hex- Sokongan yang dilaksanakan untuk pengembang port I / O serupa pada cip PCF8574, untuk menyambungkan 8 penderia tambahan, termasuk suis buluh. Carian alamat automatik dan konfigurasi modul automatik. Nama standard penderia dan tahap logik operasinya ditukar menggunakan arahan EditSensor. Menukar kandungan SMS penggera untuk penderia utama (pin D0) “Penggera! sensor utama! dan sensor gerakan (pin A0) “Penggera! Penderia PIR! Menambah arahan EditSensor dan I2CScan. Diduduki: 66% SRAM, 92% Memori Flash.
GSM_2017_01_15-23-26.hex- Sokongan untuk modem A6_Mini. Kawalan kehadiran bekalan kuasa luaran (pin D7). Menambahkan arahan SMS WatchPowerOn, WatchPowerOff. Menambah arahan konsol ListConfig, ListSensor. Sekarang arahan sms EditSensor berfungsi dengan betul. Output maklumat penyahpepijatan ke monitor port telah "dipotong" sedikit. Diduduki: 66% SRAM, 95% Memori Flash.
GSM_2017_01_16-23-54.hex- Kini dalam mesej respons kepada arahan SMS "Maklumat" status penderia gerakan juga dilaporkan. Memperbaiki pepijat kerana mesej SMS balasan kosong kadangkala dihantar. Kini peranti memberitahu bukan sahaja tentang penutupan, tetapi juga mengenai penyambungan semula kuasa luaran. Semua modem mula "kurang bercakap", kini monitor port telah menjadi lebih bersih sedikit. Diduduki: 66% SRAM, 95% Memori Flash.
GSM_2017_02_04-20-23.hex- Memperbaiki pepijat "Tonton kuasa hidup". Kini, selepas melucutkan senjata, "pin penggera" dimatikan. Kini, selepas memadamkan nombor, maklumat yang betul dipaparkan dalam konsol. Mungkin pepijat telah dibetulkan kerana mesej SMS balasan kosong kadangkala dihantar. Diduduki: 66% SRAM, 90% Memori Flash.
GSM_2017_02_14-00-03.hex- Sekarang, secara lalai, mesej SMS dihantar, parameter SendSms sekali lagi sama dengan 1. Sekarang, apabila kenalan suis buluh utama ditutup (pintu ditutup), peranti memancarkan LED biru selama 2 saat, memberi isyarat operasi normal sensor. Diduduki: 66% SRAM, 90% Memori Flash.
GSM_2017_03_01-23-37.hex- Perintah WatchPowerOn telah dialih keluar. Menambah arahan konsol WatchPowerOff, sama dengan arahan SMS. Menambahkan arahan WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 - pemantauan kuasa luaran didayakan jika penggera bersenjata, WatchPowerOn2 - pemantauan kuasa luaran sentiasa didayakan. Fungsi mempersenjatai dan melucutkan senjata oleh peranti luaran telah dilaksanakan, untuk tujuan ini terminal A1(D15) dan A2(D16) digunakan. Penggera akan lengan/lucutkan senjata apabila +5V tinggi pada A1(D15) atau GND rendah pada A2(D16). Pin A1(D15) ditarik ke atas ke GND, pin A2(D16) ditarik sehingga +5V melalui perintang 20 (10) kOhm. Menambah arahan GuardButtonOn dan GuardButtonOff. Kini, selepas mempersenjatai, LED merah berkelip sehingga integriti litar sensor buluh utama diperiksa. Jika litar selesai, LED merah menyala. Diduduki: 66% SRAM, 95% Memori Flash.
GSM_2017_03_12-20-04.hex- Kini konsol menjadi lebih bersih, tetapi jika mod ujian "TestOn" didayakan, maklumat tambahan dipaparkan dalam konsol. Pepijat "Hantar!" telah dibetulkan, kini maklumat tentang menghantar mesej dipaparkan dengan betul dalam konsol. Membetulkan pepijat "panggilan palsu berulang". Sekarang permintaan baki harus berfungsi dengan betul pada semua modem. Diduduki: 67% SRAM, 95% Memori Flash.
GSM_2017_04_16-12-00.hex- Tetap. Sekarang arahan Maklumat dan Wang akan sentiasa menghantar SMS balasan. Perintah GuardButtonOn telah digantikan dengan arahan GuardButtonOn1 dan GuardButtonOn2. Diduduki: 67% SRAM, 99% Memori Flash.
GSM_2017_04_21-09-43.hex - tidak disyorkan untuk digunakan, hanya sebagai ujian, terima kasih atas ralat yang ditemui :) - Sekarang parameter sendsms tidak menjejaskan penghantaran mesej SMS untuk memantau grid kuasa. Perintah SMS tambahan DelayBeforeGuard bertanggungjawab untuk kelewatan apabila mempersenjatai, nilai tidak boleh melebihi 255 saat. Perintah SMS ditambahkan DelayBeforeAlarm bertanggungjawab untuk menangguhkan penghantaran pemberitahuan dan menghidupkan "pin penggera" apabila penderia dicetuskan, nilai tidak boleh melebihi 255 saat. Mengalih keluar arahan ClearSMS, kini mesej dipadamkan secara automatik apabila diterima. Diduduki: 68% SRAM, 100% Memori Flash.
GSM_2017_04_22-20-42.hex- Memperbaiki pelbagai pepijat. Perintah ClearSMS kembali dalam perisian tegar. Pengoptimuman memori. Diduduki: 68% SRAM, 98% Memori Flash.
GSM_2017_04_23-17-50.hex- Sekarang permintaan baki harus berfungsi dengan betul pada semua modem. Mempersenjatai dan melucutkan senjata oleh peranti luaran kini berfungsi dengan betul. Arahan maklumat Mesej respons SMS tidak boleh kosong. Pengoptimuman memori. Diduduki: 68% SRAM, 98% Memori Flash.
GSM_2017_04_24-13-22.hex- Sekarang penghantaran arahan konsol ke modul GSM dilakukan hanya jika mod ujian didayakan. Kini tiada pembahagian kepada arahan SMS dan arahan konsol, semua arahan sedia ada boleh dihantar melalui SMS dan melalui konsol. Mungkin membetulkan pepijat dengan arahan Maklumat. Pengoptimuman memori. Diduduki: 68% SRAM, 94% Memori Flash.
GSM_2017_04_25-20-54.hex- Memperbaiki pepijat di mana arahan ListConfig mengubah nilai acara terakhir. Sekarang, apabila memasukkan arahan melalui konsol, mesej SMS yang tidak perlu tidak dihantar. Mungkin membetulkan pepijat dengan arahan Maklumat. Pengoptimuman memori. Diduduki: 66% SRAM, 94% Memori Flash.
GSM_2017_04_30-12-57.hex- Mendayakan sementara output maklumat tambahan ke konsol apabila menghantar mesej SMS dan membentuk respons kepada arahan Maklumat. Mungkin membetulkan pepijat dengan arahan Maklumat. Pengoptimuman memori. Diduduki: 66% SRAM, 92% Memori Flash.
GSM_2017_05_06-11-52.hex- Dibetulkan dengan fungsi DelayBeforeAlarm. Diduduki: 66% SRAM, 93% Memori Flash.
GSM_2017_05_23-21-27.hex- Sedikit menukar output maklumat kepada konsol. Menambah sokongan untuk modul pengembangan port pada PCF8574A dengan alamat dari 0x38 hingga 0x3f termasuk. Membetulkan pepijat c. Kini peranti but semula secara automatik selepas arahan FullReset, ResetConfig, ResetPhone dan sekiranya perintah MemTest berjaya dilaksanakan. Menambah arahan WatchPowerTime. Kini adalah mungkin untuk menetapkan masa selepas itu mesej SMS tentang bekalan kuasa luaran yang diputuskan akan dihantar. Diduduki: 67% SRAM, 94% Memori Flash.
GSM_2017_05_26-20-22.hex- Permulaan memori sensor tetap pada papan pengembangan. Sintaks arahan AddPhone telah ditukar. Menambah arahan EditMainPhone. Prinsip operasi sistem pemberitahuan telah diubah, apabila sensor dicetuskan, mesej sms akan dihantar terlebih dahulu, selepas itu panggilan suara akan dibuat. Mesej sms penggera akan dihantar ke nombor telefon bertanda "S" (SMS). Panggilan suara akan dibuat ke nombor dengan tanda "R" (Dering). Mesej tentang mematikan/menghidupkan sumber kuasa luaran akan dihantar ke nombor telefon dengan tanda "P" (Kuasa). Menambah arahan RingTime. Kini adalah mungkin untuk menetapkan tempoh panggilan suara penggera, parameter boleh mempunyai nilai dari 10 hingga 255 saat. Kini perintah RingOn/RingOff secara global mendayakan/melumpuhkan pemberitahuan melalui panggilan suara. Menambah arahan ResetSensor. Diduduki: 68% SRAM, 99% Memori Flash.
GSM_2017_06_02-17-43.hex- Parameter "I" (Maklumat) telah ditambahkan pada arahan AddPhone dan EditMainPhone, yang bertanggungjawab untuk pemberitahuan sms mempersenjatai atau melucutkan senjata peranti. Sekarang, selepas menambah nombor utama, peranti akan but semula secara automatik. Kini anda boleh memasukkan nombor yang sama ke dalam memori peranti. Apabila menambah nombor pendua kedua dan seterusnya, atribut "M", "S", "P" dan "I" akan dialih keluar secara automatik daripadanya. Nombor ini akan digunakan untuk panggilan suara berulang apabila penderia dicetuskan. Memperbaiki pepijat dengan output masam ke konsol selepas melaksanakan arahan AddPhone, kini maklumat tidak dipaparkan secara automatik selepas menambah nombor. Menambah arahan But semula. Diduduki: 69% SRAM, 99% Memori Flash.
GSM_2017_06_11-00-07.hex- Sekarang sekali lagi, apabila sesentuh suis buluh utama ditutup (pintu ditutup), peranti memancarkan LED biru selama 2 saat, menandakan operasi normal sensor, manakala peranti tidak diambil kira apabila peranti bersenjata atau dilucutkan senjata. Arahan RingOn/RingOff telah dialih keluar. Kini peranti boleh dilucutkan senjata semasa panggilan penggera, kini ia dibuat di latar belakang. Diduduki: 69% SRAM, 99% Memori Flash.
GSM_2017_07_04-21-52.hex- Sekarang arahan Jeda tidak menghantar SMS balasan. Mengalih keluar perintah TestOn dan TestOff. Semua nombor mempunyai tanda Pengurusan dialih keluar. Diduduki: 68% SRAM, 96% Memori Flash.
GSM_2017_07_24-12-02.hex- Menambah arahan ReedSwitchOn/ReedSwitchOff untuk memantau penderia buluh utama, kini ia boleh didayakan/dilumpuhkan dengan cara yang sama seperti penderia gerakan. Pepijat arahan Maklumat tetap. Perintah TestOn dan TestOff kembali dalam perisian tegar. Diduduki: 68% SRAM, 96% Memori Flash.
GSM_2017_07_26-10-03.hex- Menambah arahan ModemID. Modem dikesan secara automatik hanya jika nilai parameter ini sama dengan 0. Selepas menetapkan nilai parameter kepada 0, peranti dibut semula secara automatik. Diduduki: 68% SRAM, 98% Memori Flash.
GSM_2017_08_03-22-03.hex- Kini penggera boleh mengawal peranti luaran. Output analog A3 digunakan untuk kawalan (D17 digunakan sebagai digital). Tahap logik output (+5V atau GND) boleh ditukar, selepas menukar tahap melalui arahan tetapan, peranti akan but semula secara automatik. Tempoh isyarat kawalan peranti luaran boleh diubah. Menambah arahan ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Beberapa perubahan dalam logik arahan kawalan. Pengoptimuman memori. Diduduki: 68% SRAM, 99% Memori Flash.
GSM_2017_08_10-12-17.hex- Mengalih keluar arahan SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff dan semua yang berkaitan dengannya. Perintah DelayBeforeAlarm telah digantikan dengan arahan lanjutan. Menukar output arahan Info. Mengoptimumkan output perintah ListConfig ke konsol. Kini mana-mana penderia digital tahap tinggi atau rendah, termasuk suis buluh, boleh disambungkan ke pin D6 dan A0. Pin D6 dan A0 mesti ditarik ke tanah (GND) melalui rintangan 10 (20) kOhm. Jika sensor ditetapkan pada tahap operasi yang rendah (didayakan dalam mod suis buluh), maka integriti litar diperiksa. Tahap logik operasi pada input D6 dan A0 (+5V atau GND) boleh ditukar, selepas menukar tahap logik peranti akan dibut semula secara automatik. Untuk setiap penderia (utama, kedua, kad sambungan PCF), apabila dicetuskan, masa tertentu boleh ditetapkan, selepas itu pemberitahuan akan dibuat (sms dan / atau panggilan suara). "PIR Sensor" dinamakan semula kepada "Second sensor". Membaiki operasi papan pengembangan, ralat yang disebabkan peranti sentiasa dimaklumkan tentang pengendalian penderia, tidak kira sama ada peranti itu bersenjata atau tidak. Kini anda boleh memilih mod pengendalian di mana peranti boleh memantau penderia papan pengembangan kedua-dua dalam mod bersenjata (GuardOn) dan dalam mod kurang upaya (GuardOff). Arahan ditambahkan PCFForceOn/PCFForceOff, MainSensorLevelTinggi/MainSensorLevelLow/MainSensorLevelLevel, SecondSensorLevelTinggi/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeBeforeBefore, SecondDelayBeforeBeforeBefore Diduduki: 68% SRAM, 99% Memori Flash.

*Versi perisian tegar berikutnya termasuk perubahan pada versi sebelumnya.


Port Arduino Nano v3 digunakan

D4- output pin "penggera", apabila sensor dicetuskan, isyarat tahap tinggi ditetapkan pada pin ini
D5- output terbalik pin "penggera", apabila sensor dicetuskan, isyarat tahap rendah ditetapkan pada pin ini

D6- sensor buluh. Bermula dari versi GSM_2017_08_10-12-17.hex, mana-mana penderia digital dengan tahap tindak balas tinggi atau rendah, termasuk suis buluh, boleh disambungkan ke pin D6. Pin D6 mesti ditarik ke tanah (GND) melalui rintangan 10 (20) kOhm.
D7- disambungkan kepada pembahagi voltan daripada bekalan kuasa +5V luaran. Lengan atas 2.2 kΩ, lengan bawah 3.3 kΩ.

Pembahagi voltan


D8- Modem TX
D9- Modem RX

D10- LED merah
D11- LED biru
D12- LED hijau

Sambungan persisian:
A0- Penderia Pergerakan . Bermula dari versi GSM_2017_08_10-12-17.hex, mana-mana penderia digital dengan tahap tindak balas tinggi atau rendah, termasuk suis buluh, boleh disambungkan ke pin A0. Pin A0 mesti ditarik ke tanah (GND) melalui rintangan 10 (20) kOhm.

A1- Input untuk kawalan luaran. Penggera mengeset/melucutkan senjata apabila paras tinggi +5V muncul pada input.
A2- Input terbalik untuk kawalan luaran. Penggera menetapkan/melucutkan senjata apabila tahap GND rendah muncul pada input.

A3- Output boleh dikonfigurasikan (+5V atau GND) untuk mengawal peranti luaran. Apabila arahan kawalan diterima, nilai pada output ini berubah bergantung pada apa yang ditetapkan untuk tempoh masa yang ditetapkan.

A4- SDA I2C
A5- SLC I2C
, untuk menyambung 8 penderia tambahan.


Perintah kawalan untuk perisian tegar hex

Perhatian! Perintah diserlahkan dalam huruf tebal hanya boleh dilakukan dari nombor utama, kerana mereka bertanggungjawab untuk konfigurasi peranti. Arahan yang selebihnya boleh dilaksanakan daripada nombor dengan tanda "Pengurusan".

SMS - arahan kawalan tidak sensitif huruf besar-besaran:
Tambah Telefon- Tambah nombor telefon. Secara keseluruhan, tidak lebih daripada 9 nombor boleh ditambah + 1 nombor utama, yang disimpan secara automatik dalam memori pada kali pertama anda memanggil peranti selepas menetapkan semula kepada tetapan kilang dengan arahan set semula telefon atau Tetapan semula penuh. Itu. sesiapa yang memanggil peranti terlebih dahulu selepas menetapkannya semula kepada tetapan kilang adalah "utama", nombor ini dimasukkan dalam sel memori pertama dan ia tidak boleh ditukar atau dipadamkan melalui SMS. Ia adalah mungkin untuk menambah dua nombor yang sama, tetapi kemudian nombor pendua secara automatik hanya mempunyai tanda "r" - eksklusif untuk panggilan suara berulang.
Contoh perintah:



Sintaks arahan:

Tambah Telefon- pasukan
: - pembatas
5 - tulis ke sel memori kelima
+71234567890 - nombor telefon
Sehingga versi GSM_2017_05_26-20-22.hex:
a - Parameter "Penggera" - Mesej SMS akan dihantar ke nombor dengan parameter ini - mesej penggera dan mesej untuk mempersenjatai atau melucutkan senjata.
Bermula daripada versi GSM_2017_05_26-20-22.hex:
m - Parameter "Pengurusan" - pengurusan penggera dibenarkan
s - Parameter "SMS" - mesej SMS akan dihantar apabila penderia dicetuskan
r - Parameter "Ring" - panggilan suara akan dibuat apabila penderia dicetuskan
p - Parameter "Kuasa" - mesej SMS akan dihantar apabila kuasa luaran dihidupkan / dimatikan
i - Parameter "Maklumat" - mesej SMS akan dihantar apabila mempersenjatai atau melucutkan senjata
Dengan ketiadaan parameter "m", "s", "r", "p", "i", telefon disimpan dalam ingatan, tetapi tidak digunakan dalam apa jua cara.


Padam Telefon- Padamkan nombor telefon.
Contoh perintah:

Sintaks arahan:

Perintah Padam Telefon
: - pembatas
+71234567891 - nombor telefon


EditMainPhone- Tukar parameter "s", "r", "p", "i" telefon utama, nombor ini dimasukkan dalam sel memori pertama.
Contoh perintah:

Sintaks arahan:

Perintah EditMainPhone
: - pembatas
srpi - parameter


BalanceNum- Menukar bilangan permintaan baki dan memproses panjang respons permintaan. Nilai lalai untuk Beeline: #100#L22.
Contoh perintah:

Sintaks arahan:

BalanceNum - arahan
: - pembatas
#103# - nombor permintaan baki
L24 - Panjang (len) respons yang dimajukan ialah 24 aksara, kami memotong spam daripada permintaan baki.


EditSensor- Tukar nama penderia dan tahap logik operasi. Tidak boleh ada lebih daripada 8 penderia tambahan secara keseluruhan. Selepas menukar tetapan, peranti mesti dibut semula.
Contoh perintah:
EditSensor:1+Datchik dvizheniya v koridore#h

Sintaks arahan:

EditSensor - arahan
: - pembatas
1 - tulis ke sel memori pertama
+ - pemisah
Datchik dvizheniya v koridore - nama penderia, tidak boleh melebihi 36 aksara, termasuk ruang.
#h - Tanda tahap logik yang tinggi daripada penderia, apabila penggera diterima, penggera akan dicetuskan. Jika "#h" tiada, penggera akan dicetuskan apabila tahap logik rendah diterima daripada penderia.


Masa tidur- Masa "tertidur" penggera apabila menerima SMS - arahan "Jeda", ditunjukkan dalam beberapa minit. Nilai lalai: 15, tidak boleh kurang daripada 1 dan lebih daripada 60.
Contoh perintah:

Sintaks arahan:

SleepTime - pasukan
: - pembatas
20 - 20 minit "tidur".


AlarmPinTime- Masa penggera / pin songsang dihidupkan / dimatikan ditunjukkan dalam beberapa saat. Nilai lalai: 60, tidak boleh kurang daripada 1 saat dan lebih daripada 43200 saat (12 jam).
Contoh perintah:

Sintaks arahan:

AlarmPinTime - arahan
: - pembatas
30 - 30 saat untuk mendayakan/melumpuhkan pin penggera.


DelayBeforeGuard- Masa sehingga peranti dipersenjatai, selepas menerima arahan yang sesuai.
Contoh perintah:

Sintaks arahan:

Perintah DelayBeforeGuard
: - pembatas
25 - 25 saat sebelum mempersenjatai


DelayBeforeAlarm- Masa selepas itu pemberitahuan SMS "membimbangkan" akan dihantar, jika penggera tidak dilucutkan senjata dalam tempoh masa ini. Digantikan dengan arahan lanjutan bermula dari versi GSM_2017_08_10-12-17.hex
Contoh perintah:

Sintaks arahan:

DelayBeforeAlarm - arahan
: - pembatas
40 - 40 saat sebelum menghantar pemberitahuan "penggera".


WatchPowerTime- Masa dalam beberapa minit selepas itu mesej SMS akan dihantar mengenai pemotongan sumber kuasa luaran. Jika kuasa luaran dipulihkan sebelum masa yang ditetapkan telah berlalu, mesej tidak akan dihantar.
Contoh perintah:

Sintaks arahan:

WatchPowerTime - arahan
: - pembatas
5 - 5 minit sebelum menghantar mesej SMS


RingTime- Tempoh panggilan suara penggera, parameter boleh mempunyai nilai dari 10 hingga 255 saat.
Contoh perintah:

Sintaks arahan:

RingTime - arahan
: - pembatas
40 - 40 tempoh panggilan ialah 40 saat, selepas itu pelanggan seterusnya akan dipanggil.


ID Modem- Pemasangan paksa model modem yang digunakan. Nilai yang mungkin: 0 - pengesanan automatik modem, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Contoh perintah:

Sintaks arahan:

ModemID - arahan
: - pembatas
2 - ID modem.


ExtDeviceTime- Bilangan saat tahap isyarat pada output kawalan peranti luaran akan berubah.
Contoh perintah:

Sintaks arahan:

Perintah ExtDeviceTime
: - pembatas
5 - 5 saat


ExtDeviceLevelLow- Peranti luaran yang disambungkan ke output A3 dipacu rendah (GND). Output lalai akan menjadi +5V tinggi sehingga arahan kawalan peranti luaran diterima.
ExtDeviceLevelHigh- Peranti luaran yang disambungkan ke output A3 dikawal oleh tahap isyarat tinggi (+5V). Output akan lalai kepada GND rendah sehingga arahan kawalan peranti luaran diterima.

ResetSensor- tetapkan semula parameter penderia pengembang port

resetconfig- tetapan semula kilang

set semula telefon- pemadaman semua nombor telefon daripada memori

Tetapan semula penuh- Tetapkan semula tetapan, padam semua nombor telefon dari memori, pulihkan nilai lalai arahan BalanceNum.

Berdering- dayakan pemberitahuan melalui panggilan ke nombor "utama" yang direkodkan dalam sel memori pertama apabila penderia dicetuskan. Dialih keluar sejak versi GSM_2017_06_11-00-07.hex
Ring Off- matikan pemberitahuan melalui panggilan apabila sensor dicetuskan. Dialih keluar sejak versi GSM_2017_06_11-00-07.hex

SmsOn- dayakan pemberitahuan sms apabila sensor dicetuskan. Dialih keluar sejak versi GSM_2017_08_10-12-17.hex
sms dimatikan- matikan sms-pemberitahuan apabila sensor dicetuskan. Dialih keluar sejak versi GSM_2017_08_10-12-17.hex

PIRON- membolehkan pemprosesan sensor gerakan
PIR Mati- lumpuhkan pemprosesan sensor gerakan

ReedSwitchOn- membolehkan pemprosesan sensor buluh utama
ReedSwitchOff- matikan pemprosesan sensor buluh utama

WatchPowerOn- hidupkan kawalan kuasa luaran, mesej SMS tentang kegagalan kuasa luaran akan dihantar, dengan syarat sistem penggera bersenjata. Dialih keluar sejak versi GSM_2017_03_01-23-37.

WatchPowerOn1- hidupkan kawalan kuasa luaran, mesej SMS tentang kegagalan kuasa luaran akan dihantar, dengan syarat sistem penggera bersenjata.
WatchPowerOn2- hidupkan kawalan kuasa luaran, mesej SMS tentang kegagalan kuasa luaran akan dihantar dalam apa jua keadaan

Tonton Matikan Kuasa- matikan kawalan kuasa luaran

GuardButtonOn- kawalan penggera oleh peranti luaran atau butang didayakan Dialih keluar bermula daripada versi GSM_2017_04_16-12-00.
GuardButtonOn1- fungsi meletakkan atau menarik balik perlindungan oleh peranti luaran atau butang dihidupkan
GuardButtonOn2- fungsi hanya persembahan dipersenjatai oleh peranti luaran atau dengan butang dihidupkan, pelucutan senjata dilakukan dengan panggilan ke peranti atau menggunakan arahan SMS.
Butang Pengawal Mati- kawalan penggera oleh peranti luaran atau dengan butang dinyahdayakan

PCFFForceOn- pemantauan berterusan sekumpulan semua penderia modul pengembangan
PCFForceOff- pemantauan kumpulan semua penderia pengembang hanya apabila peranti bersenjata

MainSensorLevelTinggi- pemberitahuan penggera akan dihantar apabila isyarat tahap tinggi (+5 V) muncul pada input (D6) daripada sensor
MainSensorLevelLow- pemberitahuan penggera akan dihantar apabila isyarat tahap rendah (GND) muncul pada input (D6) daripada sensor
MainSensorLevelOff- pemprosesan sensor input (D6) dilumpuhkan

SecondSensorLevelTinggi- pemberitahuan penggera akan dihantar apabila isyarat tahap tinggi (+5 V) muncul pada input (A0) daripada sensor
SecondSensorLevelLow- pemberitahuan penggera akan dihantar apabila isyarat aras rendah (GND) muncul pada input (A0) daripada sensor
SecondSensorLevelOff- pemprosesan sensor input (A0) dilumpuhkan

MainDelayBeforeAlarm- masa selepas itu pemberitahuan SMS "penggera" akan dihantar apabila penderia utama (D6) dicetuskan, jika penggera tidak dilucutkan senjata dalam tempoh masa ini. Sintaks adalah sama dengan arahan DelayBeforeAlarm.
SecondDelayBeforeAlarm- masa selepas itu pemberitahuan SMS "penggera" akan dihantar apabila penderia tambahan (A0) dicetuskan, jika penggera tidak dilucutkan senjata dalam tempoh masa ini. Sintaks adalah sama dengan arahan DelayBeforeAlarm.
PCFDelayBeforeAlarm- masa selepas itu pemberitahuan SMS "penggera" akan dihantar apabila penderia papan pengembangan (PCF8574) dicetuskan, jika penggera tidak dilucutkan senjata dalam tempoh masa ini. Sintaks adalah sama dengan arahan DelayBeforeAlarm.

GuardOn - lengan
GuardOff - keluarkan perlindungan

Buka - arahan kawalan peranti luaran

Maklumat - semak status, sebagai tindak balas kepada mesej ini, SMS akan dihantar dengan maklumat mengenai nombor dari mana keselamatan dihidupkan / dimatikan

Jeda - menjeda sistem untuk masa yang ditetapkan oleh arahan masa tidur dalam beberapa minit, sistem tidak bertindak balas kepada pencetus sensor.

TestOn - mod ujian dihidupkan, LED biru berkelip.
TestOff - mod ujian dimatikan.

LedOff - mematikan LED siap sedia.
LedOn - menghidupkan LED siap sedia.

Wang - permintaan baki.

ClearSms - Padam semua sms dari memori

Perintah konsol (sehingga versi GSM_2017_04_24-13-22.hex) - dimasukkan dalam monitor port IDE Arduino:

AddPhone - serupa dengan arahan sms AddPhone

DeletePhone - serupa dengan arahan sms DeletePhone

EditSensor - serupa dengan arahan sms EditSensor

ListPhone - output ke port memantau senarai telefon yang disimpan dalam ingatan

ResetConfig - serupa dengan arahan sms ResetConfig

ResetPhone - serupa dengan arahan sms ResetPhone

FullReset - serupa dengan arahan SMS FullReset

ClearSms - serupa dengan arahan sms ClearSms

WatchPowerOn1 - serupa dengan arahan SMS WatchPowerOn1
WatchPowerOn2 - serupa dengan arahan sms WatchPowerOn2
WatchPowerOff - serupa dengan arahan sms WatchPowerOff

GuardButtonOn - serupa dengan arahan sms GuardButtonOn. Dialih keluar sejak versi GSM_2017_04_16-12-00
GuardButtonOn1 - serupa dengan arahan SMS GuardButtonOn1
GuardButtonOn2 - serupa dengan arahan SMS GuardButtonOn2
GuardButtonOff - serupa dengan arahan sms GuardButtonOff

Memtest - ujian memori tidak meruap peranti, semua tetapan peranti akan ditetapkan semula, serupa dengan arahan FullReset.

I2CScan - mencari dan memulakan peranti yang disokong pada bas I2C.

ListConfig - output ke monitor port konfigurasi semasa peranti.

ListSensor - output ke monitor port konfigurasi sensor semasa.

UPD. Apabila menggunakan sensor gerakan, untuk mengelakkan positif palsu semasa operasi modem, adalah perlu untuk antara pin GND dan A0 Arduino meletakkan rintangan terima kasih rakan
AllowPhone = ("70001234501", "70001234502", "70001234503", "70001234504", "70001234505") - Nombor yang dibenarkan untuk mengurus keselamatan.
AlarmPhone = ("70001234501", "70001234502") - Nombor untuk menghantar pemberitahuan SMS apabila penderia dicetuskan dan pemberitahuan tentang melucutkan senjata atau mempersenjatai. Nombor pertama dalam senarai akan dipanggil apabila penderia dicetuskan jika arahan RingOn dilaksanakan, secara lalai pilihan ini didayakan. Ini dilakukan kerana mesej sms mungkin tiba dengan sedikit kelewatan, dan panggilan harus diteruskan dengan segera.

Jika panggilan diterima daripada nombor yang dibenarkan atau mesej SMS dengan arahan GuardOn / GuardOff, maka, bergantung pada keadaan perlindungan semasa, mesej SMS tentang mempersenjatai atau melucutkan senjata akan dihantar ke nombor yang disenaraikan dalam tatasusunan AlarmPhone, Mesej SMS juga akan dihantar ke nombor dari mana panggilan itu datang.

Apabila sensor dicetuskan Mesej SMS dihantar ke semua nombor daripada tatasusunan AlarmPhone (senarai) dan panggilan suara dibuat ke nombor pertama daripada tatasusunan ini.

Petunjuk cahaya:
LED menyala merah - bersenjata.
LED bersinar hijau - dilucutkan senjata, didayakan / dilumpuhkan oleh arahan SMS LedOn / LedOff.
LED sentiasa berkelip biru - ia menunjukkan bahawa semuanya teratur dengan Arduino, papan tidak digantung, ia digunakan secara eksklusif untuk penyahpepijatan, ia didayakan / dilumpuhkan oleh perintah sms TestOn / TestOff.
* Terdapat fungsi LedTest () dalam kod, ia berkelip dengan LED biru, ia dibuat hanya untuk memantau Arduino, ia berkelip - ia bermakna ia berfungsi, ia tidak berkelip - ia beku. belum tutup lagi :)

Tidak relevan!

Sambungan 2 atau lebih penderia untuk perisian tegar terbuka (hanya digunakan pada lakaran perisian tegar ini_02_12_2016.ino)
Untuk menyambungkan penderia buluh tambahan, kami menggunakan pin digital percuma D2, D3, D5 atau D7. Gambar rajah pendawaian dengan sensor tambahan pada D7.

Perubahan firmware yang diperlukan
... #define DoorPin 6 // Nombor input disambungkan ke sensor utama int8_t DoorState = 0; // Pembolehubah untuk menyimpan keadaan penderia utama int8_t DoorFlag = 1; // Pembolehubah untuk menyimpan keadaan sensor utama #define BackDoorPin 7 // Bilangan input yang disambungkan ke sensor tambahan int8_t BackDoorState = 0; // Pembolehubah untuk menyimpan keadaan sensor tambahan int8_t BackDoorFlag = 1; // Pembolehubah untuk menyimpan keadaan penderia tambahan...
void setup() ( ... pinMode(DoorPin, INPUT);pinMode(BackDoorPin, INPUT);...
... void Detect() ( // Membaca nilai daripada sensor DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); // Memproses sensor utama jika (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; kelewatan(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); ) if (DoorState == HIGH && DoorFlag == 1)( DoorFlag = 0; kelewatan(100); ) //Proses sensor tambahan jika (BackDoorState == LOW && BackDoorFlag == 0) ( BackDoorFlag = 1; kelewatan(100); jika (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); ) jika (BackDoorState = = TINGGI && Bendera Pintu Belakang == 1)(Bendera Pintu Belakang = 0; kelewatan(100); ) ) ...

Dan sesuatu yang lain:
1. Adalah lebih baik untuk menggunakan diod yang direka untuk arus 2 A, kerana modul menjangkiti arus 1 A dan kita masih perlu memberi makan Arduino dan modem dengan sesuatu. Dalam contoh ini, diod 1N4007 digunakan, jika ia gagal, saya akan menggantikannya dengan 2 A.
2. Saya menggunakan semua perintang untuk LED pada 20 kOhm, agar tidak menerangi seluruh koridor pada waktu malam.
3. Saya juga menggantung perintang 20 kOhm pada sensor buluh antara pin GND dan pin D6.

Itu sahaja buat masa ini. Terima kasih kerana memberi perhatian! :)

Saya bercadang untuk membeli +207 Tambahkan pada kegemaran Suka ulasan +112 +243

Penderia inframerah (IR) biasanya digunakan untuk mengukur jarak, tetapi ia juga boleh digunakan untuk mengesan objek. Dengan menyambungkan beberapa penderia IR ke Arduino, kami boleh mencipta penggera pencuri.

Semakan

Penderia inframerah (IR) biasanya digunakan untuk mengukur jarak, tetapi ia juga boleh digunakan untuk mengesan objek. Penderia IR terdiri daripada pemancar inframerah dan penerima inframerah. Pemancar memancarkan denyutan sinaran inframerah manakala penerima mengesan sebarang pantulan. Jika penerima mengesan pantulan, ia bermakna terdapat beberapa objek di hadapan sensor pada jarak tertentu. Jika tiada pantulan, tiada objek.

Sensor IR yang akan kami gunakan dalam projek ini mengesan pantulan dalam julat tertentu. Penderia ini mempunyai peranti berganding cas linear kecil (CCD) yang mengesan sudut di mana sinaran IR kembali ke penderia. Seperti yang ditunjukkan dalam rajah di bawah, penderia menghantar nadi inframerah ke angkasa, dan apabila objek muncul di hadapan penderia, nadi dipantulkan kembali ke penderia pada sudut yang berkadar dengan jarak antara objek dan penderia. Penerima sensor mengesan dan mengeluarkan sudut, dan menggunakan nilai ini, anda boleh mengira jarak.

Dengan menyambungkan beberapa penderia IR ke Arduino, kami boleh membuat penggera pencuri yang mudah. Kami akan meletakkan penderia pada bingkai pintu dan dengan menjajarkan penderia dengan betul, kami akan dapat mengesan apabila seseorang berjalan melalui pintu. Apabila ini berlaku, output sensor IR akan berubah, dan kami akan mengesan perubahan ini dengan sentiasa membaca output sensor dengan Arduino. Dalam contoh ini, kita tahu bahawa objek melepasi pintu apabila output sensor IR melebihi 400. Apabila ini berlaku, Arduino akan mencetuskan penggera. Untuk menetapkan semula penggera, pengguna boleh menekan butang.

Aksesori

  • 2 x sensor jarak IR;
  • 1 x Arduino Mega 2560
  • 1 x buzzer;
  • 1 x butang;
  • 1 x 470 ohm perintang;
  • 1 x transistor NPN;
  • pelompat.

Gambar rajah sambungan

Litar untuk projek ini ditunjukkan dalam rajah di bawah. Output dua penderia IR disambungkan ke pin A0 dan A1. Dua pin yang lain disambungkan ke pin 5V dan GND. Buzzer 12 volt disambungkan ke pin 3 melalui transistor dan butang yang digunakan untuk melumpuhkan penggera disambungkan ke pin 4.


Foto di bawah menunjukkan cara kami melekatkan penderia pada bingkai pintu untuk percubaan ini. Sudah tentu, dalam kes penggunaan berterusan, anda akan memasang penderia secara berbeza.


Pemasangan

  1. Sambungkan pin 5V dan GND papan Arduino kepada kuasa dan pin GND bagi penderia. Anda juga boleh membekalkan kuasa luaran kepada mereka.
  2. Sambungkan pin keluaran penderia ke pin A0 dan A1 papan Arduino.
  3. Sambungkan pin 3 Arduino ke pangkalan transistor melalui perintang 1K.
  4. Sapukan 12V pada pengumpul transistor.
  5. Sambungkan plumbum positif buzzer 12V ke pemancar dan plumbum negatif ke rel tanah.
  6. Sambungkan pin 4 ke pin 5V melalui butang. Atas sebab keselamatan, ia sentiasa terbaik untuk melakukan ini melalui perintang kecil tambahan untuk mengelakkan aliran arus tinggi.
  7. Sambungkan papan Arduino ke komputer anda melalui kabel USB dan muat naik program ke mikropengawal menggunakan IDE Arduino.
  8. Kuasakan papan Arduino menggunakan bekalan kuasa, bateri atau kabel USB.

Kod itu

const int buzzer=3; // pin 3 ialah output kepada buzzer const int pushbutton=4; // pin 4 ialah input void setup() ( pinMode(buzzer,OUTPUT); // set pin 3 to output pinMode(pushbutton,INPUT); // set pin 4 to input ) void loop() ( // baca output kedua-dua sensor dan bandingkan hasilnya dengan nilai ambang int sensor1_value = analogRead(A0); int sensor2_value = analogRead(A1); if (sensor1_value > 400 || sensor2_value > 400) ( while(true) ( ​​​​digitalWrite( buzzer,HIGH) ; // dayakan penggera jika(digitalRead(pushbutton) == HIGH) break; ) ) else ( digitalWrite(buzzer,LOW); // nyahdayakan penggera ) )

Video

Sepanjang dekad yang lalu, kecurian kereta telah menduduki salah satu tempat terpenting dalam struktur jenayah yang dilakukan di dunia. Ini bukan disebabkan oleh berat khusus kategori kecurian ini berbanding dengan jumlah jenayah, tetapi oleh kepentingan kerosakan yang disebabkan oleh kos kereta yang tinggi. Keberkesanan lemah langkah-langkah yang diambil dalam bidang memerangi kecurian kenderaan bermotor menjelang akhir tahun 90-an membawa kepada penciptaan kumpulan stabil yang mengkhususkan diri dalam melakukan jenayah ini dan mempunyai ciri-ciri jenayah terancang; anda mungkin pernah mendengar istilah "perniagaan kereta hitam". Tempat letak kereta di negara-negara Eropah setiap tahun terlepas ≈ 2% daripada kereta yang menjadi subjek pencerobohan jenayah. Jadi saya mendapat idea untuk membuat penggera gsm untuk kereta saya berdasarkan Arduino Uno.

Mari mulakan!

Apa yang akan kami kumpulkan?

Kita mesti memilih jantung sistem kita. Pada pendapat saya, untuk isyarat sedemikian, tidak ada yang lebih baik daripada Arduino Uno. Kriteria utama ialah bilangan "pin" yang mencukupi dan harga.


Ciri-ciri Utama Arduino Uno

Pengawal mikro - ATmega328
Voltan kendalian - 5 V
Voltan input (disyorkan) - 7-12 V
Voltan masukan (had) - 6-20 V
I/O Digital - 14 (6 daripadanya boleh digunakan sebagai output PWM)
Input analog - 6
Arus DC melalui input/output - 40 mA
Arus DC untuk output 3.3V - 50mA
Memori denyar - 32 KB (ATmega328) yang mana 0.5 KB digunakan untuk pemuat but
RAM - 2 Kb (ATmega328)
EEPROM - 1 Kb (ATmega328)
Kekerapan jam - 16 MHz


Sesuai!

Kini anda perlu memilih modul gsm, kerana sistem penggera kami sepatutnya dapat memberitahu pemilik kereta. Jadi, anda perlu "google" ... Di sini, sensor yang sangat baik ialah SIM800L, saiznya sangat indah.


Saya berfikir dan memesannya dari China. Namun, semuanya tidak begitu cerah. Sensor hanya enggan mendaftarkan kad SIM pada rangkaian. Segala yang mungkin telah dicuba - hasilnya adalah sifar.
Terdapat orang baik yang memberi saya perkara yang lebih menarik - Sim900 Shield. Sekarang ini adalah beberapa perkara yang serius. Perisai mempunyai mikrofon dan bicu fon kepala, telefon serba lengkap.


Ciri Utama Sim900 Shield

4 piawaian kekerapan operasi 850/ 900/ 1800/ 1900 MHz
Kelas berbilang slot GPRS 10/8
Stesen mudah alih GPRS kelas B
Mematuhi GSM fasa 2/2+
Kelas 4 (2 W @850/ 900 MHz)
Kelas 1 (1 W @ 1800/1900MHz)
Kawalan melalui arahan AT (GSM 07.07 ,07.05 dan arahan AT lanjutan SIMCOM)
Penggunaan kuasa rendah: 1.5mA (mod tidur)
Julat suhu operasi: -40°C hingga +85°C


Sesuai!

Ok, tetapi anda perlu mengambil bacaan daripada beberapa penderia untuk memberitahu pemiliknya. Tiba-tiba kereta itu dipindahkan, maka kedudukan kereta itu jelas akan berubah di angkasa. Ambil pecutan dan giroskop. baiklah. Teksi, sekarang kami sedang mencari sensor.

Saya fikir GY-521 MPU6050 pasti sesuai. Ternyata ia juga mempunyai sensor suhu. Ia perlu menggunakannya, akan ada "ciri pembunuh" sedemikian. Katakan pemilik kereta itu meletakkannya di bawah rumah dan pergi. Suhu di dalam kereta akan berubah "dengan lancar". Apa yang berlaku jika penceroboh cuba masuk ke dalam kereta? Sebagai contoh, dia akan dapat membuka pintu. Suhu di dalam kereta akan mula berubah dengan cepat, kerana udara di dalam kabin akan mula bercampur dengan udara ambien. Saya fikir ia akan berjaya.


Ciri-ciri Utama GY-521 MPU6050

Modul giroskop 3 paksi + pecutan 3 paksi GY-521 pada cip MPU-6050. Membolehkan anda menentukan kedudukan dan pergerakan objek dalam ruang, halaju sudut semasa putaran. Ia juga mempunyai sensor suhu terbina dalam. Ia digunakan dalam pelbagai model helikopter dan pesawat, dan berdasarkan penderia ini, anda boleh memasang sistem tangkapan gerakan.

Cip - MPU-6050
Voltan bekalan - dari 3.5V hingga 6V (DC);
Julat giro - ± 250 500 1000 2000 ° / s
Julat pecutan - ± 2 ± 4 ± 8 ± 16g
Antara muka komunikasi - I2C
Saiz - 15x20 mm.
Berat - 5 g


Sesuai!

Sensor getaran juga berguna. Tiba-tiba, mereka akan cuba membuka kereta dengan "kekerasan", baik, atau di tempat letak kereta, kereta lain akan menyentuh kereta anda. Mari ambil penderia getaran SW-420 (boleh laras).


Ciri-ciri Utama SW-420

Voltan bekalan - 3.3 - 5V
Isyarat output - digital Tinggi/Rendah (biasanya tertutup)
Penderia terpakai - SW-420
Pembanding terpakai - LM393
Dimensi - 32x14 mm
Selain itu - Terdapat perintang pelaras.


Sesuai!

Skru modul kad memori SD. Mari kita tulis fail log.


Ciri-ciri Utama Modul Kad Memori SD

Modul ini membolehkan anda menyimpan, membaca dan menulis pada kad SD data yang diperlukan untuk pengendalian peranti berdasarkan mikropengawal. Penggunaan peranti adalah relevan apabila menyimpan fail daripada puluhan megabait kepada dua gigabait. Papan mengandungi bekas kad SD, penstabil kuasa kad, penyambung untuk antara muka dan talian kuasa. Jika anda perlu bekerja dengan bunyi, video atau data volumetrik lain, seperti peristiwa pengelogan, data penderia atau menyimpan maklumat pelayan web, maka modul kad memori SD untuk Arduino akan membolehkan anda menggunakan kad SD untuk tujuan ini. Menggunakan modul, anda boleh mengkaji ciri-ciri kad SD.
Voltan bekalan - 5 atau 3.3 V
Kapasiti memori kad SD - sehingga 2 GB
Dimensi - 46 x 30 mm


Sesuai!

Dan tambah pemacu servo, apabila penderia dicetuskan, pemacu servo dengan DVR akan berputar dan merakam video kejadian itu. Ambil servo MG996R.


Ciri-ciri utama servo MG996R

Perlindungan kerosakan yang stabil dan boleh dipercayai
- Pemacu logam
- Galas bebola dua baris
- Panjang wayar 300 mm
- Dimensi 40x19x43mm
- Berat 55 gr
- Sudut putaran: 120 darjah
- Kelajuan operasi: 0.17sec/60 darjah (4.8V tiada beban)
- Kelajuan operasi: 0.13sec/60 darjah (6V tiada beban)
- Tork permulaan: 9.4kg/cm pada bekalan 4.8V
- Tork permulaan: 11kg/cm dengan bekalan 6V
- Voltan kendalian: 4.8 - 7.2V
- Semua bahagian pemacu diperbuat daripada logam


Sesuai!

Mengumpul

Terdapat sejumlah besar artikel tentang menyambungkan setiap penderia di Google. Dan saya tidak mempunyai keinginan untuk mencipta basikal baru, jadi saya akan meninggalkan pautan ke pilihan yang mudah dan berfungsi.

Apa lagi yang perlu dibaca