Rangkaian sinyal paling sederhana untuk arduino. Tentang sensor gerak dan menghubungkannya ke Arduino

Musim semi, seperti yang Anda tahu, disertai dengan segala macam eksaserbasi, dan "eksaserbasi" utama telah keluar dari lubangnya ke jalan untuk mengambil sendiri apa yang bukan miliknya. Ini berarti bahwa topik melindungi properti Anda menjadi lebih relevan dari sebelumnya.
Situs ini sudah memiliki beberapa ulasan tentang yang buatan sendiri. Mereka tentu saja fungsional, tetapi semuanya memiliki fitur umum- ketergantungan pada soket. Jika ini bukan masalah dengan real estat, di mana listrik telah disuplai, lalu bagaimana dengan properti di mana outletnya jauh atau di sekitarnya tidak ada energi sama sekali? Saya memutuskan untuk pergi ke arah lain - untuk merakit yang berumur panjang, sangat sederhana dan independen dari perangkat pasokan listrik, yang akan tidur sepanjang waktu, dan ketika perampok menembus, memulai dan memanggil pemiliknya di telepon, memberi isyarat dengan panggilan alarm sederhana.

Tinjau item

Dibeli:
1. Papan roti satu sisi 5x7 cm: getinax- atau serat kaca
* - Fiberglass jauh lebih baik dari getinax.
2. Modul Neoway M590 - dengan antena PCB -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3.3V -
4. Papan kontrol pengisian-pengosongan lithium -

Ditambang dari reruntuhan peradaban:
1. Rak untuk papan, digergaji dari kotak instrumen - 6 pcs.
2. Baterai lithium datar 1300mAh
3. Kurung digunakan untuk memasang kabel ke dinding
4. penghapus alat tulis
5. Kawat tembaga ketebalan 1.5mm
6. Kotak instrumen dari pasar radio lokal - 1.5$
7. Sepasang LED dengan warna berbeda (diambil dari pemutar VHS)
8. Antena dan tombol dengan penutup (diambil dari router Wi-Fi)
9. Blok terminal 4-pin (diambil dari dimmer)
10. Konektor daya (diambil dari pengisi daya 18650 lama)
11. Konektor 6-pin (diambil dari drive DVD)
12. Bisa(dari bawah kopi misalnya)

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

Spesifikasi:
Mikrokontroler: ATMega168PA
Tegangan operasi langsung:.8 - 5.5V
Tegangan operasi melalui stabilizer LE33: 3.3V atau 5V (tergantung model)
Suhu kerja:-40 ° C ... 105 ° C
Tegangan masukan: 3.35-12V (model 3.3V) atau 5-12V (model 5V)
Input / Output Digital: 14 (6 di antaranya dapat digunakan sebagai output PWM: 3, 5, 6, 9, 10, dan 11)
Masukan analog: 6
Penghitung waktu: dua 8-bit dan satu 16-bit
Mode hemat daya: 6
Arus konstan melalui input / output: 40 mA
Memori kilat: 16 KB (2 digunakan untuk bootloader)
RAM: 1 Kb
EEPROM: 512 byte
Sumber daya menulis/menghapus memori: 10.000 Flash / 100.000 EEPROM
Frekuensi jam: 8 MHz (model 3.3V) atau 16 MHz (model 5V)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) dan A5 (SCL)
UART TTL: 0 (RX) dan 1 (TX)
Lembaran data:

Pilihan jatuh pada atmega ini secara tidak sengaja. pada satu forum di mana proyek hemat energi dibahas, di komentar muncul saran untuk menggunakan atmega ke-168 dengan tepat.
Namun, saya harus mengotak-atik untuk menemukan papan seperti itu, karena semua lot sering dipenuhi dengan 328 atmeg pada frekuensi 16 MHz, yang beroperasi dari 5V. Untuk proyek saya, karakteristik seperti itu berlebihan dan tidak nyaman sejak awal, pencarian menjadi lebih rumit.
Akibatnya, saya menemukan Pro Mini versi 3,3 volt di Atmega 168PA di eBay, dan bukan hanya versi Cina sederhana, tetapi di bawah merek RobotDyn dari pengembang Rusia. Ya, saya juga, pada awalnya, seperti Anda, memiliki sedikit keraguan. Tapi sia-sia. Ketika proyek sudah dirakit, dan AliExpress memperkenalkan pengiriman berbayar wajib untuk barang-barang murah (setelah itu paket lebih sering hilang), kemudian saya memesan Pro Mini Atmega168 (tanpa PA) 3.3V 8MHz yang biasa. Saya bereksperimen sedikit dengan mode hemat daya dengan kedua papan, mem-flash sketsa khusus ke masing-masing, membenamkan mikrokontroler dalam mode hemat daya maksimum, dan inilah yang terjadi:
1) Arduino Pro Mini "RobotDyn": ~ 250μA
2) Arduino Pro Mini "NoName": ketika daya diterapkan ke pengatur tegangan (output RAW) dan LED dilepas, konsumsi arus adalah ~ 3.92mA




- seperti yang Anda pahami, perbedaan konsumsi daya hampir 16 kali lipat, semua karena NoName "Pro Mini menggunakan banyak Atmega168 +, yang hanya dimakan oleh MK sendiri 20μA saat ini (saya memeriksa ini secara terpisah), semua kerakusan jatuh pada konverter tegangan linier AMS1117 - lembar data hanya mengkonfirmasi ini:


Dalam hal papan RobotDyn, bundelnya agak berbeda - ini adalah Atmega168PA + - di sini kami telah menggunakan stabilizer LDO lain, yang karakteristiknya dalam hal penghematan energi ternyata lebih menyenangkan:


Saya tidak menyoldernya, jadi saya tidak bisa mengatakan berapa banyak yang dikonsumsi Atmega168PA saat ini dalam bentuk murni. V kasus ini aku sudah cukup ~ 250μA ketika didukung oleh Nokievsky baterai lithium... Namun, jika Anda menyolder AMS1117 dari NoName "motherboard, maka ATmega168 adalah yang biasa, dalam bentuknya yang murni, seperti yang saya katakan di atas, mengkonsumsi 20μA.
LED daya dapat dimatikan dengan sesuatu yang tajam. Ini bukan masalah. Stabilizer disolder dengan pengering rambut. Namun, tidak semua orang memiliki pengering rambut dan keterampilan untuk menggunakannya, jadi kedua opsi di atas memiliki hak untuk eksis.

Modul Neoway M590E

Spesifikasi:
Frekuensi: EGSM900 / DCS1800 Dual-band, atau GSM850 / 1900 atau Quad-band
Kepekaan:-107dBm
Daya transmisi maksimum: EGSM900 Kelas4 (2W), DCS1800 Kelas1 (1W)
Arus puncak: 2A
Bekerja saat ini: 210mA
Tidur Saat Ini: 2.5mA
Suhu kerja:-40 ° C ... + 85 ° C
Tegangan kerja: 3.3V ... 4.5V (direkomendasikan 3.9V)
Protokol: GSM/GPRS Phase2/2+, TCP/IP, FTP, UDP dll.
Internet: GPRS KELAS 10
Lembaran data:

Modul GSM termurah yang dapat ditemukan di pasaran, biasanya bekas, tidak selalu disolder oleh yang pintar tangan cina dari peralatan. Kenapa tidak selalu cekatan? Ya, semua karena menyolder dengan pengering rambut - seringkali orang datang dengan modul ini dengan plus dan minus korsleting, yang merupakan salah satu alasan ketidakmampuannya beroperasi. Oleh karena itu, langkah pertama adalah membunyikan kontak daya untuk korsleting.

Catatan. Poin penting yang terpisah, menurut pendapat saya, saya ingin mencatat - modul ini dapat datang dengan konektor koaksial bulat untuk antena, yang memungkinkan Anda untuk secara terpisah memesan antena yang lebih serius dan menghubungkannya ke modul tanpa menari dengan rebana. Dan mereka bisa datang tanpa konektor ini. Ini adalah ketika kita berbicara tentang set termurah. Jika Anda tidak ingin mengandalkan kebetulan, maka ada set yang sedikit lebih mahal, di mana konektor ini hadir + antena eksternal pada papan textolite disertakan dalam kit.

Modul ini juga berubah-ubah sebelum catu daya, karena pada puncaknya mengkonsumsi hingga 2A arus, dan dioda yang disertakan dalam kit tampaknya dirancang untuk menurunkan tegangan dari 5V (itulah sebabnya tertulis di papan 5V itu sendiri. ) ke 4.2V, tetapi menilai menurut keluhan orang-orang, itu menciptakan lebih banyak masalah daripada kebaikan.
Misalkan Anda telah merakit modul ini, dan alih-alih dioda, jumper disolder, karena kami tidak akan memasoknya dengan tegangan 5V, tetapi kami akan menyalakannya langsung dari baterai lithium, yang berada dalam kisaran tegangan yang diizinkan 3.3-4.2V.
Akan perlu entah bagaimana menghubungkannya ke komputer dan memeriksa operabilitasnya. Untuk kasus ini, lebih baik membeli sendiri terlebih dahulu - melalui itu kami akan berkomunikasi dengan modul dan papan Arduino melalui antarmuka serial UART (USART).
Koneksi ditunjukkan di bawah ini dalam gambar (saya menggambarnya semampu saya):
Modem TX >>> Konverter RX
Modem RX<<< TX конвертера
Baterai Plus - Modem Plus
Minus baterai lithium digabungkan dengan GND modem dan GND konverter
Untuk memulai modem, pasang pin BOOT melalui resistor 4,7 kOhm ke GND


Sementara itu, jalankan program di komputer. Perhatikan pengaturan:
1) Pilih port COM yang terhubung dengan konverter TTL, dalam kasus saya ini adalah COM4, ​​​​Anda mungkin memiliki yang berbeda.
2) Pilih kecepatan baud. (Ada nuansa di sini, karena modul itu sendiri dapat dikonfigurasi untuk kecepatan yang berbeda, paling sering 9600 baud atau 115200 baud. Di sini Anda perlu memilih secara empiris, memilih beberapa kecepatan, menghubungkan, dan mengirim perintah AT, jika cracker datang sebagai tanggapan , itu akan mati , pilih kecepatan yang berbeda dan ulangi perintah, dan seterusnya sampai Anda mendapatkan jawaban OK).
3) Pilih panjang paket (dalam hal ini 8 bit), bit paritas dinonaktifkan (tidak ada), bit stop adalah (1).
4) Pastikan untuk mencentang kotak + CR, dan kemudian karakter carriage return akan ditambahkan secara otomatis ke setiap perintah yang kita kirim ke modul di akhir - modul hanya memahami perintah dengan karakter ini di akhir.
5) Koneksi, semuanya jelas di sini, kami mengklik dan kami dapat bekerja dengan modul.

Jika Anda mengklik "Connect" dan kemudian memulai modul dengan menerapkan BOOT melalui resistor 4.7K ke ground, maka terminal pertama-tama akan menampilkan tulisan "MODEM: STARTUP", kemudian, setelah beberapa saat, tulisan "+ PBREADY" , yang berarti bahwa buku telepon, meskipun mungkin kosong:

Di bawah perintah AT spoiler ini dengan contoh

Kami mencetak perintah AT - sebagai tanggapan, modul mengirimi kami perintah kami, karena mode gema aktif, dan OK:

Mari kita periksa status modem dengan perintah AT + CPAS - sebagai tanggapan, perintah kita lagi, + CPAS: 0 dan OK.
0 - berarti modul siap dioperasikan, tetapi tergantung pada situasinya, mungkin ada nomor lain, misalnya, 3 - panggilan masuk, 4 - dalam mode koneksi, 5 - mode tidur. Saya tidak menemukan informasi tentang 1 dan 2.

Mengubah kecepatan transfer data pada UART dilakukan dengan perintah AT + IPR = 9600 - ini jika kecepatannya 9600. Jika ada yang lain, mirip dengan AT + IPR = 19200 misalnya atau AT + IPR = 115200.

Mari kita periksa sinyal jaringan. AT + CSQ, jawabannya datang + CSQ: 22.1 - nilai ke titik desimal memiliki kisaran 0 ... 31 (115 ... 52dBl) - ini adalah level sinyal, semakin banyak semakin baik. Tapi 99 berarti ketidakhadirannya. Nilai setelah titik desimal adalah kualitas sinyal 0 ... 7 - ini sudah kebalikannya, semakin rendah angkanya, semakin baik.

Nonaktifkan mode gema dengan mengirimkan perintah ATE0 sehingga perintah duplikat tidak menghalangi. Sebaliknya, mode ini diaktifkan oleh perintah ATE1.

Lihat versi firmware AT + GETVERS



Ini dan banyak perintah lainnya dapat dilihat

Papan perataan

Sementara Pro Mini mudah disolder ke papan tempat memotong roti, situasi dengan modul GSM sedikit lebih rumit. sisir kontaknya hanya terletak di satu sisi, dan jika Anda hanya menyoldernya, maka sisi lain papan akan menggantung di udara. Kemudian, sekali lagi, saya harus mengebor 3 lubang tambahan di dekat tiga sudut di papan. Area di sekitar masing-masing lubang kemudian dilucuti dari topeng. Untuk kenyamanan, saya menempatkan ujung yang terputus dari sisir pada papan tempat memotong roti tanpa solder (putih) dan, setelah memasang papan modul GSM pada mereka, biasanya disolder:

Kemudian saya harus membuat lubang lain, dalam kasus saya di huruf "I", di mana tertulis "Made In China", di tepi papan.


Ternyata kontak tambahan, yang pada dasarnya adalah GND, menjadi terletak di sebelah GND papan Pro Mini, dan dengan demikian dimungkinkan untuk menggabungkan ground modul GSM dan Pro Mini dengan setetes solder (panjang pin di tengah dan di sebelah kanannya adalah pin Pro Mini) - Saya menandainya dengan panah. Tentu saja ternyata sedikit bengkok, tetapi sekarang bertahan dengan andal:



Ada beberapa ruang yang tersisa di antara papan - di dalamnya saya menempatkan papan kontrol pengisian baterai lithium dengan konektor microUSB yang telah disolder dan kabel yang disolder.

Syal sangat pas di sana, sementara cahaya LED dari samping akan terlihat jelas melalui lubang kecil di kasing.



dudukan PCB

Untuk memperbaiki papan di dalam casing dengan aman, saya harus menghabiskan beberapa hari untuk memikirkan bagaimana ini bisa diterapkan. Pilihan dengan lem panas meleleh tidak dipertimbangkan karena beberapa alasan - bisa jatuh, berubah bentuk, dan yang paling penting, strukturnya akan sulit dibongkar.
Saya sampai pada gagasan bahwa opsi paling sederhana dan paling benar di sini adalah menggunakan rak, yang tentu saja tidak saya miliki. Namun, ada beberapa pengisi daya yang tidak berfungsi, dari mana satu rak panjang dengan ulir untuk sekrup self-tapping dipotong. Setiap dudukan digergaji menjadi dua dan selesai dengan file hingga sekitar 9,5mm - pada ketinggian inilah baterai yang terletak di bawah papan memiliki margin yang cukup, sekitar 2mm - ini dilakukan agar kontak papan yang disolder tidak menyentuh itu dengan ujungnya dan sehingga dimungkinkan untuk memasukkan sepotong karet busa di antara mereka untuk fiksasi.
Adapun memasang papan langsung ke kasing, di sini saya memotong empat strip dari kaleng kopi, di ujungnya saya mengebor lubang, lalu memperbaikinya pada sekrup yang sama yang disekrup ke rak. Di bawah di foto, lihat tampilannya.
Langkah selanjutnya adalah memasang beberapa rak di sisi lain papan, yaitu dari atas, sehingga ketika kasing ditutup, tutupnya sedikit bersandar pada rak ini, menciptakan fiksasi tambahan. Beberapa saat kemudian, dalam kasus ini, saya menemukan tubuh dari bawah radio propaganda Soviet (jika ditemukan lebih awal, saya akan mengambil semua rak dari sini), di mana saya menemukan pasangan yang kurang lebih cocok tingginya, tapi pertama-tama saya mengebornya di tengah dengan bor di bawah sekrup self-tapping. Kemudian dia memotongnya dan juga menyelesaikannya dengan sebuah file, menghilangkan kelebihannya. Di sini saya mendapat satu kehalusan - di foto Anda dapat melihat bahwa satu dudukan putih disekrup ke papan getinax dari tepi, dan putih lainnya - langsung ke papan modul, karena dari satu tepi papan modem sepenuhnya menutupi papan bawah, dan dari tepi yang berlawanan - sebaliknya - yang lebih rendah terlihat keluar. Pada saat yang sama, di kedua papan perlu untuk mengebor lubang tambahan sehingga tutup sekrup self-tapping bisa lewat dengan bebas.
Dan akhirnya, tetap memastikan bahwa papan selalu sejajar dengan kasing - braket, yang digunakan untuk memasang kabel dan kabel di dinding, sangat cocok untuk kasing ini, saya sebelumnya melepas paku darinya. Braket menempel dengan baik ke papan dengan sisi cekung tanpa perangkat tambahan, hanya di sebelah kanan kartu SIM, lebar braket ternyata berlebihan dan harus diampelas juga.
Semua detail disesuaikan dengan mata dan secara empiris, di bawah foto semua hal di atas:



Konektor. LED. Tombol.

Karena saya kehabisan sisir, saya harus membongkar konektor 6-pin dari papan drive DVD, yang kemudian saya solder ke Pro Mini, ini untuk kenyamanan mem-flash papan. Di dekatnya, saya menyolder konektor bundar (Nokia 3.5mm) untuk mengisi daya lithium.

Bodi konektor 6-pin sedikit terkelupas dengan file, karena ujungnya sedikit menonjol di atas bodi. Soket pengisi daya sangat pas dengan dinding casing.

Di sisi lain papan, saya menyolder tombol untuk mem-boot ulang perangkat dan dua LED untuk men-debug firmware - LED merah terhubung ke modul GSM, LED hijau kedua ke pin 10 Pro Mini - lebih mudah bagi saya untuk men-debug program yang menggunakannya.

Penyempurnaan baterai

Baterai Nokia yang kempes dari ponsel Nokia tidak kalah umum dari 18650, tetapi banyak yang menolak untuk menggunakannya karena ketidaknyamanan menghubungkan kontak, yang tersembunyi ke dalam baterai itu sendiri. Tidak diinginkan untuk menyoldernya, jadi diputuskan untuk menggunakan metode yang diusulkan oleh ini, yaitu membuat blok terminal dari penghapus alat tulis dan kawat tembaga (tebal 1,5mm).
Pertama, saya menusuk sepotong penghapus dengan dua kabel dengan ujung yang sudah dilucuti, dan meletakkannya di kontak baterai sehingga jarak di antara mereka bertepatan,
Saya membengkokkan ujungnya, menyematkannya dengan besi solder, dan menariknya sedikit ke belakang dengan ujung yang panjang sehingga kontak yang dihasilkan tenggelam ke dalam penghapus.



Pemasangan pada baterai:

Anda dapat memperbaiki blok terminal dengan karet gelang atau membungkusnya dengan pita listrik biru, yang pada akhirnya saya lakukan.

Perakitan.

Bagian utama dari pekerjaan selesai, tetap mengumpulkan dan memperbaiki semuanya.
Di antara baterai dan papan saya meletakkan sepotong karet busa sehingga tidak akan merangkak ke dalam kasing setelahnya. Saya juga menyolder kapasitor 2200 uF untuk memberi daya pada modul.

Saat pengisian daya terhubung:

Bingkai. Blok terminal eksternal.

Saya mendapatkan kasing di pasar radio lokal dengan harga sekitar $ 1,5, jika diterjemahkan ke dalam dolar, berukuran 95x60x25mm, hampir seukuran sebungkus rokok. Saya mengebor beberapa lubang di dalamnya. Pertama, untuk blok terminal 4-pin, diambil dari dimmer yang tidak beroperasi.
Saya benar-benar membebaskan dua kontak ekstrem dari baut dengan gasket, mengebor lubang untuk baut yang lebih panjang, di mana seluruh blok terminal akan menahan badan. Pada kasing itu sendiri, tentu saja, dua lubang ekstrem akan menjadi besar, dan dua di tengah lebih kecil - mereka akan memiliki pin melaluinya, salah satunya terhubung ke VCC Pro Mini, dan pin kedua ke pin 2 .

Mengebor lubang, meskipun sekilas terlihat sederhana, tetap saja memakan waktu yang tidak sedikit, sangat mudah untuk dilewatkan, jadi saya melakukannya terlebih dahulu dengan bor yang lebih kecil, kemudian dengan yang lebih besar.

Untuk tombol tact, saya memilih tutup dengan bagian atas yang agak cekung sehingga akan lebih mudah untuk memukulnya dengan korek api atau klip kertas melalui lubang sempit pada casing.

Papan dalam kasing dengan loop konverter USB-TTL terhubung:

Tentang antena.
Antena, seperti yang mungkin Anda perhatikan di sepanjang jalan, terus berubah, saat saya bereksperimen dengan antena buatan sendiri yang berbeda. Awalnya, ada konektor koaksial bundar di papan modul, tetapi untuk kelima kalinya digunakan untuk antena eksternal, konektornya terlepas begitu saja, jadi perlu diingat bahwa itu tipis. Akibatnya, saya merobek antena pada PCB dari router lama, dan menyoldernya ke papan modul, tk. ia menangkap jaring sedikit lebih baik daripada pegas dan kawat.

Nah, dirakit sepenuhnya dengan pengisi daya yang terhubung terlihat seperti ini:

Tes. Bagaimana itu bekerja:

Selain pengujian dengan antena, saya memeriksa bagaimana alarm akan berperilaku di jalan, dalam cuaca beku -15. Untuk melakukan ini, saya cukup menempatkan bagian dalam sepenuhnya dalam wadah dan meninggalkannya di balkon semalaman, alarm tidak dimulai pada saat yang sama, alasannya adalah, secara umum, jelas - lithium tidak menyukai embun beku. Ini dikonfirmasi oleh tes lain, di mana saya meninggalkan baterai di rumah, dan membawa papan melalui kabel panjang ke jalan dan meninggalkannya di sana selama sehari dalam cuaca beku yang sama - operasi, seolah-olah tidak ada yang terjadi. Di sisi lain, akan aneh jika alarm tidak berfungsi. dalam lembar data untuk atmega, untuk modul, untuk kuarsa - suhu operasi yang diizinkan hingga -40 derajat.

Prinsip operasi diatur oleh interupsi eksternal, awalnya pin 2 ditutup untuk VCC dan dengan demikian logika 1 didukung pada pin, dan pengontrol tidur. Segera setelah kontak terputus dan 0 muncul pada pin 2, mikrokontroler bangun, menurunkan pin ke-3 (ke mana modem BOOT terhubung melalui resistor) ke ground - modul dimulai, MC secara berkala melakukan polling modul untuk kesiapan, dan segera setelah menangkap jaringan, ia segera mengirim panggilan ke nomor telepon pemilik yang ditentukan dalam kode. Setelah menolak panggilan, perangkat mati tanpa mengirim lebih banyak panggilan tanpa akhir daripada yang dilakukan oleh banyak alarm Cina.

informasi tambahan

#termasuk #termasuk // perpustakaan perangkat lunak UART SoftwareSerial gsm (7, 6); // RX (7), TX (6) void wakeUp () () // kosongkan interrupt handler ////////////////////////// /////////////// void gsmOFF () (// PORTD | = (1<<3); // ВЫКЛЮЧЕНИЕ МОДУЛЯ _delay_ms(10); // gsm.println("AT+CPWROFF"); // ПЕЧАТАЕМ КОМАНДУ OFF PORTB &=~ (1<<2); // выключить LED 10 } // //========================================= void gsmON(){ // PORTD|=(1<<6); // 6-му порту (TX) назначить 1 PORTD &= ~(1<<3); // ЗАПУСК МОДУЛЯ _delay_ms(10); // while(!gsm.find("+PBREADY")); // ждём прочтения тел. книги PORTB |= (1<<2); // включить LED 10 _delay_ms(100); // while(1){ // gsm.println("AT+CREG?"); // проверяем в сети ли модуль if (gsm.find("0,1")) break; // если сеть есть, выходим из цикла _delay_ms(400); // проверка раз в 0,4 сек } // } // /////////////////////////////////////////// // void sleepNow(){ // функция засыпания ADCSRA = 0x00; // отключить подсистему АЦП (экономия 140 мкА) PORTD&=~(1<<6); // в вывод TX поставить 0 _delay_ms(100); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна PWR_DOWN sleep_enable(); // включение сна attachInterrupt(0, wakeUp, LOW); // включить прерывания sleep_mode(); // sleep_disable(); // detachInterrupt(0); // отключить прерывания } void setup(){ gsm.begin(9600); // скорость работы UART DDRD = B01001000; // 3-й и 6-й выводы на выход DDRB |= (1<<2); // вывод 10 на выход gsmON(); // запуск модуля для теста gsmOFF(); // выключаем модуль } void loop(){ if (!(PIND&(1<<2))){ // если на 0-ом прерывании появился 0 gsmON(); gsm.println("ATD+79xxxxxxxxx;"); // отзваниваемся, в ответ приходит OK и CONNECT _delay_ms(100); if (gsm.find("OK")) while(1){ // ожидание сброса вызова gsm.println("AT+CPAS"); // при каждой итерации опрашиваем модуль if (gsm.find("0")) break; // если 0, то выходим из цикла while _delay_ms(100); // проверка раз в 0,1 сек } for (char i=0; i<14; i++){ PORTB|=(1<<2); // LED 10 ON _delay_ms(200); PORTB&=~(1<<2); // LED 10 OFF _delay_ms(200); } gsmOFF(); // выключить модуль _delay_ms(10); while(1); // блокируем программу } else { sleepNow(); // укладываем контроллер спать } }

Sirkuit (tanpa papan kontrol charge-discharge)



Kesimpulan dan pemikiran. Rencana.

Alarm digunakan di dalam negeri, saya puas dengan pekerjaannya, namun, dengan studi lebih lanjut tentang AVR, semakin banyak ide muncul untuk modifikasi lebih lanjut. Arduino dengan Wiring bahasa semunya membuat saya sangat kesal, karena ada satu momen yang tidak menyenangkan dalam pekerjaan itu. Ketika saya menggunakan fungsi untuk bekerja dengan port digitalWrite (); atau pinMode(); - maka modul GSM untuk beberapa alasan sangat sering menutup. Tapi ada baiknya menggantinya dengan orang aneh seperti DDRB | = (1<Hanya pengoperasian akses langsung ke port yang membuat perangkat berfungsi, seperti yang dimaksudkan.

Hemat energi ...
Perangkat yang dirakit bekerja selama empat bulan penuh tanpa mengisi ulang dan terus bekerja, meskipun akan lebih tepat untuk mengatakan "tidur". Ini diverifikasi dengan reboot sederhana melalui tombol putih. Dengan konsumsi energi 250 A (melalui stabilizer LE33) dan baterai ~ 1430 mAh, meskipun oke, karena baterai non-baru, kami mengumpulkan hingga 1000mAh, ternyata perangkat dapat tidur sekitar 5,5 bulan tanpa pengisian. Jika Anda tetap menguapkan stabilizer, maka waktu pengoperasian dapat dikalikan dengan aman 10 kali lipat. Tetapi dalam kasus saya, ini tidak perlu, karena Anda masih harus menghabiskan saldo dari kartu SIM setiap tiga bulan, pada saat yang sama perangkat dapat diperiksa dan diisi ulang.
Contoh penghematan energi yang diberikan dalam ulasan jauh dari batas, karena dilihat dari informasi dari lembar data, dimungkinkan untuk menurunkan frekuensi clock mikrokontroler (dan ini dilakukan dengan memasang sekering) menjadi 1 MHz dan, jika Anda menerapkan tegangan 1,8V, maka konsumsi akan turun di bawah bilah 1μA di modus aktif. Cukup tidak buruk! Tetapi jika MK di-clock dari generator RC internal, maka masalah lain akan muncul - eter UART akan tersumbat oleh sampah dan kesalahan, terutama jika pengontrol dipanaskan atau didinginkan.

Dalam penyelesaian ...
1) Kabel biasa yang dipasang pada celah tidak sepenuhnya nyaman, saya berencana untuk bereksperimen dengan sensor Hall dan sakelar buluh, meskipun mereka mengatakan tentang yang terakhir bahwa itu tidak terlalu dapat diandalkan, karena kontak di dalamnya dapat menempel.
2) Akan menyenangkan untuk menambahkan kemampuan untuk mengubah "nomor master" tanpa partisipasi komputer dan flashing. Ini sudah harus bekerja dengan EEPROM.
3) Coba interupsi dari watchdog timer, tetapi bukan hanya untuk penasaran, tetapi agar mikrokontroler secara berkala bangun dengan sendirinya, melakukan pengukuran tegangan baterai dan mengirimkan nilai yang diterima melalui SMS untuk mengetahui berapa banyak baterai habis.
4) Panel surya dapat sepenuhnya menghilangkan kebutuhan untuk mengisi ulang perangkat, ini akan relevan terutama untuk baterai berkapasitas rendah.
5) Untuk waktu yang lama saya ingin membeli baterai LiFePo4, yang, menurut ulasan, mentolerir embun beku secara normal, tetapi ketika saya mencari banyak yang cocok, musim semi telah datang tanpa terasa.
6) Bekerja pada komponen estetika

Pro Mini mana yang harus Anda beli?
Jika tidak ada pengering rambut, maka Pro Mini "RobotDyn" Atmega168PA 3.3V, pilih LED dengan sesuatu yang tajam dan Anda memiliki ~ 250μA.
Jika Anda memiliki pengering rambut, maka papan apa pun, Anda menyolder stabilizer dan LED daya - Anda mendapatkan ~ 20μA konsumsi saat ini.

Itu saja untuk saat ini, semoga ulasannya menarik dan bermanfaat.

Saya berencana untuk membeli +174 Tambahkan ke favorit Saya menyukai ulasannya +143 +278 Selama dekade terakhir, pencurian mobil telah menduduki salah satu tempat paling penting dalam struktur kejahatan yang dilakukan di dunia. Hal ini disebabkan tidak begitu banyak bobot spesifik kategori pencurian ini dalam kaitannya dengan jumlah total kejahatan, tetapi pentingnya kerusakan yang disebabkan karena tingginya biaya mobil. Lemahnya efektivitas langkah-langkah yang diambil di bidang pemberantasan pencurian kendaraan pada akhir tahun 90-an menyebabkan terciptanya kelompok-kelompok stabil yang mengkhususkan diri dalam melakukan kejahatan-kejahatan ini dan memiliki ciri khas kejahatan terorganisir; Anda mungkin pernah mendengar istilah "bisnis mobil hitam". Parkir mobil negara-negara Eropa setiap tahun hilang 2% dari mobil yang menjadi subjek perambahan kriminal. Oleh karena itu, saya mendapat ide untuk membuat alarm gsm untuk mobil saya berbasis Arduino Uno.

Mari kita mulai!

Apa yang akan kami kumpulkan?

Kita harus memilih jantung dari sistem kita. Menurut pendapat saya, tidak ada yang lebih baik untuk pensinyalan seperti itu selain Arduino Uno. Kriteria utama adalah jumlah pin dan harga yang cukup.


Fitur utama Arduino Uno

Mikrokontroler - ATmega328
Tegangan kerja - 5 V
Tegangan input (disarankan) - 7-12 V
Tegangan input (batas) - 6-20 V
Input / Output Digital - 14 (6 di antaranya dapat digunakan sebagai output PWM)
Input Analog - 6
Arus DC melalui input / output - 40 mA
Arus DC untuk pin 3,3 V - 50 mA
Memori Flash - 32KB (ATmega328) di mana 0,5KB digunakan untuk bootloader
RAM - 2 KB (ATmega328)
EEPROM - 1 KB (ATmega328)
Frekuensi jam - 16 MHz


cocok!

Sekarang Anda perlu memilih modul gsm, karena sistem alarm kami harus dapat memberi tahu pemilik mobil. Jadi, Anda harus googling ... Di sini, sensor yang sangat baik - SIM800L, ukurannya luar biasa.


Saya pikir dan memesannya dari China. Namun, semuanya ternyata tidak begitu cerah. Sensor hanya menolak untuk mendaftarkan kartu SIM di jaringan. Segala sesuatu yang mungkin dicoba - hasilnya nol.
Ada orang baik yang memberi saya hal yang lebih keren - Sim900 Shield. Ini sudah menjadi hal yang serius. Shield memiliki mikrofon dan jack headphone, telepon lengkap.


Fitur utama Perisai Sim900

4 standar frekuensi kerja 850/900/1800/1900 MHz
GPRS multi-slot kelas 10/8
GPRS mobile station kelas B
Sesuai dengan GSM fase 2/2 +
Kelas 4 (2 W @ 850/900 MHz)
Kelas 1 (1 W @ 1800 / 1900MHz)
Dikendalikan oleh perintah AT (GSM 07.07, 07.05 dan SIMCOM diperpanjang perintah AT)
Konsumsi daya rendah: 1.5mA (mode tidur)
Kisaran suhu pengoperasian: -40 ° C hingga +85 ° C


cocok!

Oke, tapi Anda harus mengambil bacaan dari beberapa sensor untuk memberi tahu pemiliknya. Tiba-tiba mobil dievakuasi, maka posisi mobil jelas akan berubah di luar angkasa. Mari kita ambil akselerometer dan giroskop. Bagus. Dachshund, sekarang kami sedang mencari sensor.

Saya pikir GY-521 MPU6050 pasti cocok. Ternyata itu juga memiliki sensor suhu. Perlu untuk menggunakannya, akan ada "fitur pembunuh" seperti itu. Misalkan pemilik mobil meletakkannya di bawah rumah dan pergi. Suhu di dalam mobil akan berubah "lancar". Apa yang terjadi jika penyerang mencoba membobol mobil? Misalnya, dia akan bisa membuka pintu. Suhu di dalam mobil akan mulai berubah dengan cepat, karena udara di kompartemen penumpang mulai bercampur dengan udara sekitar. Saya pikir itu akan berhasil.


Fitur utama GY-521 MPU6050

Modul giroskop 3-sumbu + akselerometer 3-sumbu GY-521 pada chip MPU-6050. Memungkinkan Anda untuk menentukan posisi dan pergerakan suatu objek di ruang angkasa, kecepatan sudut selama rotasi. Ini juga memiliki sensor suhu bawaan. Ini digunakan dalam berbagai model helikopter dan pesawat terbang, juga dimungkinkan untuk merakit sistem penangkapan gerak berdasarkan sensor ini.

Sirkuit mikro - MPU-6050
Tegangan suplai - dari 3,5V hingga 6V (DC);
Rentang giroskop - ± 250 500 1000 2000 ° / s
Rentang Akselerometer - ± 2 ± 4 ± 8 ± 16g
Antarmuka komunikasi - I2C
Ukuran - 15x20 mm.
Berat - 5 g


cocok!

Sensor getaran juga berguna. Tiba-tiba, mereka akan mencoba membuka mobil dengan "brute force", atau, di tempat parkir, mobil lain akan menyentuh mobil Anda. Ambil sensor getaran SW-420 (dapat disesuaikan).


Fitur utama SW-420

Tegangan suplai - 3,3 - 5V
Sinyal keluaran - digital Tinggi / Rendah (biasanya tertutup)
Sensor bekas - SW-420
Komparator yang digunakan - LM393
Dimensi - 32x14mm
Selain itu - Ada resistor pengatur.


cocok!

Pasang modul kartu memori SD. Kami juga akan menulis file log.


Karakteristik utama dari modul kartu memori SD

Modul ini memungkinkan Anda untuk menyimpan, membaca, dan menulis ke kartu SD data yang diperlukan untuk pengoperasian perangkat berdasarkan mikrokontroler. Penggunaan perangkat relevan saat menyimpan file dari puluhan megabyte hingga dua gigabyte. Papan berisi wadah kartu SD, penstabil daya kartu, konektor untuk antarmuka dan saluran listrik. Jika Anda perlu bekerja dengan suara, video, atau data volumetrik lainnya, misalnya, menyimpan log peristiwa, data sensor, atau menyimpan informasi dari server web, maka modul kartu memori SD untuk Arduino akan memungkinkan penggunaan kartu SD untuk tujuan ini. Dengan menggunakan modul, Anda dapat mempelajari fitur kartu SD.
Tegangan suplai - 5 atau 3,3 V
Kapasitas memori kartu SD - hingga 2 GB
Dimensi - 46 x 30mm


cocok!

Dan mari kita tambahkan servo, ketika sensor dipicu, servo dengan DVR akan berputar dan merekam video kejadian tersebut. Ambil servo MG996R.


Fitur utama servo MG996R

Perlindungan yang stabil dan andal terhadap kerusakan
- Penggerak logam
- Bantalan bola baris ganda
- Panjang kawat 300 mm
- Dimensi 40x19x43mm
- Massa 55 gr
- Sudut rotasi: 120 derajat.
- Kecepatan kerja: 0.17sec / 60 derajat (4.8V tanpa beban)
- Kecepatan kerja: 0.13sec / 60 derajat (6V tanpa beban)
- Torsi awal: 9.4kg / cm @ 4.8V
- Torsi awal: 11kg / cm pada catu daya 6V
- Tegangan kerja: 4.8 - 7.2V
- Semua bagian penggerak terbuat dari logam


cocok!

Kami mengumpulkan

Ada banyak artikel tentang menghubungkan setiap sensor di Google. Dan saya tidak punya keinginan untuk membuat sepeda baru, jadi saya akan meninggalkan tautan ke opsi yang sederhana dan berfungsi.

Penulisnya ingin membuat produk buatan sendiri sehingga murah dan nirkabel.
Produk buatan sendiri ini menggunakan sensor gerak PIR, dan informasinya ditransmisikan menggunakan modul RF.

Penulis ingin menggunakan modul inframerah, tetapi karena memiliki jangkauan aksi yang terbatas, dan plus dapat bekerja hanya saling berhadapan dengan penerima, sehingga ia memilih modul RF yang dapat mencapai jangkauan sekitar 100 meter.


Untuk memudahkan pengunjung melihat rangkaian alarm, saya memutuskan untuk membagi artikel menjadi 5 tahap:
Tahap 1: Bangun pemancar.
Tahap 2: Buat penerima.
Tahap 3: Menginstal perangkat lunak.
Tahap 4: Menguji modul yang dirakit.
Tahap 5: Merakit kasing dan memasang modul ke dalamnya.

Yang dibutuhkan penulis hanyalah:
- 2 papan ARDUINO UNO / ARDUINO MINI / ARDUINO NANO untuk penerima dan pemancar;
- Modul transceiver RF (433 MHZ);
- Sensor gerak PIR;
- Baterai 9V (2 buah) dan konektornya;
- Bel;
- Dioda pemancar cahaya;
- Resistor dengan resistansi 220 Ohm;
- Papan roti;
- Jumper / kabel / jumper;
- Papan sirkuit;
- Konektor pin papan ke papan;
- Sakelar;
- Rumah untuk penerima dan pemancar;
- Kertas berwarna;
- Pita pemasangan;
- Pisau bedah pengatur tipe;
- Pistol lem panas;
- Besi solder;
- Alat penjepit / pengupasan;
- Gunting untuk logam.


Tahap 1.
Kami mulai membuat pemancar.
Di bawah ini adalah diagram cara kerja sensor gerak.


Pemancar itu sendiri terdiri dari:
- Sensor gerak;
- Papan Arduino;
- Modul pemancar.


Sensor itu sendiri memiliki tiga output:
- VCC;
- GND;
- KELUAR.

Setelah itu, saya memeriksa pengoperasian sensor


Perhatian!!!
Sebelum mengunduh firmware, penulis memastikan bahwa board dan port serial saat ini diatur dengan benar di pengaturan Arduino IDE. Kemudian saya mengunggah sketsa:

Kemudian, saat sensor gerak mendeteksi gerakan di depannya, LED akan menyala, dan Anda juga dapat melihat pesan yang sesuai di monitor.


Menurut diagram di bawah ini.


Pemancar memiliki 3 pin (VCC, GND, dan Data), kami menghubungkannya:
- VCC> 5V dengan pin di papan;
- GND> GND;
- Data> 12 pin di papan.

Tahap 2.


Penerima itu sendiri terdiri dari:
- Modul penerima RF;
- Papan Arduino
- Buzzer (pembicara).

Sirkuit Penerima:


Penerima, seperti pemancar, memiliki 3 pin (VCC, GND, dan Data), kami menghubungkannya:
- VCC> 5V dengan pin di papan;
- GND> GND;
- Data> 12 pin di papan.


Tahap 3.
Penulis memilih file perpustakaan sebagai dasar untuk seluruh firmware. Saya mengunduhnya dan meletakkannya di folder perpustakaan Arduino.

Perangkat lunak pemancar.
Sebelum mengunggah kode firmware ke papan, penulis mengatur parameter IDE berikut:
- Papan -> Arduino Nano (atau papan apa pun yang Anda gunakan);
- Port Serial ->


Setelah mengatur parameter, penulis mengunduh file firmware Wireless_tx dan mengunggahnya ke papan:

Perangkat lunak penerima
Penulis mengulangi langkah yang sama untuk papan penerima:
- Papan -> Arduino UNO (atau papan apa pun yang Anda gunakan);
- Port Serial -> COM XX (periksa port com yang terhubung dengan papan Anda).



Setelah penulis mengatur parameter, unduh file wireless_rx dan unggah ke papan:


Kemudian, dengan bantuan program yang dapat diunduh, penulis menghasilkan suara untuk buzzer.

Tahap 4.
Selanjutnya, setelah mengunduh perangkat lunak, penulis memutuskan untuk memeriksa apakah semuanya berfungsi dengan baik. Penulis menghubungkan catu daya, dan mengulurkan tangannya di depan sensor, dan bel mulai bekerja untuknya, yang berarti semuanya berfungsi sebagaimana mestinya.


Tahap 5.
Perakitan akhir pemancar
Pertama, penulis memotong pin yang menonjol dari penerima, pemancar, papan arduino, dll.


Setelah itu, saya menghubungkan board arduino dengan sensor gerak dan pemancar RF menggunakan jumper.


Kemudian penulis mulai membuat housing untuk transmitter.

Pertama, dia memotong: lubang untuk sakelar, serta lubang bundar untuk sensor gerak, dan kemudian menempelkannya ke badan.




Kemudian penulis menggulung selembar kertas berwarna dan menempelkan gambar ke sampul depan untuk menyembunyikan bagian dalam produk buatan sendiri.


Setelah itu, penulis mulai memasukkan isian elektronik ke dalam casing, menggunakan selotip dua sisi.



Perakitan akhir penerima
Penulis memutuskan untuk menghubungkan papan Arduino ke papan sirkuit dengan pita karet dan juga memasang penerima RF.


Selanjutnya penulis membuat dua lubang pada case yang satunya lagi, satu untuk buzzer, satunya lagi untuk switch.


Dan merekatkannya.


Setelah itu penulis memasang jumper pada semua bagian.




Kemudian penulis memasukkan papan yang sudah jadi ke dalam kasing, dan memperbaikinya dengan lem dua sisi.

Selamat siang! Sekali lagi, multi-review komponen elektronik Cina, seperti biasa tentang sedikit dari segalanya, saya akan mencoba untuk lebih pendek, tetapi apakah itu akan berhasil? Jadi, selamat datang, sistem alarm GSM seharga 700 rubel. Menarik? Saya meminta "potong"!

Mari kita mulai! Sebelum memulai, saya sarankan untuk melihat yang ini, lebih sedikit komponen dan lebih banyak otonomi. Jadi, "kerangka acuan", persyaratan dasar untuk pensinyalan:

1) Beri tahu saat sensor dipicu.
2) Dalam hal terjadi pemadaman listrik, beberapa otonomi harus disediakan.
3) Manajemen alarm melalui sms dan panggilan.

Karena proses pembuatan alarm telah berlangsung selama beberapa bulan dan beberapa penjual tidak lagi menjual komponen yang dibeli dari mereka, tautan akan diperbarui ke produk penjual lain yang memiliki jumlah maksimum atau mendekati maksimum. penjualan produk dan harga terbaik. Harga dalam ulasan adalah saat ini pada tanggal penulisannya.

Daftar apa yang Anda butuhkan:

Daftar perubahan

GSM_03_12_2016-14-38.hex- operasi tetap perangkat dengan modem M590.
GSM_05_12_2016-13-45.hex- menambahkan memtest perintah konsol, optimalisasi penggunaan RAM.
GSM_2016_12_06-15-43.hex- menambahkan output dari hasil perintah ke konsol, optimasi memori. Hunian: 49% SRAM.
GSM_2016_12_07-10-59.hex- sekarang nomor telepon ditambahkan dan dihapus dengan benar. Menempati: SRAM 49%, Memori Flash 74%.
GSM_2016_12_07-15-38.hex- menambahkan kemampuan untuk menghubungkan sensor gerak, terhubung ke pin A0 (dalam hal ini, pin A0 digunakan sebagai digital). Menambahkan SMS - perintah PIRON, PIRoff... Menempati: SRAM 48%, Memori Flash 76%.
GSM_2016_12_08-13-53.hex- Sekarang, setelah eksekusi perintah berhasil, yang tidak mengirim pesan SMS sebagai tanggapan, perangkat berkedip sekali dengan LED biru. Sekarang, setelah eksekusi perintah yang salah, yang tidak mengirim pesan SMS sebagai tanggapan, perangkat berkedip dua kali dengan LED biru. Sekarang, setelah menginisialisasi parameter perangkat, jika mode "diam" diaktifkan (SendSms = 0), perangkat akan berkedip LED biru dengan cepat selama 2 detik. Memperbaiki bug yang menyebabkan nomor tidak selalu dihapus dari memori dengan perintah DeletePhone. Menempati: SRAM 48%, Memori Flash 78%.
GSM_2016_12_11-09-12.hex- Menambahkan perintah konsol AddPhone dan DeletePhone, sintaksnya mirip dengan perintah SMS. Optimalisasi memori. Menempati: SRAM 43%, Memori Flash 79%.
GSM_2017_01_03-22-51.hex- Dukungan yang diterapkan untuk ekspander port I / O serupa pada chip PCF8574, untuk menghubungkan 8 sensor tambahan, termasuk sakelar buluh. Pencarian alamat otomatis dan konfigurasi modul otomatis. Nama standar sensor dan tingkat logis pemicunya diubah menggunakan perintah EditSensor. Mengubah isi sms alarm untuk sensor utama (pin D0) “Alarm! Sensor utama!" dan sensor gerak (pin A0) “Alarm! Sensor PIR!". Menambahkan perintah EditSensor dan I2CScan. Ditempati: SRAM 66%, Memori Flash 92%.
GSM_2017_01_15-23-26.hex- Dukungan untuk modem A6_Mini. Kontrol catu daya eksternal (pin D7). Menambahkan perintah SMS WatchPowerOn, WatchPowerOff. Menambahkan perintah konsol ListConfig, ListSensor. Sekarang perintah sms EditSensor berfungsi dengan benar. Output debug ke monitor port telah sedikit "dipotong". Menempati: SRAM 66%, Memori Flash 95%.
GSM_2017_01_16-23-54.hex- Sekarang dalam pesan respons ke perintah SMS "Info" status sensor gerak juga dilaporkan. Memperbaiki bug yang terkadang mengirim pesan balasan SMS kosong. Sekarang perangkat memberi tahu tidak hanya tentang pemutusan, tetapi juga tentang dimulainya kembali catu daya eksternal. Semua modem mulai "mengurangi obrolan", sekarang monitor port sedikit lebih bersih. Menempati: SRAM 66%, Memori Flash 95%.
GSM_2017_02_04-20-23.hex- Memperbaiki bug "Tonton daya hidup". Sekarang, setelah melucuti senjata, "pin alarm" dimatikan. Sekarang, setelah menghapus nomor, informasi yang benar ditampilkan di konsol. Mungkin memperbaiki bug karena terkadang pesan balasan SMS kosong dikirim. Menempati: 66% SRAM, 90% Flash Memory.
GSM_2017_02_14-00-03.hex- Sekarang pesan SMS dikirim secara default, parameter SendSms sama dengan 1. Sekarang, ketika kontak sakelar buluh utama ditutup (pintu tertutup), perangkat berkedip LED biru selama 2 detik, menandakan operasi normal dari sensor. Menempati: 66% SRAM, 90% Flash Memory.
GSM_2017_03_01-23-37.hex- Perintah WatchPowerOn dihapus. Menambahkan perintah konsol WatchPowerOff, identik dengan perintah SMS. Menambahkan perintah WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 - pemantauan daya eksternal diaktifkan jika alarm dipersenjatai, WatchPowerOn2 - pemantauan daya eksternal selalu diaktifkan. Fungsi mempersenjatai dan melucuti senjata oleh perangkat eksternal telah diterapkan, untuk ini digunakan pin A1 (D15) dan A2 (D16). Alarm akan mengaktifkan / menonaktifkan ketika level tinggi + 5V muncul pada pin A1 (D15) atau level rendah GND pada pin A2 (D16). Pin A1 (D15) ditarik ke GND, pin A2 (D16) ditarik ke + 5V melalui resistor 20 (10) kΩ. Menambahkan perintah GuardButtonOn dan GuardButtonOff. Sekarang, setelah mempersenjatai, LED merah berkedip hingga integritas sirkuit sensor buluh utama diperiksa. Jika rangkaian utuh, LED merah menyala. Menempati: SRAM 66%, Memori Flash 95%.
GSM_2017_03_12-20-04.hex- Sekarang konsol lebih bersih, tetapi jika mode uji "TestOn" diaktifkan, informasi tambahan ditampilkan di konsol. Memperbaiki bug "Terkirim!", Sekarang pesan tentang pengiriman pesan ditampilkan dengan benar di konsol. Bug "panggilan palsu berulang" telah diperbaiki. Permintaan saldo sekarang seharusnya berfungsi dengan benar di semua modem. Ditempati: 67% SRAM, 95% Flash Memory.
GSM_2017_04_16-12-00.hex- Tetap. Sekarang tim Info dan Uang akan selalu mengirimkan SMS balasan. Perintah GuardButtonOn telah digantikan oleh perintah GuardButtonOn1 dan GuardButtonOn2. Ditempati: 67% SRAM, 99% Flash Memory.
GSM_2017_04_21-09-43.hex - tidak disarankan untuk digunakan, hanya sebagai pengujian, terima kasih atas kesalahan yang teridentifikasi :) - Sekarang parameter sendsms tidak memengaruhi pengiriman pesan SMS untuk memantau jaringan listrik. Menambahkan perintah SMS DelayBeforeGuard, yang bertanggung jawab atas penundaan saat mempersenjatai, nilainya tidak boleh melebihi 255 detik. Menambahkan perintah SMS DelayBeforeAlarm, yang bertanggung jawab atas keterlambatan pengiriman notifikasi dan mengaktifkan "pin alarm" saat sensor dipicu, nilainya tidak boleh melebihi 255 detik. Perintah ClearSMS yang dihapus, sekarang pesan dihapus secara otomatis setelah diterima. Ditempati: 68% SRAM, 100% Memori Flash.
GSM_2017_04_22-20-42.hex- Memperbaiki beberapa bug. Perintah ClearSMS kembali hadir di firmware. Optimalisasi memori. Menempati: SRAM 68%, Memori Flash 98%.
GSM_2017_04_23-17-50.hex- Sekarang permintaan saldo harus berfungsi dengan benar di semua modem. Mempersenjatai dan melucuti senjata oleh perangkat eksternal sekarang berfungsi dengan benar. Perintah info Pesan tanggapan SMS wajib diisi. Optimalisasi memori. Menempati: SRAM 68%, Memori Flash 98%.
GSM_2017_04_24-13-22.hex- Sekarang transmisi perintah konsol ke modul GSM dilakukan hanya jika mode uji diaktifkan. Sekarang tidak ada pembagian menjadi perintah SMS dan perintah konsol, semua perintah yang ada dapat dikirim baik melalui SMS maupun melalui konsol. Mungkin bug dengan perintah Info telah diperbaiki. Optimalisasi memori. Menempati: SRAM 68%, Memori Flash 94%.
GSM_2017_04_25-20-54.hex- Memperbaiki bug di mana perintah ListConfig mengubah nilai acara terakhir. Sekarang, saat memasukkan perintah melalui kosol, pesan SMS yang tidak perlu tidak terkirim. Mungkin bug dengan perintah Info telah diperbaiki. Optimalisasi memori. Ditempati: SRAM 66%, Memori Flash 94%.
GSM_2017_04_30-12-57.hex- Mengaktifkan sementara output informasi tambahan ke konsol saat mengirim pesan SMS dan membentuk respons terhadap perintah Info. Mungkin bug dengan perintah Info telah diperbaiki. Optimalisasi memori. Ditempati: SRAM 66%, Memori Flash 92%.
GSM_2017_05_06-11-52.hex- Diperbaiki dengan fungsi DelayBeforeAlarm. Ditempati: SRAM 66%, Memori Flash 93%.
GSM_2017_05_23-21-27.hex- Sedikit mengubah output informasi ke konsol. Menambahkan dukungan untuk modul ekspansi port pada PCF8574A dengan alamat dari 0x38 hingga 0x3f inklusif. Memperbaiki bug c. Sekarang perangkat di-boot ulang secara otomatis setelah perintah FullReset, ResetConfig, ResetPhone dan jika perintah MemTest berhasil dijalankan. Menambahkan perintah WatchPowerTime. Sekarang dimungkinkan untuk mengatur waktu setelah itu pesan SMS akan dikirim tentang pemutusan sumber daya eksternal. Ditempati: SRAM 67%, Memori Flash 94%.
GSM_2017_05_26-20-22.hex- Inisialisasi memori sensor papan ekspansi tetap. Sintaks perintah AddPhone telah diubah. Menambahkan perintah EditMainPhone. Prinsip pengoperasian sistem notifikasi telah diubah, ketika sensor dipicu, pesan sms akan dikirim terlebih dahulu, setelah itu panggilan suara akan dilakukan. Pesan sms yang mengkhawatirkan akan dikirim ke nomor telepon dengan tanda "S" (SMS). Panggilan suara akan dilakukan ke nomor dengan tanda "R" (Dering). Pesan tentang mematikan / menyalakan catu daya eksternal akan dikirim ke nomor telepon dengan tanda "P" (Daya). Menambahkan perintah RingTime. Sekarang dimungkinkan untuk mengatur durasi panggilan suara alarm, parameternya dapat memiliki nilai dari 10 hingga 255 detik. Sekarang perintah RingOn / RingOff secara global mengaktifkan / menonaktifkan notifikasi panggilan suara. Menambahkan perintah ResetSensor. Ditempati: 68% SRAM, 99% Flash Memory.
GSM_2017_06_02-17-43.hex- Menambahkan parameter "I" (Info) ke perintah AddPhone dan EditMainPhone, yang bertanggung jawab atas pemberitahuan sms tentang mempersenjatai atau melucuti perangkat. Sekarang, setelah menambahkan nomor utama, perangkat secara otomatis reboot. Sekarang Anda dapat menambahkan nomor yang sama ke memori perangkat. Saat menambahkan nomor duplikat kedua dan selanjutnya, atribut "M", "S", "P" dan "I" akan dihapus secara otomatis darinya. Nomor-nomor ini akan digunakan untuk panggilan suara berulang saat sensor dipicu. Memperbaiki bug dengan output kurva ke konsol setelah menjalankan perintah AddPhone, sekarang informasi tidak ditampilkan secara otomatis setelah menambahkan nomor. Menambahkan perintah Reboot. Ditempati: 69% SRAM, 99% Flash Memory.
GSM_2017_06_11-00-07.hex- Sekarang lagi, ketika kontak sakelar buluh utama ditutup (pintu ditutup), perangkat berkedip dengan LED biru selama 2 detik, menandakan operasi normal sensor, sementara perangkat tidak dipersenjatai atau dilucuti. Perintah RingOn / RingOff dihapus. Sekarang perangkat dapat dilucuti selama panggilan alarm, sekarang dilakukan di latar belakang. Ditempati: 69% SRAM, 99% Flash Memory.
GSM_2017_07_04-21-52.hex- Sekarang perintah Jeda tidak mengirim SMS balasan. Menghapus perintah TestOn dan TestOff. Bendera Manajemen telah dihapus dari semua nomor. Ditempati: 68% SRAM, 96% Memori Flash.
GSM_2017_07_24-12-02.hex- Menambahkan perintah ReedSwitchOn / ReedSwitchOff untuk memantau sensor buluh utama, sekarang dapat diaktifkan / dinonaktifkan dengan cara yang sama seperti sensor gerak. Memperbaiki bug dari perintah Info. Perintah TestOn dan TestOff hadir lagi di firmware. Ditempati: 68% SRAM, 96% Memori Flash.
GSM_2017_07_26-10-03.hex- Menambahkan perintah ModemID. Deteksi otomatis modem dilakukan hanya jika nilai parameter ini adalah 0. Setelah mengatur nilai parameter ke 0, perangkat secara otomatis di-boot ulang. Menempati: SRAM 68%, Memori Flash 98%.
GSM_2017_08_03-22-03.hex- Sekarang alarm dapat mengontrol perangkat eksternal. Output analog A3 (D17 - digunakan sebagai digital) digunakan untuk kontrol. Level logika output (+ 5V atau GND) dapat diubah, setelah mengubah level melalui perintah pengaturan, perangkat akan secara otomatis reboot. Durasi sinyal kontrol perangkat eksternal dapat diubah. Menambahkan perintah ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Beberapa perubahan dalam logika perintah kontrol. Optimalisasi memori. Ditempati: 68% SRAM, 99% Flash Memory.
GSM_2017_08_10-12-17.hex- Perintah yang dihapus SmsOn / SmsOff, ReedSwitchOn / ReedSwitchOff, PIROn / PIROff dan segala sesuatu yang terkait dengannya. Perintah DelayBeforeAlarm diganti dengan perintah yang diperluas. Output perintah info berubah. Mengoptimalkan output dari perintah ListConfig ke konsol. Sekarang setiap sensor digital dengan tingkat respons tinggi atau rendah, termasuk sakelar buluh, dapat dihubungkan ke pin D6 dan A0. Pin D6 dan A0 harus dihubungkan ke ground (GND) melalui resistansi 10 (20) kOhm. Jika sensor dikonfigurasikan untuk level pemicu rendah (diaktifkan dalam mode sakelar buluh), maka kontinuitas sirkuit diperiksa. Level logika pemicuan pada input D6 dan A0 (+ 5V atau GND) dapat diubah, setelah mengubah level logika perangkat akan di-boot ulang secara otomatis. Untuk masing-masing sensor (utama, kedua, kartu ekspansi PCF), saat dipicu, waktunya dapat diatur sendiri, setelah itu pemberitahuan akan dibuat (SMS dan / atau panggilan suara). "Sensor PIR" berganti nama menjadi "Sensor kedua". Pengoperasian papan ekspansi telah diperbaiki, kesalahan yang menyebabkan perangkat selalu diberitahu tentang pemicu sensor, terlepas dari apakah perangkat dipersenjatai atau tidak. Sekarang Anda dapat memilih mode operasi di mana perangkat dapat memantau sensor papan ekspansi baik dalam mode bersenjata (GuardOn) dan dalam mode dinonaktifkan (GuardOff). Menambahkan perintah PCFForceOn / PCFForceOff, MainSensorLevelHigh / MainSensorLevelLow / MainSensorLevelOff, SecondSensorLevelHigh / SecondSensorLevelLow / SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeFAforeAlay, PC Ditempati: 68% SRAM, 99% Flash Memory.

* Versi firmware berikutnya mencakup perubahan dari versi sebelumnya.


Port Arduino Nano v3 yang digunakan

D4- Output pin "alarm", ketika sensor dipicu, sinyal tingkat tinggi diatur pada pin ini
D5- output terbalik dari pin "alarm", ketika sensor dipicu, sinyal level rendah diatur pada pin ini

D6- saklar buluh. Mulai dari versi GSM_2017_08_10-12-17.hex, semua sensor digital dengan tingkat pemicu tinggi atau rendah, termasuk sakelar buluh, dapat dihubungkan ke pin D6. Pin D6 harus ditarik ke ground (GND) melalui resistor 10 (20) kΩ.
D7- terhubung ke pembagi tegangan dari catu daya eksternal + 5V. Lengan atas 2,2 kOhm, lengan bawah 3,3 kOhm.

Pembagi tegangan


D8- modem TX
D9-Modem RX

H10- LED merah
D11- LED biru
D12- LED hijau

Koneksi periferal:
A0- Sensor gerak . Mulai dari versi GSM_2017_08_10-12-17.hex, semua sensor digital dengan tingkat respons tinggi atau rendah, termasuk sakelar buluh, dapat dihubungkan ke pin A0. Pin A0 harus ditarik ke ground (GND) melalui resistor 10 (20) kΩ.

A1- Masukan untuk kontrol eksternal. Alarm akan mempersenjatai / melucuti sistem ketika level tinggi + 5V muncul di input.
A2- Input terbalik untuk kontrol eksternal. Alarm akan mempersenjatai / melumpuhkan sistem ketika GND level rendah muncul di input.

A3- Output yang dapat dikonfigurasi (+ 5V atau GND) untuk mengontrol perangkat eksternal. Ketika perintah kontrol diterima, nilai pada output ini berubah tergantung yang mana yang ditetapkan untuk jangka waktu tertentu.

A4- SDA I2C
A5- SLC I2C
, untuk menghubungkan 8 sensor tambahan.


Kontrol perintah untuk hex - firmware

Perhatian! Perintah khusus dalam huruf tebal hanya dapat dilakukan dari nomor utama, karena mereka bertanggung jawab atas konfigurasi perangkat. Perintah lainnya dapat dieksekusi dari angka dengan tanda "Manajemen".

SMS - perintah kontrol tidak peka huruf besar-kecil:
Tambahkan Telepon- Tambahkan nomor telepon. Secara total, tidak lebih dari 9 nomor + 1 nomor utama yang dapat ditambahkan, yang secara otomatis disimpan dalam memori saat Anda pertama kali memanggil perangkat setelah mengatur ulang ke pengaturan pabrik menggunakan perintah Setel Ulang Telepon atau Setel Ulang Penuh... Itu. Siapa pun yang pertama kali memanggil perangkat setelah mengatur ulang ke pengaturan pabrik adalah yang "utama", nomor ini dimasukkan ke dalam sel memori pertama dan tidak dapat diubah atau dihapus melalui SMS. Tidak mungkin untuk menambahkan dua angka yang identik.
Contoh perintah:



Sintaks perintah:

Tambahkan Telepon- memerintah
: - pembatas
5 - tulis ke lokasi memori kelima
+71234567890 - nomor telepon
Sebelum versi GSM_2017_05_26-20-22.hex:
a - Parameter "Alarm" - SMS akan dikirim ke nomor dengan parameter ini - pesan tentang aktivasi alarm dan pesan tentang mempersenjatai atau melucuti senjata.
Dari versi GSM_2017_05_26-20-22.hex:
m - Parameter "Manajemen" - manajemen alarm diaktifkan
s - Parameter "SMS" - pesan sms akan dikirim saat sensor dipicu
r - Parameter "Ring" - panggilan suara akan dilakukan saat sensor dipicu
p - Parameter "Daya" - pesan sms akan dikirim ketika daya eksternal dihidupkan / dimatikan
i - Parameter "Info" - pesan sms akan dikirim saat mempersenjatai atau melucuti senjata
Dengan tidak adanya parameter "m", "s", "r", "p", "i", telepon disimpan dalam memori, tetapi tidak digunakan dengan cara apa pun.


HapusTelepon- Hapus nomor telepon.
Contoh perintah:

Sintaks perintah:

Hapus Telepon - perintah
: - pembatas
+71234567891 - nomor telepon


SuntingTelepon Utama- Ubah parameter "s", "r", "p", "i" dari telepon utama, nomor ini dimasukkan ke dalam sel memori pertama.
Contoh perintah:

Sintaks perintah:

EditMainPhone - perintah
: - pembatas
srpi - parameter


SaldoNum- Mengubah nomor permintaan saldo dan memproses panjang respons permintaan. Nilai default untuk Beeline: #100 # L22.
Contoh perintah:

Sintaks perintah:

BalanceNum - perintah
: - pembatas
# 103 # - nomor permintaan saldo
L24 - Panjang (len) dari respons yang dikirim adalah 24 karakter, kami memotong spam dari permintaan saldo.


SuntingSensor- Ubah nama sensor dan level logika operasi. Tidak boleh ada lebih dari 8 sensor tambahan secara total. Setelah mengubah parameter, reboot perangkat diperlukan.
Contoh perintah:
SuntingSensor: 1 + Datchik dvizheniya v koridore # h

Sintaks perintah:

EditSensor - perintah
: - pembatas
1 - tulis ke lokasi memori pertama
+ - pemisah
Datchik dvizheniya v koridore - nama sensor, tidak boleh melebihi 36 karakter, termasuk spasi.
#h - Tanda level logika tinggi dari sensor, setelah menerima alarm yang akan dipicu. Jika tidak ada "#h", alarm akan terpicu saat level logika rendah diterima dari sensor.


Waktu tidur- Waktu "tertidur" alarm saat menerima SMS - perintah "Jeda", ditunjukkan dalam menit. Nilai default: 15, tidak boleh kurang dari 1 dan lebih dari 60.
Contoh perintah:

Sintaks perintah:

Waktu Tidur - perintah
: - pembatas
20 - 20 menit "tidur".


AlarmPinWaktu- Waktu di mana alarm / pin terbalik dihidupkan / dimatikan, ditunjukkan dalam detik. Nilai default: 60, tidak boleh kurang dari 1 detik dan lebih dari 43200 detik (12 jam).
Contoh perintah:

Sintaks perintah:

Perintah AlarmPinTime
: - pembatas
30 - 30 detik on / off pin alarm.


PenundaanSebelumPenjaga- Waktu sebelum mempersenjatai perangkat setelah menerima perintah yang sesuai.
Contoh perintah:

Sintaks perintah:

DelayBeforeGuard - Tim
: - pembatas
25 - 25 detik sebelum mempersenjatai


PenundaanSebelumAlarm- Waktu setelah pemberitahuan SMS "mengkhawatirkan" akan dikirim jika alarm belum dimatikan selama periode waktu ini. Diganti dengan perintah yang diperluas mulai dari versi GSM_2017_08_10-12-17.hex
Contoh perintah:

Sintaks perintah:

DelayBeforeAlarm - perintah
: - pembatas
40 - 40 detik sebelum mengirim pemberitahuan "alarm"


TontonPowerTime- Waktu dalam hitungan menit setelah itu pesan SMS akan dikirim tentang pemutusan sumber daya eksternal. Jika daya eksternal dipulihkan sebelum waktu yang ditentukan berlalu, pesan tidak akan terkirim.
Contoh perintah:

Sintaks perintah:

TontonPowerTime - Tim
: - pembatas
5 - 5 menit sebelum mengirim pesan SMS


Waktu Dering- Durasi panggilan suara alarm, parameter dapat memiliki nilai dari 10 hingga 255 detik.
Contoh perintah:

Sintaks perintah:

Waktu Dering - perintah
: - pembatas
Durasi panggilan 40 - 40 akan menjadi 40 detik, setelah itu pelanggan berikutnya akan dipanggil.


ID modem- Pemasangan paksa model modem yang digunakan. Nilai yang memungkinkan: 0 - deteksi otomatis modem, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Contoh perintah:

Sintaks perintah:

ModemID - perintah
: - pembatas
2 - nomor modem.


Waktu Perangkat Ekst- Jumlah detik di mana level sinyal pada output kontrol perangkat eksternal akan berubah.
Contoh perintah:

Sintaks perintah:

ExtDeviceTime- perintah
: - pembatas
5 - 5 detik


TingkatPerangkat EkstRendah- Perangkat eksternal yang terhubung ke output A3 digerakkan oleh level sinyal rendah (GND). Secara default, output akan ditampilkan pada level tinggi + 5V hingga perintah untuk mengontrol perangkat eksternal diterima.
ExtDeviceLevelTinggi- Perangkat eksternal yang terhubung ke output A3 dikendalikan oleh level sinyal tinggi (+ 5V). Outputnya akan menjadi GND rendah secara default hingga perintah kontrol perangkat eksternal diterima.

Atur Ulang Sensor- mengatur ulang parameter sensor port expander

Atur Ulang Konfigurasi- reset pabrik

Setel Ulang Telepon- menghapus semua nomor telepon dari memori

Setel Ulang Penuh- mengatur ulang pengaturan, menghapus semua nomor telepon dari memori, mengembalikan nilai default dari perintah BalanceNum.

RingOn- aktifkan pemberitahuan dengan panggilan ke nomor "utama" yang direkam di sel memori pertama saat sensor dipicu. Dihapus sejak versi GSM_2017_06_11-00-07.hex
CincinMati- matikan notifikasi melalui panggilan saat sensor dipicu. Dihapus sejak versi GSM_2017_06_11-00-07.hex

SMS- aktifkan notifikasi sms saat sensor dipicu. Dihapus sejak versi GSM_2017_08_10-12-17.hex
SMSOff- matikan notifikasi sms saat sensor terpicu. Dihapus sejak versi GSM_2017_08_10-12-17.hex

PIRON- aktifkan pemrosesan sensor gerak
PIRoff- nonaktifkan pemrosesan sensor gerak

ReedSwitchOn- aktifkan pemrosesan sensor buluh utama
ReedMatikan- matikan pemrosesan sensor buluh utama

TontonPowerOn- mengaktifkan kontrol catu daya eksternal, pesan SMS tentang pemutusan catu daya eksternal akan dikirim, asalkan alarm dipersenjatai. Dihapus sejak versi GSM_2017_03_01-23-37.

TontonPowerOn1- mengaktifkan kontrol catu daya eksternal, pesan SMS tentang pemutusan catu daya eksternal akan dikirim, asalkan alarm dipersenjatai.
TontonPowerOn2- aktifkan kontrol catu daya eksternal, pesan SMS tentang pemutusan catu daya eksternal akan dikirim dalam hal apa pun

TontonPowerOff- nonaktifkan kontrol catu daya eksternal

GuardButtonOn- Kontrol alarm oleh perangkat eksternal atau dengan tombol diaktifkan. Dihapus sejak versi GSM_2017_04_16-12-00.
GuardButtonOn1- fungsi mempersenjatai atau melucuti senjata perlindungan oleh perangkat eksternal atau tombol dihidupkan
GuardButtonOn2- fungsi hanya produksi dipersenjatai oleh perangkat eksternal atau tombol diaktifkan, pelucutan senjata dilakukan dengan memanggil perangkat atau menggunakan perintah SMS.
PenjagaTombolMati- Kontrol alarm oleh perangkat eksternal atau dengan tombol dinonaktifkan

PCFForceOn- pemantauan terus menerus dari sekelompok semua sensor expander
PCFForceOff- memantau sekelompok semua sensor expander hanya ketika perangkat dipersenjatai

Sensor UtamaLevelTinggi- pemberitahuan alarm akan dikirim ketika sinyal level tinggi (+5 V) muncul di input (D6) dari sensor
Sensor UtamaLevelRendah- pemberitahuan alarm akan dikirim ketika sinyal level rendah (GND) muncul di input (D6) dari sensor
Sensor UtamaLevelOff- pemrosesan sensor input (D6) dinonaktifkan

KeduaSensorLevelTinggi- pemberitahuan alarm akan dikirim ketika sinyal level tinggi (+5 V) muncul di input (A0) dari sensor
Tingkat Sensor KeduaRendah- pemberitahuan alarm akan dikirim ketika sinyal tingkat rendah (GND) muncul di input (A0) dari sensor
KeduaSensorLevelOff- pemrosesan sensor pada input (A0) dinonaktifkan

Penundaan UtamaSebelumAlarm- waktu setelah pemberitahuan SMS "alarm" akan dikirim ketika sensor utama (D6) dipicu, jika alarm belum dimatikan selama periode waktu ini. Sintaksnya sama dengan perintah DelayBeforeAlarm.
Penundaan KeduaSebelumAlarm- waktu setelah pemberitahuan SMS "alarm" akan dikirim ketika sensor tambahan (A0) dipicu, jika alarm belum dimatikan selama periode ini. Sintaksnya sama dengan perintah DelayBeforeAlarm.
PCFDDelaySebelumAlarm- waktu setelah pemberitahuan SMS "alarm" akan dikirim ketika sensor papan ekspansi (PCF8574) dipicu, jika alarm belum dimatikan selama periode waktu ini. Sintaksnya sama dengan perintah DelayBeforeAlarm.

GuardOn - lengan
GuardOff - hapus perlindungan

Buka - perintah untuk mengontrol perangkat eksternal

Info - periksa status, sebagai tanggapan atas pesan ini, sms akan dikirim dengan informasi tentang nomor dari mana keamanan dihidupkan / dimatikan

Jeda - menjeda sistem untuk waktu yang ditentukan oleh perintah waktu tidur dalam hitungan menit, sistem tidak merespons pemicu sensor.

TestOn - mode uji diaktifkan, LED biru berkedip.
TestOff - mode uji dimatikan.

LedOff - mematikan LED siaga.
LedOn - menyalakan LED siaga.

Uang - permintaan saldo.

ClearSms - Hapus semua sms dari memori

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

AddPhone - mirip dengan perintah SMS AddPhone

DeletePhone - mirip dengan perintah SMS DeletePhone

EditSensor - mirip dengan perintah sms EditSensor

ListPhone - menampilkan daftar telepon yang disimpan dalam memori ke monitor port

ResetConfig - mirip dengan perintah sms ResetConfig

ResetPhone - mirip dengan perintah sms ResetPhone

FullReset - mirip dengan perintah sms FullReset

ClearSms - mirip dengan perintah sms ClearSms

WatchPowerOn1 - mirip dengan perintah sms WatchPowerOn1
WatchPowerOn2 - mirip dengan perintah sms WatchPowerOn2
WatchPowerOff - mirip dengan perintah sms WatchPowerOff

GuardButtonOn - mirip dengan perintah sms GuardButtonOn. Dihapus sejak versi GSM_2017_04_16-12-00
GuardButtonOn1 - mirip dengan perintah sms GuardButtonOn1
GuardButtonOn2 - mirip dengan perintah sms GuardButtonOn2
GuardButtonOff - mirip dengan perintah sms GuardButtonOff

Memtest - tes memori non-volatile perangkat, semua pengaturan perangkat akan diatur ulang, mirip dengan perintah FullReset.

I2CScan - mencari dan menginisialisasi perangkat yang didukung pada bus I2C.

ListConfig - menampilkan konfigurasi perangkat saat ini ke monitor port.

ListSensor - menampilkan konfigurasi sensor saat ini ke monitor port.

UPD. Saat menggunakan sensor gerak, untuk mengecualikan alarm palsu saat modem beroperasi, perlu di antara pin GND dan A0 Arduino memasang perlawanan, kami mengucapkan terima kasih kepada teman
AllowPhone = ("70001234501", "70001234502", "70001234503", "70001234504", "70001234505") - Nomor yang diizinkan untuk mengontrol keamanan.
AlarmPhone = ("70001234501", "70001234502") - Nomor untuk mengirim pemberitahuan SMS ketika sensor dipicu dan pemberitahuan tentang pelucutan senjata atau persenjataan. Nomor pertama dalam daftar akan dipanggil ketika sensor dipicu jika perintah RingOn dijalankan, secara default opsi ini diaktifkan. Hal ini dilakukan karena pesan sms mungkin datang dengan beberapa penundaan, tetapi panggilan harus segera dilakukan.

Jika panggilan datang dari nomor resmi atau pesan SMS dengan perintah GuardOn / GuardOff, maka tergantung pada status perlindungan saat ini, pesan SMS tentang mempersenjatai atau melucuti senjata akan dikirim ke nomor yang tercantum dalam larik AlarmPhone, dan SMS pesan juga akan dikirim ke nomor dari mana panggilan masuk.

Ketika sensor dipicu pesan sms dikirim ke semua nomor dari larik (daftar) AlarmPhone dan panggilan suara dilakukan ke nomor pertama dari larik ini.

Indikasi cahaya:
LED merah - bersenjata.
LED menyala hijau - dilucuti, diaktifkan / dinonaktifkan dengan perintah SMS LedOn / LedOff.
LED terus berkedip biru - ini menandakan bahwa semuanya beres dengan Arduino, papan tidak beku, digunakan secara eksklusif untuk debugging, dihidupkan / dimatikan dengan perintah sms TestOn / TestOff.
* Kode berisi fungsi LedTest(), berkedip dengan LED biru, dibuat hanya untuk memantau Arduino, berkedip berarti berfungsi, tidak berkedip - beku. Belum beku :)

Tidak berhubungan!

Menghubungkan 2 atau lebih sensor untuk firmware terbuka (hanya berlaku untuk firmware ini sketch_02_12_2016.ino)
Untuk menghubungkan sakelar buluh tambahan, kami menggunakan pin digital gratis D2, D3, D5 atau D7. Diagram koneksi dengan sensor tambahan pada D7.

Perubahan firmware yang diperlukan
... #define DoorPin 6 // Jumlah input yang terhubung ke sensor utama int8_t DoorState = 0; // Variabel untuk menyimpan status sensor utama int8_t DoorFlag = 1; // Variabel untuk menyimpan status sensor utama #define BackDoorPin 7 // Jumlah input yang terhubung ke sensor tambahan int8_t BackDoorState = 0; // Variabel untuk menyimpan status sensor tambahan int8_t BackDoorFlag = 1; // Variabel untuk menyimpan status sensor tambahan ...
void setup () (... pinMode (DoorPin, INPUT); pinMode (BackDoorPin, INPUT); ...
... void Detect() (// Baca nilai dari sensor DoorState = digitalRead (DoorPin); BackDoorState = digitalRead (BackDoorPin); // Memproses sensor utama jika (DoorState == LOW && DoorFlag == 0) (DoorFlag = 1; delay (100); if (LedOn == 1) digitalWrite (GLed, LOW); Alarm ();) if (DoorState == HIGH && DoorFlag == 1) (DoorFlag = 0; delay (100);) // Memproses sensor tambahan if (BackDoorState == LOW && BackDoorFlag == 0) (BackDoorFlag = 1; delay (100); if (LedOn == 1) digitalWrite (GLed, LOW); Alarm ();) if (BackDoorState = = TINGGI && BackDoorFlag == 1) (BackDoorFlag = 0; delay (100);)) ...

Dan sesuatu yang lain:
1. Lebih baik menggunakan dioda yang dirancang untuk arus 2 A, karena modul menginfeksi arus 1 A dan kita masih perlu memberi daya pada Arduino dan modem dengan sesuatu. Dalam hal ini, dioda 1N4007 digunakan, jika gagal, ganti dengan 2 A.
2. Saya menggunakan semua resistor untuk LED pada 20 kOhm, agar tidak menerangi seluruh koridor di malam hari.
3. Saya juga menggantung resistor 20 kOhm pada saklar buluh antara pin GND dan pin D6.

Itu saja untuk saat ini. Terimakasih atas perhatiannya! :)

Saya berencana untuk membeli +207 Tambahkan ke favorit Saya menyukai ulasannya +112 +243 Selama dekade terakhir, pencurian mobil telah menduduki salah satu tempat paling penting dalam struktur kejahatan yang dilakukan di dunia. Hal ini disebabkan tidak begitu banyak bobot spesifik kategori pencurian ini dalam kaitannya dengan jumlah total kejahatan, tetapi pentingnya kerusakan yang disebabkan karena tingginya biaya mobil. Lemahnya efektivitas langkah-langkah yang diambil di bidang pemberantasan pencurian kendaraan pada akhir tahun 90-an menyebabkan terciptanya kelompok-kelompok stabil yang mengkhususkan diri dalam melakukan kejahatan-kejahatan ini dan memiliki ciri khas kejahatan terorganisir; Anda mungkin pernah mendengar istilah "bisnis mobil hitam". Parkir mobil negara-negara Eropa setiap tahun hilang 2% dari mobil yang menjadi subjek perambahan kriminal. Oleh karena itu, saya mendapat ide untuk membuat alarm gsm untuk mobil saya berbasis Arduino Uno.

Mari kita mulai!

Apa yang akan kami kumpulkan?

Kita harus memilih jantung dari sistem kita. Menurut pendapat saya, tidak ada yang lebih baik untuk pensinyalan seperti itu selain Arduino Uno. Kriteria utama adalah jumlah pin dan harga yang cukup.


Fitur utama Arduino Uno

Mikrokontroler - ATmega328
Tegangan kerja - 5 V
Tegangan input (disarankan) - 7-12 V
Tegangan input (batas) - 6-20 V
Input / Output Digital - 14 (6 di antaranya dapat digunakan sebagai output PWM)
Input Analog - 6
Arus DC melalui input / output - 40 mA
Arus DC untuk pin 3,3 V - 50 mA
Memori Flash - 32KB (ATmega328) di mana 0,5KB digunakan untuk bootloader
RAM - 2 KB (ATmega328)
EEPROM - 1 KB (ATmega328)
Frekuensi jam - 16 MHz


cocok!

Sekarang Anda perlu memilih modul gsm, karena sistem alarm kami harus dapat memberi tahu pemilik mobil. Jadi, Anda harus googling ... Di sini, sensor yang sangat baik - SIM800L, ukurannya luar biasa.


Saya pikir dan memesannya dari China. Namun, semuanya ternyata tidak begitu cerah. Sensor hanya menolak untuk mendaftarkan kartu SIM di jaringan. Segala sesuatu yang mungkin dicoba - hasilnya nol.
Ada orang baik yang memberi saya hal yang lebih keren - Sim900 Shield. Ini sudah menjadi hal yang serius. Shield memiliki mikrofon dan jack headphone, telepon lengkap.


Fitur utama Perisai Sim900

4 standar frekuensi kerja 850/900/1800/1900 MHz
GPRS multi-slot kelas 10/8
GPRS mobile station kelas B
Sesuai dengan GSM fase 2/2 +
Kelas 4 (2 W @ 850/900 MHz)
Kelas 1 (1 W @ 1800 / 1900MHz)
Dikendalikan oleh perintah AT (GSM 07.07, 07.05 dan SIMCOM diperpanjang perintah AT)
Konsumsi daya rendah: 1.5mA (mode tidur)
Kisaran suhu pengoperasian: -40 ° C hingga +85 ° C


cocok!

Oke, tapi Anda harus mengambil bacaan dari beberapa sensor untuk memberi tahu pemiliknya. Tiba-tiba mobil dievakuasi, maka posisi mobil jelas akan berubah di luar angkasa. Mari kita ambil akselerometer dan giroskop. Bagus. Dachshund, sekarang kami sedang mencari sensor.

Saya pikir GY-521 MPU6050 pasti cocok. Ternyata itu juga memiliki sensor suhu. Perlu untuk menggunakannya, akan ada "fitur pembunuh" seperti itu. Misalkan pemilik mobil meletakkannya di bawah rumah dan pergi. Suhu di dalam mobil akan berubah "lancar". Apa yang terjadi jika penyerang mencoba membobol mobil? Misalnya, dia akan bisa membuka pintu. Suhu di dalam mobil akan mulai berubah dengan cepat, karena udara di kompartemen penumpang mulai bercampur dengan udara sekitar. Saya pikir itu akan berhasil.


Fitur utama GY-521 MPU6050

Modul giroskop 3-sumbu + akselerometer 3-sumbu GY-521 pada chip MPU-6050. Memungkinkan Anda untuk menentukan posisi dan pergerakan suatu objek di ruang angkasa, kecepatan sudut selama rotasi. Ini juga memiliki sensor suhu bawaan. Ini digunakan dalam berbagai model helikopter dan pesawat terbang, juga dimungkinkan untuk merakit sistem penangkapan gerak berdasarkan sensor ini.

Sirkuit mikro - MPU-6050
Tegangan suplai - dari 3,5V hingga 6V (DC);
Rentang giroskop - ± 250 500 1000 2000 ° / s
Rentang Akselerometer - ± 2 ± 4 ± 8 ± 16g
Antarmuka komunikasi - I2C
Ukuran - 15x20 mm.
Berat - 5 g


cocok!

Sensor getaran juga berguna. Tiba-tiba, mereka akan mencoba membuka mobil dengan "brute force", atau, di tempat parkir, mobil lain akan menyentuh mobil Anda. Ambil sensor getaran SW-420 (dapat disesuaikan).


Fitur utama SW-420

Tegangan suplai - 3,3 - 5V
Sinyal keluaran - digital Tinggi / Rendah (biasanya tertutup)
Sensor bekas - SW-420
Komparator yang digunakan - LM393
Dimensi - 32x14mm
Selain itu - Ada resistor pengatur.


cocok!

Pasang modul kartu memori SD. Kami juga akan menulis file log.


Karakteristik utama dari modul kartu memori SD

Modul ini memungkinkan Anda untuk menyimpan, membaca, dan menulis ke kartu SD data yang diperlukan untuk pengoperasian perangkat berdasarkan mikrokontroler. Penggunaan perangkat relevan saat menyimpan file dari puluhan megabyte hingga dua gigabyte. Papan berisi wadah kartu SD, penstabil daya kartu, konektor untuk antarmuka dan saluran listrik. Jika Anda perlu bekerja dengan suara, video, atau data volumetrik lainnya, misalnya, menyimpan log peristiwa, data sensor, atau menyimpan informasi dari server web, maka modul kartu memori SD untuk Arduino akan memungkinkan penggunaan kartu SD untuk tujuan ini. Dengan menggunakan modul, Anda dapat mempelajari fitur kartu SD.
Tegangan suplai - 5 atau 3,3 V
Kapasitas memori kartu SD - hingga 2 GB
Dimensi - 46 x 30mm


cocok!

Dan mari kita tambahkan servo, ketika sensor dipicu, servo dengan DVR akan berputar dan merekam video kejadian tersebut. Ambil servo MG996R.


Fitur utama servo MG996R

Perlindungan yang stabil dan andal terhadap kerusakan
- Penggerak logam
- Bantalan bola baris ganda
- Panjang kawat 300 mm
- Dimensi 40x19x43mm
- Massa 55 gr
- Sudut rotasi: 120 derajat.
- Kecepatan kerja: 0.17sec / 60 derajat (4.8V tanpa beban)
- Kecepatan kerja: 0.13sec / 60 derajat (6V tanpa beban)
- Torsi awal: 9.4kg / cm @ 4.8V
- Torsi awal: 11kg / cm pada catu daya 6V
- Tegangan kerja: 4.8 - 7.2V
- Semua bagian penggerak terbuat dari logam


cocok!

Kami mengumpulkan

Ada banyak artikel tentang menghubungkan setiap sensor di Google. Dan saya tidak punya keinginan untuk membuat sepeda baru, jadi saya akan meninggalkan tautan ke opsi yang sederhana dan berfungsi.