Daftar Isi:

Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada: 9 Langkah (Dengan Gambar)
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada: 9 Langkah (Dengan Gambar)

Video: Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada: 9 Langkah (Dengan Gambar)

Video: Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada: 9 Langkah (Dengan Gambar)
Video: Membuat Sistem Keamanan Menggunakan Laser - Laser Security System | Arduino project 2024, Juli
Anonim
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada
Sistem Alarm Nirkabel Arduino Menggunakan Sensor yang Ada

Proyek ini dapat dibangun dalam waktu sekitar setengah jam dengan biaya sekitar $20,00 jika Anda memiliki sensor alarm nirkabel 433Mhz atau 315Mhz.

Ini juga dapat menjadi proyek baru yang lengkap dengan sensor alarm nirkabel, seperti detektor gerakan inframerah dan sakelar buluh, tersedia secara online dengan mudah dan murah. Cari saja sensor 433Mhz atau 315Mhz yang menggunakan coding PT2262 atau EV1527.

Saya yakin ada banyak orang seperti saya yang telah membeli sistem alarm GSM/2G dengan sensor nirkabel dan senang dengan itu, namun ketika jaringan 2G/GSM dimatikan di tempat saya tinggal, saya ditinggalkan dengan sistem alarm yang saya bisa. tidak lagi memprogram atau bahkan mengatur waktu. Suatu hari ketika bertanya-tanya apa yang bisa saya lakukan untuk membuat alarm saya berfungsi kembali, saya terpikir untuk memeriksa apakah Arduino dapat menerima sinyal dari sensor. Saya menemukan https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/ yang dapat diinstruksikan dan setelah beberapa percobaan menentukan bahwa saya dapat menerima sinyal dari sensor yang ada. Saya memulai proses untuk membangun sistem alarm yang dapat menggantikan alarm saya yang ada dan juga akan memberikan peningkatan fungsionalitas. Salah satu masalah dengan alarm lama tidak pernah benar-benar tahu persis mana dari 25 sensor yang mati, dengan menambahkan layar LCD ke alarm baru saya, sekarang saya mendapatkan teks pada LCD yang menunjukkan dengan tepat sensor mana yang diaktifkan. Alarm baru masih dapat dipersenjatai secara manual oleh keyfobs nirkabel saya yang ada dan memiliki jam waktu nyata untuk memungkinkannya secara otomatis mempersenjatai dan melucuti senjata pada waktu yang dapat ditentukan dalam sehari.

Perlengkapan

Lihat catatan tambahan di akhir untuk memastikan Anda menggunakan versi yang benar dari bagian-bagian ini.

Arduino Uno atau sejenisnya

Modul penerima 433 atau 315 MHz untuk Arduino

DS3231 modul Jam Waktu Nyata untuk Arduino

Modul I2C 16x2 LDC untuk Arduino

Sakelar buluh Alarm Nirkabel, sensor gerak, dan fob tombol jarak jauh sesuai keinginan

Buzzer piezo

LED & resistor 220 ohm

Papan tempat memotong roti (opsional tetapi disarankan)

Catu daya yang cocok untuk Arduino

Kabel jumper dll

PC dengan Arduino IDE terpasang

Pengetahuan dasar tentang Arduino

Langkah 1: Persediaan

Perlengkapan
Perlengkapan
Perlengkapan
Perlengkapan
Perlengkapan
Perlengkapan

Beberapa gambar di atas dari persediaan yang Anda perlukan untuk proyek ini

Langkah 2: Hubungkan Ardunio dan Modul Seperti yang Ditunjukkan pada Gambar

Hubungkan Ardunio dan Modul Seperti yang Ditunjukkan pada Gambar
Hubungkan Ardunio dan Modul Seperti yang Ditunjukkan pada Gambar

Piezo antara pin 5 Arduino dan bumi

LED antara pin 8 Arduino dan resistor 220ohm kemudian ke bumi

Penerima 433 atau 315 Mhz, VCC ke 5V, GND ke ground dan salah satu dari 2 pin data ke pin2 Arduino

Modul LCD I2C 16X2 VCC ke 5V, GND ke ground, SCL pin SDA ke SCL SDA Arduino (pin A5 adalah SCL, pin A4 adalah SDA)

Modul RTC DS3231 VCC ke 5V, GND ke ground, pin SCL SDA ke SCL SDA Arduino (ada set ke-2 yang terletak di atas pin GND dan AREF dari sebagian besar Arduino)

Saya tahu beberapa dari Anda tidak memerlukan info lagi selain ini dan sketsa terlampir di bawah ini, tetapi saya akan membahas lebih detail untuk siapa saja yang ingin sedikit bantuan lebih lanjut.

Langkah 3: Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE

Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE
Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE
Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE
Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE
Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE
Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE

Sketsa Arduino untuk menjalankan alarm menggunakan beberapa perpustakaan yang belum diinstal pada Arduino IDE secara default.

Untuk menambahkan perpustakaan RCSwitch ke Arduino IDE. Buka Arduino IDE di menu atas pilih "Sketsa" lalu dari drop down pilih "Include library" dan dari drop down berikutnya pilih "Manage libraries". Kemudian pada kotak "Filter your search" ketik "RCSW", selanjutnya klik install untuk "rc-switch by sui77"

Petunjuk terperinci tentang menambahkan perpustakaan di

Sementara kita melakukannya, kita juga perlu menambahkan perpustakaan yang disebut Time, TimeAlarms, DS1307RTC dan LiquidCrystal_I2C, prosedur yang sama seperti di atas tetapi mencari nama setiap perpustakaan baru dan menginstal. Lihat tangkapan layar di atas jika tidak yakin perpustakaan mana yang akan digunakan.

Jam real-time DS3231 kompatibel dengan dan menggunakan perpustakaan DS1307RTC.

Langkah 4: Selanjutnya Kita Perlu Mendapatkan Kode untuk Sensor Anda

Selanjutnya Kami Perlu Mendapatkan Kode untuk Sensor Anda
Selanjutnya Kami Perlu Mendapatkan Kode untuk Sensor Anda
Selanjutnya Kami Perlu Mendapatkan Kode untuk Sensor Anda
Selanjutnya Kami Perlu Mendapatkan Kode untuk Sensor Anda

Saya telah menyediakan template kode Arduino di bawah ini tetapi Anda harus menemukan nilai untuk setiap sensor Anda dan menempelkannya ke dalam kode.

Ada banyak informasi tentang cara mendapatkan kode-kode ini di kedua situs ini;

www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-with-Arduino-/

github.com/sui77/rc-switch/wiki

Namun di sini adalah versi singkat saya;

Untuk mendapatkan kode yang dikirim oleh sensor dan key fob jarak jauh Anda, pasang Arduino seperti yang dirakit pada langkah 1 ke PC melalui kabel USB dan buka Arduino IDE. Kemudian di Arduino IDE buka drop down "File", lalu masuk ke "Contoh" gulir ke bawah daftar contoh sketsa hingga Anda menemukan "RCSWITCH" lalu pilih sketsa "ReceiveDemo_Advanced" dan unggah ke Arduino. Setelah sketsa berhasil diunggah, buka monitor serial Arduino IDE dengan masih terpasang ke PC Anda melalui USB. Sekarang picu sensor pertama yang ingin Anda dapatkan kodenya, output dari RCSwitch akan muncul di jendela serial monitor. Untuk proyek ini kami mencari kode desimal seperti yang disorot pada tangkapan layar 2. Anda perlu memicu sensor beberapa kali mencari nilai desimal yang paling sering muncul, terkadang akan ada nilai yang berbeda bercampur dengan nilai sebenarnya, ini disebabkan oleh gangguan dari gelombang radio acak atau perangkat lain yang beroperasi pada frekuensi yang sama.

Catat kode desimal dari sensor untuk digunakan pada langkah berikutnya. Ulangi untuk semua sensor dan keyfob jarak jauh yang ingin Anda gunakan dalam proyek, lacak kode mana yang sesuai dengan sensor mana. Jika menggunakan keyfobs untuk mempersenjatai dan melucuti alarm, Anda perlu mencatat kode yang berbeda untuk tombol lengan dan tombol melucuti setiap remote.

Langkah 5: Templat Kode Arduino

Di bawah ini adalah salinan kode Arduino saya sebagai file.ino bernama Wireless_Alarm. Anda dapat mengkliknya dan itu akan terbuka di Arduino IDE. Saya bukan seorang programmer kode saya dirakit sebagian dari contoh yang ditemukan di Arduino IDE, mungkin tidak terlalu elegan tetapi berfungsi dan telah dapat diandalkan dalam jangka waktu yang lama.

Ingatlah untuk menyimpan kembali sketsa setelah Anda membuat perubahan untuk memasukkan kode dari sensor Anda sendiri.

Langkah 6: Tempel Kode yang Anda Dapatkan di Langkah 5 Ke dalam Template Arduino Sketch

Sekarang langkah-langkah untuk menyesuaikan kode untuk sensor dan keyfob jarak jauh yang Anda gunakan.

Jika Anda membuka sketsa Wireless_Alarm di IDE Anda, Anda akan melihat pada baris 111.

if (mySwitch.getReceivedValue() == 115166236) //Kode tombol lengan fob

Dimana pada kode yang ada terbaca 115166236 Anda perlu mengganti angka tersebut dengan kode desimal untuk tombol lengan keyfob remote Anda yang Anda rekam pada Langkah 5.

Misalnya jika pada langkah 5 Anda mendapatkan desimal 1154321 Anda akan mengubah baris 111 menjadi sekarang membaca;

if (mySwitch.getReceivedValue() == 1154321) //kode tombol lengan Fob

Ikuti prosedur yang sama untuk baris 125.

if (mySwitch.getReceivedValue() == 115166234) //Fob kode tombol disarm

Ganti 115166234 untuk kode tombol remote keyfob disarm yang Anda rekam pada Langkah 5.

Jika Anda ingin menggunakan beberapa fob jarak jauh untuk mempersenjatai dan melucuti senjata, salin dan tempel baris 111 hingga 136 sebanyak yang diperlukan kemudian ubah nilai agar sesuai dengan keyfob jarak jauh Anda yang lain, tetapi sebaiknya mulai dengan satu remote sampai Anda yakin Anda telah dimodifikasi sketsa bekerja.

Sekarang untuk mengkodekan sensor alarm dalam sketsa di baris 140

if(ledState == HIGH && mySwitch.getReceivedValue() == 1151640) //Aksi untuk lemari kantor pengirim sinyal

Keluarkan 1151640 dan masukkan nilai desimal dari salah satu sensor alarm Anda.

Kemudian pada baris 158.

lcd.print(F("Lemari kantor")); // cetak pesan ke lcd untuk mengetahui sensor mana yang diaktifkan (dan pergi dan temukan pencurinya:)

Ubah lemari Office menjadi apa pun yang Anda inginkan untuk ditampilkan pada LCD untuk sensor itu. Misalnya jika Anda ingin membaca kitchendoor buat garis seperti ini;

lcd.print(F("Pintu Dapur")); // cetak pesan ke lcd untuk mengetahui sensor mana yang diaktifkan (dan pergi dan temukan pencurinya:)

Nama tidak boleh lebih dari 16 karakter.

Antara baris 165 dan 187 adalah template untuk menyalin dan menempelkan sebanyak yang diperlukan ke baris langsung di bawah 187. Ganti nomor setelah mySwitch.getReceivedValue() == dengan desimal dari salah satu sensor lain yang Anda rekam di langkah 5 dan ubah nama di dalam " " di lcd.print(F("sensornamehere")); dengan nama yang ingin Anda berikan sensor Anda.

Jika Anda tidak menggunakan keyfobs jarak jauh untuk mempersenjatai dan melucuti alarm Anda, Anda dapat mengabaikan baris 111-136 atau meletakkan // di awal setiap baris yang tidak diinginkan dan Arduino tidak akan membacanya.

Ingatlah untuk menyimpan file setelah Anda melakukan perubahan.

Langkah 7: Unggah.ino yang Diubah ke Arduino Anda dan Uji

Unggah.ino yang Diubah ke Arduino Anda dan Uji
Unggah.ino yang Diubah ke Arduino Anda dan Uji
Unggah.ino yang Diubah ke Arduino Anda dan Uji
Unggah.ino yang Diubah ke Arduino Anda dan Uji
Unggah.ino yang Diubah ke Arduino Anda dan Uji
Unggah.ino yang Diubah ke Arduino Anda dan Uji

Dengan Arduino masih terhubung ke PC Anda dengan USB, unggah sketsa ke Papan Arduino. Setelah unggahan berhasil diselesaikan, LCD harus membaca "Alarm Saat Dilucuti". Tekan tombol lengan pada remote Anda dan LCD harus membaca "Alarm On Armed" dan LED harus menyala untuk memberi tahu Anda bahwa itu bersenjata, sekarang memicu sensor saat dipersenjatai, LCD harus membaca Alarm diikuti dengan cap waktu dan lokasi sensor, pager akan berbunyi selama 2 menit kecuali Anda menekan tombol disarm. Jika Anda tidak mendapatkan hasil ini, periksa kembali kode yang Anda dapatkan di Langkah 5 dan perubahan yang Anda buat pada kode di langkah sebelumnya, juga periksa kembali pengkabelan semua komponen. Jika LCD tidak membaca sama sekali, ada pengaturan kontras di bagian belakang modul LCD. Setelah kontras diatur dengan benar jika LCD masih tidak membaca coba ubah Alamat LCD dari 0x3f menjadi 0x27 pada baris 12 dalam sketsa. Pemecahan masalah LCD di sini tutorial LCD I2C

Langkah 8: Mengatur Waktu pada Modul RTC dan Mengubah Waktu Lengan dan Melucuti Senjata

Mudah-mudahan RTC Anda sudah diatur dengan waktu yang tepat tetapi jika tidak membuka IDE, pilih 'File" dan dari dropdown klik "Contoh", gulir ke bawah ke "DS1307RTC" dan pilih sketsa "SetTime", unduh sketsa ke Anda Arduino dan itu akan mengatur jam waktu nyata dengan waktu dari PC Anda. Anda kemudian perlu memuat ulang sketsa Wireless_Alarm ke Arduino Anda.

Wireless_Alarm.ino yang saya sediakan akan secara default menyetel alarm agar aktif secara otomatis pada pukul 22.15 setiap malam dan mati pada pukul 06.00 setiap pagi. Untuk mengubah waktu ini, modifikasi Sketsa pada baris 71 dan 72. Waktu berada dalam tanda kurung setelah Alarm.alarmUlangi dalam format HH, MM, SS. ubah ini ke waktu apa pun yang cocok untuk Anda.

Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // waktu melucuti senjata

Alarm.alarmRepeat(22, 15, 0, EveningAlarm); // waktu ARM

Jadi untuk mengubah waktu disarm menjadi 09:15 dan waktu lengan menjadi 17:30 kodenya akan terlihat seperti ini

Alarm.alarmRepeat(9, 15, 0, MorningAlarm); // waktu melucuti senjata

Alarm.alarmRepeat(17, 30, 0, EveningAlarm); // waktu ARM

Jika Anda tidak ingin alarm untuk mengaktifkan dan menonaktifkan secara otomatis menempatkan // di depan 2 baris dan mereka tidak akan digunakan.

//Alarm.alarmRepeat(6, 00, 0, MorningAlarm); // waktu melucuti senjata

//Alarm.alarmRepeat(22, 15, 0, EveningAlarm); //waktu lengan

Waktu bunyi bip alarm dapat diubah dengan memodifikasi baris 22

interval panjang const = 120000; //untuk penundaan milis untuk lamanya waktu alarm berbunyi

Interval dalam milidetik jadi 120000 = 120 detik, mengubah 120000 menjadi 30000 akan membuat alarm berbunyi selama 30 detik.

Sebuah solenoida untuk menjalankan sirene, lampu strobo, pager volume tinggi dll juga dapat dihubungkan ke pin 7 atau pin 9 dan akan berjalan untuk "interval" seperti yang diatur di atas. Ingatlah bahwa beban maksimum untuk pin Arduino tidak boleh melebihi 40mA.

Langkah 9: Catatan Tambahan

Saat memilih modul penerima 433 atau 315 MHz untuk Arduino, Anda harus memilih frekuensi yang sesuai dengan sensor alarm yang ingin Anda gunakan. Saya sarankan membeli modul yang dilengkapi dengan antena heliks spiral kecil untuk kinerja terbaik, atau antena kawat lurus panjang 17,3mm juga meningkatkan kinerja.

Dengan modul LCD 16x2 Anda harus menggunakan LCD I2C 4 pin untuk menggunakan instruksi dan kode yang saya berikan di sini, dapat dibuat dengan LCD standar 16 pin tetapi tidak akan berfungsi dengan kabel atau kode di sini.

Sakelar buluh alarm nirkabel, sensor gerak, dan fob kunci jarak jauh harus 433Mhz atau 315Mhz agar sesuai dengan penerima yang ingin Anda gunakan dan harus menggunakan pengkodean PT2262 atau EV1527.

Alarm dapat diperluas dan disesuaikan, saya telah menambahkan kartu SD untuk merekam saat sensor dipicu, memodifikasi LCD agar hanya menyala saat tombol ditahan dan menambahkan sirene 100dB, tetapi belum menyertakan detail di sini untuk menyimpan artikel sebagai sesingkat dan sesederhana mungkin. Saya harap berbagi pekerjaan yang telah saya lakukan pada alarm ini bermanfaat bagi orang lain.

Senang menjawab pertanyaan apa pun.

Terima kasih.

Direkomendasikan: