Alarm dari ponsel dan Arduino. Membuat alarm keamanan dengan sensor gerak berbasis Arduino dan sensor infra merah

Langganan
Bergabunglah dengan komunitas “koon.ru”!
Berhubungan dengan:

Halo, pembaca yang budiman! Artikel hari ini adalah tentang membuat sistem keamanan rumah sederhana menggunakan komponen yang tersedia. Itu kecil dan perangkat murah akan membantu Anda melindungi rumah Anda dari intrusi menggunakan Arduino, sensor gerak, layar, dan speaker. Perangkat dapat ditenagai oleh baterai atau port USB komputer.

Jadi, mari kita mulai!

Bagaimana cara kerjanya?

Tubuh hewan berdarah panas memancarkan radiasi infra merah yang tidak terlihat oleh mata manusia, namun dapat dideteksi menggunakan sensor. Sensor tersebut terbuat dari bahan yang dapat terpolarisasi secara spontan ketika terkena panas, sehingga memungkinkan untuk mendeteksi munculnya sumber panas dalam jangkauan sensor.

Untuk jangkauan yang lebih luas, lensa Fresnel digunakan, yang mengumpulkan radiasi infra merah arah yang berbeda dan memusatkannya pada sensor itu sendiri.

Gambar tersebut menunjukkan bagaimana lensa mendistorsi sinar yang jatuh padanya.

Perlu dicatat bahwa robot tanpa bagian yang panas dan yang berdarah dingin memancarkan radiasi infra merah yang sangat sedikit, sehingga sensor mungkin tidak berfungsi jika karyawan Boston Dynamics atau reptilia memutuskan untuk mengelilingi Anda.

Apabila terjadi perubahan tingkat radiasi IR dalam jangkauannya, hal ini akan diproses di Arduino, setelah itu statusnya akan ditampilkan di layar LCD, LED akan berkedip, dan speaker akan berbunyi bip.

Apa yang kita butuhkan?

  1. (atau papan lainnya).
  2. (16 karakter dalam dua baris)
  3. Satu konektor untuk menghubungkan mahkota ke Arduino
  4. (meskipun Anda dapat menggunakan speaker biasa)
  5. Kabel USB - hanya untuk pemrograman ( kira-kira. terjemahan: Itu selalu disertakan dengan Arduino kami!)
  6. Komputer (sekali lagi, hanya untuk menulis dan memuat program).

Omong-omong, jika Anda tidak ingin membeli semua suku cadang ini secara terpisah, kami sarankan Anda memperhatikan suku cadang kami. Misalnya, semua yang Anda butuhkan dan bahkan lebih banyak lagi ada di kami perlengkapan pemula.

Ayo terhubung!

Menghubungkan sensor gerak sangat sederhana:

  1. Kami menghubungkan pin Vcc ke Arduino 5V.
  2. Kami menghubungkan pin Gnd ke GND Arduino.
  3. Kami menghubungkan pin OUT ke pin digital No. 7 dari Arduino

Sekarang mari kita sambungkan LED dan speaker. Sederhananya di sini:

  1. Kami menghubungkan kaki pendek (minus) LED ke ground
  2. Kami menghubungkan kaki panjang (plus) LED ke output No. 13 Arduino
  3. Kabel speaker merah ke output No.10
  4. Kabel hitam - ke ground

Dan sekarang bagian tersulitnya adalah menghubungkan layar LCD 1602 ke Arduino. Kami memiliki tampilan tanpa I2C, jadi kami membutuhkan banyak keluaran Arduino, tetapi hasilnya sepadan. Diagramnya disajikan di bawah ini:

Kita hanya memerlukan sebagian rangkaian (kita tidak akan melakukan penyesuaian kontras dengan potensiometer). Oleh karena itu, Anda hanya perlu melakukan hal berikut:

Sekarang Anda tahu cara menghubungkan layar 1602 ke Arduino UNO R3 (serta versi Arduino apa pun dari Mini hingga Mega).

Pemrograman

Saatnya beralih ke pemrograman. Di bawah ini adalah kode yang perlu Anda isi dan, jika Anda sudah merakit semuanya dengan benar, perangkat sudah siap!

#termasuk int pin led = 13; // pin LED int masukanPin = 7; // Pin yang terhubung dengan sensor gerak keluar int pirState = LOW; // Kondisi saat ini(tidak ada yang ditemukan di awal) int val = 0; // Variabel untuk membaca status input digital int pinSpeaker = 10; // Pin yang terhubung dengan speaker. Membutuhkan pin PWM LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Inisialisasi tampilan LCD void setup() ( // Menentukan arah transmisi data pada pin digital pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); // Memulai keluaran informasi debugging melalui port serial Serial .begin(9600); // Mulai keluaran ke layar LCD lcd.begin(16, 2); // Tetapkan indeks pada tampilan yang akan digunakan untuk memulai keluaran // (2 karakter, 0 baris ) lcd.setCursor(2, 0) ; // Output ke layar LCD lcd.print("P.I.R Motion"); // Pindahkan lagi lcd.setCursor(5, 1); // Output lcd.print("Sensor" ); // Jeda agar ada waktu untuk membaca, apa yang dimaksud dengan penundaan keluaran (5000); // Menghapus lcd.clear(); // Mirip dengan lcd.setCursor(0, 0); lcd.print("Memproses Data." ); penundaan(3000); lcd.clear(); lcd.setCursor(3, 0); lcd.print("Menunggu"); lcd.setCursor(3, 1); lcd.print("Gerakan... ."); ) void loop() ( // Baca pembacaan sensor val = digitalRead(inputPin); if (val == HIGH) ( // Jika ada gerakan, nyalakan LED dan nyalakan sirene digitalWrite(ledPin, TINGGI); mainkan Nada(300, 300); penundaan(150); // Jika sampai saat ini tidak ada pergerakan, maka kita akan menampilkan pesan // terdeteksi // Kode di bawah ini diperlukan untuk menulis perubahan status saja, dan tidak mencetak nilainya setiap kali if (pirState == LOW) ( Serial.println( "Gerak terdeteksi!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Gerak Terdeteksi!"); pirState = TINGGI; ) ) else ( // Jika gerakan selesai digitalWrite(ledPin, LOW); playTone(0, 0); delay(300); if (pirState == HIGH)( // Beritahukan bahwa ada gerakan, namun sudah berakhir Serial.println("Gerakan berakhir !"); lcd.clear() ; lcd.setCursor(3, 0); lcd.print("Menunggu"); lcd.setCursor(3, 1); lcd.print("Gerak....") ; pirState = LOW; ) ) ) // Fungsi pemutaran suara. Durasi (durasi) - dalam milidetik, Freq (frekuensi) - dalam Hz void playTone(durasi panjang, int freq) ( durasi *= 1000; int periode = (1.0 / freq) * 100000; long elapsed_time = 0; while (elapsed_time< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }

Untuk melindungi rumah Anda dari tamu tak diundang, semuanya lebih banyak orang memasang alarm. Mereka memungkinkan peringatan tepat waktu mengenai penyusupan ke dalam lokasi. Hari ini ada Berbagai jenis alarm, tapi masuk Akhir-akhir ini Popularitas alarm GSM mulai meningkat, karena memungkinkan Anda menerima informasi tentang intrusi pada jarak berapa pun dari suatu objek, yang utama adalah pemiliknya membawa telepon pada saat itu, dan telepon ini online. Sayangnya, sistem ini belum terlalu murah untuk memberikan preferensi secara eksklusif kepada mereka. Namun saat ini Anda bisa membuat alarm GSM sederhana sendiri. Dan papan Arduino yang populer akan membantu dalam hal ini.


Proyek ini adalah sistem keamanan (alarm) untuk memberitahukan adanya penyusup yang memasuki rumah. Sistemnya menggunakan teknologi GSM.



Modul deteksi intrusi dihubungkan ke papan mikrokontroler sistem keamanan ini, yang dapat didasarkan, misalnya, pada sensor IR atau sensor jarak ultrasonik. Ketika sinyal diterima dari modul tersebut, pesan SMS dikirim ke telepon pengguna yang menunjukkan bahwa rumah mereka telah dibobol.


Gambar di bawah menunjukkan diagram blok sistem keamanan.



Elemen utama dari sistem ini adalah papan mikrokontroler (misalnya Arduino Uno) dan modul GSM/GPRS SIM900A. Seluruh sistem dapat diberi daya dari satu catu daya 12V/2A.


Gambar di bawah menunjukkan diagram sirkuit sistem keamanan rumah dengan GSM berbasis Arduino.



Pengoperasian sistem ini sangat sederhana dan tidak memerlukan banyak penjelasan. Saat catu daya diterapkan, sistem masuk ke mode siaga. Namun, ketika J2 mengalami hubungan pendek, pesan peringatan secara otomatis dikirimkan ke nomor ponsel yang telah ditentukan sebelumnya. Sensor deteksi apa pun dapat dihubungkan ke konektor input J2. Perlu dicatat bahwa level rendah pada pin 1 konektor J2 aktif dan menyalakan sistem keamanan.


Selain itu, sistem telah menambahkan kemampuan melakukan panggilan dengan menekan tombol S2. Menggunakan tombol S3 Anda dapat mengatur ulang panggilan ini.


Di bawah ini adalah kode untuk Arduino.


//Hubungkan pin Tx ke pin D3 modul GPS //Hubungkan pin Rx ke pin D4 modul GPS //hubungkan sinyal pengiriman SMS ke pin D7 (level aktif rendah) //Hubungkan sinyal PANGGILAN ke pin D8 (level aktif rendah) //Hubungkan sinyal reset panggilan END ke pin D9 (level aktif rendah) #include NewSoftSerial mySerial(3,4); // konfigurasikan pin RX dan TX untuk komunikasi dengan modul GSM #define msg_key 7 #define call_key 8 #define end_key 9 String number ="0000000000"; // Di sini, alih-alih nol, Anda harus memasukkan 10 digit nomor ponsel void setup() ( 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() ( //kirim sms setiap kali msg_key dipicu jika (digitalRead(msg_key) ==RENDAH) // Mengecek apakah tombol kirim sms ditekan ( mySerial.println("AT+CMGF=1"); // Atur mode sebagai mode teks penundaan(150); mySerial.println("AT+CMGS= \"+00"+ nomor+"\""); // Tentukan nomor penerima dalam format internasional, ganti nol penundaan(150); mySerial.print("Peringatan! Peringatan Penyusup!"); // Masukkan pesan penundaan( 150); mySerial.write(( byte)0x1A); // Akhir dari karakter pesan 0x1A: setara dengan Ctrl+z delay(50); mySerial.println(); ) // Melakukan panggilan ketika call_key dipicu else if ( digitalRead(call_key)==LOW) // Periksa apakah call_key sudah ditekan ( mySerial.println("ATD+91"+number+";"); //Tentukan nomor yang akan dihubungi while(digitalRead(call_key)== RENDAH); penundaan(50); ) //Reset panggilan else if (digitalRead(end_key)==LOW) //Periksa apakah tombol reset panggilan sudah ditekan ( mySerial.println("ATH"); while(digitalRead(end_key)==LOW); delay (50 ); ) )

Dengan demikian, Anda dapat dengan mudah membuat sistem alarm GSM berdasarkan papan Arduino dengan tangan Anda sendiri. Sistem alarm seperti itu, dari segi biaya, tentu akan lebih murah daripada sistem alarm bermerek yang ada di pasaran saat ini, dan fungsinya akan hampir sama.

Sensor inframerah (IR) biasanya digunakan untuk mengukur jarak, namun juga dapat digunakan untuk mendeteksi objek. Dengan menghubungkan beberapa sensor IR ke Arduino, kita dapat membuat alarm keamanan.

Tinjauan

Sensor inframerah (IR) biasanya digunakan untuk mengukur jarak, namun juga dapat digunakan untuk mendeteksi objek. Sensor IR terdiri dari pemancar inframerah dan penerima inframerah. Pemancar memancarkan pulsa radiasi infra merah sementara penerima mendeteksi pantulan apa pun. Jika penerima mendeteksi adanya pantulan, berarti ada suatu benda pada jarak tertentu di depan sensor. Jika tidak ada refleksi maka tidak ada objek.

Sensor IR yang akan kita gunakan dalam proyek ini mendeteksi pantulan dalam rentang tertentu. Sensor ini berukuran kecil perangkat linier perangkat berpasangan muatan (CCD), yang mendeteksi sudut di mana radiasi IR kembali ke sensor. Seperti terlihat pada gambar di bawah, sensor memancarkan pulsa infra merah ke luar angkasa, dan ketika suatu benda muncul di depan sensor, pulsa tersebut dipantulkan kembali ke sensor dengan sudut yang sebanding dengan jarak antara benda dan sensor. Penerima sensor mendeteksi dan mengeluarkan sudut, dan menggunakan nilai ini Anda dapat menghitung jarak.

Dengan menghubungkan beberapa sensor IR ke Arduino, kita dapat membuat alarm keamanan sederhana. Kami akan memasang sensor kusen pintu, dan dengan menyelaraskan sensor dengan benar, kami dapat mendeteksi saat seseorang masuk melalui pintu. Ketika ini terjadi, keluaran sensor IR akan berubah, dan kami akan mendeteksi perubahan ini dengan terus membaca keluaran sensor dari menggunakan Arduino. DI DALAM dalam contoh ini kita mengetahui bahwa suatu benda sedang melewati pintu ketika pembacaan keluaran sensor IR melebihi 400. Jika hal ini terjadi, Arduino akan memicu alarm. Untuk mengatur ulang alarm, pengguna dapat menekan tombol.

Aksesoris

  • 2 x sensor jarak IR;
  • 1 x Arduino Mega 2560;
  • 1 x bel;
  • 1 x tombol;
  • Resistor 1x470 ohm;
  • 1 x transistor NPN;
  • jumper.

Diagram koneksi

Diagram proyek ini ditunjukkan pada gambar di bawah ini. Output dari dua sensor IR dihubungkan ke pin A0 dan A1. Dua pin lainnya terhubung ke pin 5V dan GND. Buzzer 12 volt dihubungkan ke pin 3 melalui transistor, dan tombol yang digunakan untuk mematikan alarm dihubungkan ke pin 4.


Foto di bawah menunjukkan bagaimana kami menempelkan sensor ke kusen pintu untuk percobaan ini. Tentu saja, jika Anda menggunakannya secara teratur, Anda akan memasang sensor secara berbeda.


Instalasi

  1. Hubungkan pin 5V dan GND pada papan Arduino ke pin daya dan pin GND pada sensor. Anda juga dapat menyuplainya dengan daya eksternal.
  2. Hubungkan pin keluaran sensor ke pin A0 dan A1 papan Arduino.
  3. Hubungkan pin 3 Arduino ke basis transistor melalui resistor 1k ohm.
  4. Oleskan 12V ke kolektor transistor.
  5. Hubungkan kabel positif bel 12 volt ke emitor dan kabel negatif ke bus ground.
  6. Hubungkan pin 4 ke pin 5V melalui tombol. Untuk alasan keamanan, untuk menghindari aliran arus yang besar, yang terbaik adalah melakukannya melalui resistor kecil tambahan.
  7. Hubungkan papan Arduino ke komputer Anda melalui kabel USB dan muat program ke mikrokontroler menggunakan Arduino IDE.
  8. Nyalakan papan Arduino menggunakan catu daya, baterai, atau kabel USB/

Kode

const int bel=3; // pin 3 adalah output ke buzzer const int tombol tekan=4; // pin 4 adalah input untuk tombol void setup() ( pinMode(buzzer,OUTPUT); // setel pin 3 ke output pinMode(pushbutton,INPUT); // setel pin 4 ke input ) void loop() ( / / baca keluaran kedua sensor dan bandingkan hasilnya dengan nilai ambang batas int sensor1_value = analogRead(A0); int sensor2_value = analogRead(A1); if (sensor1_value > 400 || sensor2_value > 400) ( while(true) ( digitalWrite(buzzer,HIGH) ; // nyalakan alarm if(digitalRead(pushbutton) == HIGH) break; ) ) else ( digitalWrite(buzzer,LOW); // matikan alarm ) )

Video

Mereka adalah platform perangkat keras khusus yang menjadi dasar Anda dapat membuat berbagai perangkat elektronik, termasuk dan. Perangkat jenis ini dibedakan berdasarkan desainnya yang sederhana dan kemampuan memprogram algoritma operasinya. Berkat ini, dibuat menggunakan Arduino alarm GSM, dapat dikustomisasi secara maksimal terhadap objek yang akan dilindunginya.

Apa itu modul Arduino?

Arduino diimplementasikan dalam bentuk papan kecil yang memiliki mikroprosesor dan memori sendiri. Papan ini juga berisi serangkaian kontak fungsional yang dapat digunakan untuk menyambungkan berbagai perangkat berlistrik, termasuk sensor yang digunakan untuk sistem keamanan.

Prosesor Arduino memungkinkan Anda memuat sendiri program yang ditulis oleh pengguna. Dengan membuat algoritme unik Anda sendiri, Anda dapat menyediakan mode optimal pengoperasian alarm keamanan untuk berbagai objek dan untuk kondisi yang berbeda kegunaan dan tugas yang harus diselesaikan.

Apakah sulit bekerja dengan Arduino?

Modul Arduino sangat populer di kalangan banyak pengguna. Hal ini dimungkinkan karena kesederhanaan dan aksesibilitasnya.

Program pengontrolan modul ditulis menggunakan C++ biasa dan tambahan berupa fungsi sederhana untuk pengontrolan proses I/O pada pin modul. Selain itu, perangkat lunak Arduino IDE gratis yang beroperasi di Windows, Linux atau Mac OS dapat digunakan untuk pemrograman.

Dengan modul Arduino, prosedur perakitan perangkat disederhanakan secara signifikan. Sistem alarm GSM di Arduino dapat dibuat tanpa memerlukan besi solder - perakitan dilakukan menggunakan papan tempat memotong roti, jumper, dan kabel.

Bagaimana cara membuat alarm menggunakan Arduino?

Persyaratan dasar yang harus dipenuhi oleh sistem alarm gsm DIY yang dibuat di Arduino meliputi:

  • memberi tahu pemilik fasilitas tentang pembobolan atau masuknya;
  • mendukung sistem eksternal seperti suara sirine, lampu isyarat;
  • kontrol alarm melalui SMS atau panggilan;
  • operasi otonom tanpa catu daya eksternal.

Untuk membuat alarm, Anda memerlukan:

  • Modul Arduino;
  • satu set sensor fungsional;
  • atau modem;
  • sumber listrik otonom;
  • aktuator eksternal.

Ciri khas modul Arduino adalah penggunaan papan ekspansi khusus. Dengan bantuan mereka, semua perangkat tambahan terhubung ke Arduino, yang diperlukan untuk merakit konfigurasi sistem keamanan. Papan tersebut dipasang di atas modul Arduino dalam bentuk "sandwich", dan perangkat tambahan yang sesuai dihubungkan ke papan itu sendiri.

Bagaimana itu bekerja?

Ketika salah satu sensor yang terhubung dipicu, sinyal dikirim ke prosesor modul Arduino. Menggunakan perangkat lunak pengguna yang diunduh, mikroprosesor memprosesnya sesuai dengan algoritma tertentu. Sebagai hasilnya, perintah untuk mengoperasikan aktuator eksternal dapat dihasilkan, yang dikirimkan ke sana melalui papan antarmuka ekspansi yang sesuai.

Untuk menjamin kemampuan mengirimkan sinyal peringatan kepada pemilik rumah atau apartemen yang dilindungi, modul GSM khusus dihubungkan ke modul Arduino melalui papan ekspansi. Kartu SIM dari salah satu penyedia seluler terpasang di dalamnya.

Dengan tidak adanya adaptor GSM khusus, adaptor biasa dapat menjalankan perannya. telepon genggam. Selain mengirimkan pesan SMS peringatan alarm dan panggilan, kehadiran koneksi seluler akan memungkinkan Anda mengontrol sistem alarm GSM di Arduino dari jarak jauh, serta memantau kondisi objek dengan mengirimkan permintaan khusus.

"Catatan!

Untuk berkomunikasi dengan pemilik objek, selain modul GSM, dapat digunakan modem biasa yang menyediakan komunikasi melalui Internet.”

Dalam hal ini, ketika sensor dipicu, sinyal yang diproses oleh prosesor ditransmisikan melalui modem ke portal atau situs khusus. Dan dari situs tersebut, SMS peringatan atau surat ke email tertaut dibuat secara otomatis.

kesimpulan

Penggunaan modul Arduino akan memungkinkan pengguna merancang alarm GSM secara mandiri yang dapat bekerja dengan berbagai sensor dan kontrol fungsional perangkat eksternal. Berkat kemungkinan penggunaan berbagai sensor, fungsi alarm dapat diperluas secara signifikan dan kompleks dapat dibuat yang tidak hanya memantau keamanan objek, tetapi juga kondisinya. Misalnya, dimungkinkan untuk mengontrol suhu di fasilitas, mendeteksi kebocoran air dan gas, mematikan pasokan jika terjadi keadaan darurat, dan banyak lagi.

Alarm keamanan rumah sederhana menggunakan Arduino Uno menjadi topik ulasan kali ini. Terlepas dari kenyataan bahwa mikrokontroler dari keluarga ini pada awalnya ditujukan untuk mengajar siswa, hal ini sangat mungkin untuk dilakukan proyek yang berguna di Arduino. Alarm keamanan untuk rumah atau sebidang kebun akan dapat memperingatkan pemilik tentang keadaan darurat dan mengirim pesan dari sensor ke smartphone.

Alarm rumah menggunakan Arduino

Mari kita lihat cara membuat alarm untuk rumah, taman pedesaan atau garasi menggunakan Arduino Uno atau Nano. Dalam proyek ini kami menggunakan sensor gerak, sensor air dan suhu - ini adalah seperangkat sensor dasar untuk sistem peringatan paling sederhana. Anda akan belajar tentang pecahnya pipa air, penurunan suhu di dalam rumah, atau orang yang tidak berkepentingan memasuki rumah kapan saja dan di mana saja.

Sensor Arduino untuk alarm keamanan

Dalam proyek ini, kami menggunakan ponsel pintar lama untuk mengirimkan informasi melalui Internet. Oleh karena itu, di lokasi properti Anda pasti ada sinyal GPRS dan apa pun operator seluler Tarif paling sederhana dengan akses Internet terhubung. Jika kondisi ini tidak terpenuhi, maka sistem keamanan Terdapat suara sirene yang juga dapat menakuti perampok.

Proyek ini menggunakan sensor paling sederhana - sensor suhu DHT11, sensor kebocoran air yang dapat Anda buat sendiri, dan sensor gerak. Jika Anda memutuskan untuk membuat sistem alarm yang lebih kompleks, kami sarankan Anda melihat proyeknya alarm kebakaran atau alarm di GSM. Anda juga perlu menginstal aplikasi pada ponsel cerdas Anda dan mendaftarkan dua akun Twitter.

Cara membuat alarm arduino

Untuk proyek ini kita membutuhkan:

  • Papan Arduino Uno / Arduino Nano / Arduino Mega;
  • ponsel pintar dengan akses Internet;
  • sensor suhu dan kelembaban DHT11;
  • sensor kebocoran air;
  • sensor gerak dan tombol (saklar);
  • LED, resistor, kabel, dll.


Sketsa alarm, semua perpustakaan yang diperlukan, dan aplikasi ponsel cerdas dapat diunduh dalam satu arsip. Perhatikan bahwa mengontrol Arduino dari jarak jauh tidak mungkin dilakukan, karena proyeknya sesederhana mungkin. Anda hanya dapat mengetahui pembacaan sensor yang dipasang di rumah melalui pesan di ponsel cerdas Anda setelah jangka waktu tertentu atau saat sensor dipicu.

Sketsa alarm keamanan di Arduino Uno/Nano

#termasuk // menghubungkan perpustakaan SoftwareSerial.h Perangkat LunakSerial mySerial(2, 3); // tentukan pin rx dan tx masing-masing#termasuk // menghubungkan perpustakaan untuk sensor DHT dht(16, DHT11); // informasikan pada port mana sensor akan berada ke dalam tmp; #definisikan PIR 5 // port untuk menghubungkan sensor gerak ke dalam pir; #definisikan KNP 7 // port untuk menghubungkan sakelar int knp; #definisikan WTR 19 // port untuk menghubungkan sensor air ke dalam wtr; #mendefinisikan LED 11 // port untuk menghubungkan LED#definisikan BUZ 9 // port untuk menghubungkan speaker piezodinamik // string untuk mengidentifikasi informasi yang diterima di ponsel cerdas String stringT = String("*" ); String stringP = String("^" ); String stringW = String ("-" ); String stringH = String ("#" ); // variabel untuk penghitung, penghitungan siklus, dll. gerakan panjang yang tidak ditandatangani; jam panjang yang tidak ditandatangani; byte m, s1, s2, s3, c = 10; batal setup() ( mySerial.begin(9600); Serial.begin(9600); dht.begin(); pinMode(PIR, INPUT); analogWrite(PIR, LOW); pinMode(KNP, INPUT); analogWrite(KNP, RENDAH); pinMode(WTR, INPUT); analogWrite(WTR, RENDAH); // memeriksa LED dan pager saat menyalakan power pinMode(BUZ, KELUARAN); pinMode(LED, KELUARAN); analogWrite(LED, 255); nada(BUZ, 100); penundaan(1000); analogWrite(LED, 0); tidak ada nada (BUZ); penundaan(1000); ) void loop() (tmp = dht.readTemperature(); pir = digitalRead(PIR); knp = digitalRead(KNP); wtr = analogRead(WTR); // memulai penghitung jam = milis(); // 3600000 milidetik adalah 1 jam, 10800000 adalah 3 jam // jika 3 jam telah berlalu, kirim data ke ponsel cerdas // jika perlu, masukkan nilai Anda, bukan 10800000 if (millis() - jam > 10800000) ( mySerial.println(tmp + stringT); mySerial.println(stringH); // kirim sinyal bahwa 3 jam telah berlalu } // menghitung siklus, mengirimkan data ke smartphone setiap siklus kesepuluh C--; Serial.cetak(c); Serial .println (" - putaran" ); Serial.println(""); penundaan(1000); tidak ada nada (BUZ); jika (c > 10) ( c = 10; ) jika (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // kirim nilai suhu mySerial.println(pir + stringP); // kirim kehadiran pergerakan di dalam rumah mySerial.println(wtr + stringW); // mengirim data dari sensor air // SENSOR GERAK TELAH AKTIF DAN TOMBOL MATI - NYALAKAN LAMPU if (pir == TINGGI && knp == RENDAH ) ( analogWrite (LED, 255); ) // SENSOR GERAK DIMATIKAN DAN TOMBOL MATI - MATIKAN LAMPU if (pir == RENDAH && knp == RENDAH ) ( gerak = milis(); while (pir == RENDAH ) ( tmp = dht.readTemperature(); pir = digitalRead(PIR); knp = digitalRead(KNP); wtr = analogRead(WTR); c--; Serial .print (c); Serial .println (" - cycle" ); Serial .println ("" ); penundaan (1000); noTone (BUZ); if (c > 10 ) ( c = 10; ) jika (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // kirim nilai suhu mySerial.println(pir + stringP); // kirim kehadiran pergerakan di dalam rumah mySerial.println(wtr + stringW); // mengirim data dari sensor air // menampilkan semua data dari sensor pada monitor nomor port Serial.print("TMP = "); Serial.println(tmp); Serial.print("PIR = "); Serial.println(pir); Serial.print("KNP = "); Serial.println(knp); Serial.print("WTR = "); Serial.println(wtr); Serial.println(""); ) // INTERVAL MATI CAHAYA DALAM milidetik if (millis() - gerak > 5000) ( analogWrite (LED, 0); break ; ) if (pir == HIGH ) ( analogWrite (LED, 255); break ; ) ) // SENSOR GERAK TELAH AKTIF DAN TOMBOLNYA HIDUP - MULAI PENGATUR WAKTU if (pir == TINGGI && knp == TINGGI ) ( gerak = milis(); penundaan(1000); analogWrite(LED, 255); Serial.println( "SENSOR DIPICU"); Serial.println(""); penundaan(1000); while (knp == TINGGI) ( tmp = dht.readTemperature(); pir = digitalRead(PIR); knp = digitalRead(KNP); wtr = analogRead(WTR); c--; Serial .print (c); Serial . println (" - loop" ); Serial .println ("" ); penundaan (1000); noTone (BUZ); if (c > 10) ( c = 10; ) if (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // kirim nilai suhu mySerial.println(pir + stringP); // kirim kehadiran pergerakan di dalam rumah mySerial.println(wtr + stringW); // mengirim data dari sensor air // menampilkan semua data dari sensor pada monitor nomor port Serial.print("TMP = "); Serial.println(tmp); Serial.print("PIR = "); Serial.println(pir); Serial.print("KNP = "); Serial.println(knp); Serial.print("WTR = "); Serial.println(wtr); Serial.println(""); ) // JIKA SENSOR GERAK DIMATIKAN - MENGIRIM PESAN KE BLUETOOTH if (knp == RENDAH ) ( Serial .println ( "ALARM DONAKTIFKAN"); Serial.println(""); penundaan(1000); ) // JIKA LEBIH DARI 10 DETIK TELAH BERLALU - MENGIRIM PESAN KE BLUETOOTH if (millis () - gerak > 10000 && s1 != 1) ( m = 1; goto message1; ) penundaan (1000); ) ) // JIKA TERJADI KEBOCORAN AIR - KIRIM PESAN KE BLUETOOTH if (wtr > 500 && s2 != 2) ( m = 2; goto message2; ) if (wtr > 500) ( nada (BUZ, 400); ) if (wtr<= 500) { noTone (BUZ); } // JIKA SUHU TURUN - KIRIM PESAN KE BLUETOOTH jika(tmp< 20 && s3 != 3) { m = 3; goto message3; } if (tmp < 20) { tone (BUZ, 200); } if (tmp >= 20) ( noTone (BUZ); ) pesan1: while (m == 1) ( Serial .println ( "ALARM DIKIRIM KE BLUETOOTH" // kirim nilai suhu mySerial.println(1 + stringP); // kirim kehadiran pergerakan di dalam rumah mySerial.println(wtr + stringW); // mengirim data dari sensor air s1 = 1; m = 0; merusak ; ) pesan2: while (m == 2) ( Serial .println ( "SINYAL KEBOCORAN AIR DIKIRIM KE BLUETOOTH"); Serial.println(""); penundaan(1000); mySerial.println(tmp + stringT); // kirim nilai suhu mySerial.println(pir + stringP); // kirim kehadiran pergerakan di dalam rumah mySerial.println(500 + stringW); // mengirim data dari sensor air s2 = 2; m = 0; merusak ; ) pesan3: sementara (m == 3) ( Serial .println ( "SINYAL SUHU DIKIRIM KE BLUETOOTH"); Serial.println(""); penundaan(1000); mySerial.println(20 + stringT); // kirim nilai suhu mySerial.println(pir + stringP); // kirim kehadiran pergerakan di dalam rumah mySerial.println(wtr + stringW); // mengirim data dari sensor air s3 = 3; m = 0; merusak ; ) )

Penjelasan untuk kodenya:

Pada pandangan pertama, skema ini mungkin tampak rumit, tetapi sebenarnya tidak. Alarm dapat dipasang di papan apa pun, termasuk Arduino Uno. Alih-alih LED, Anda dapat menggunakan strip LED, tetapi catu daya untuk papan harus 12 Volt, dan sambungkan strip LED bukan ke 5V, tetapi ke pin Vin Arduino. Dengan LED, Anda dapat menggunakan pengisi daya telepon 5 volt biasa untuk memberi daya pada sirkuit.

Menginstal aplikasi di smartphone untuk alarm

Untuk menginstal aplikasi, unduh file home_twit.apk ke ponsel Anda melalui kabel USB, temukan di memori ponsel dan klik “Instal”. Ponsel ini harus selalu berada dalam jangkauan sinyal Arduino Bluethoth. Setelah instalasi, buka aplikasi dan klik tombol “Sesuaikan”. Di sini Anda perlu menentukan nilai suhu minimum dan maksimum di mana pesan akan dikirim.

Dan sekarang bagian tersulitnya adalah menyiapkan akun Twitter. Tentukan dalam pengaturan nama pengguna Twitter kepada siapa Anda akan mengirim pesan. Anda juga diminta untuk memberikan login Kunci API Dan Kunci rahasia API atas nama siapa pesan tersebut akan diterima. Inovasi terbaru disebabkan oleh perang melawan spam dan pengumpulan informasi tentang pengguna di jejaring sosial. Cara mendapatkan kunci API dan rahasia API - baca ulasan ini.

Di ponsel yang akan selalu bersama Anda dan menerima pesan, Anda perlu menginstal aplikasi Twitter resmi dari PlayMarket dan masuk ke aplikasi tersebut dengan login yang diperlukan. Hasilnya, aplikasi signalizaciya.apk dari ponsel yang terletak di dalam rumah akan mengumpulkan data dari sensor Arduino dan mengirimkannya melalui pesan pribadi melalui Twitter ke pengguna yang loginnya Anda menginstal aplikasi Twitter.

Jika Anda memiliki masalah dengan pengaturan alarm di Arduino, tulis pertanyaan Anda di komentar ulasan ini.

Kembali

×
Bergabunglah dengan komunitas “koon.ru”!
Berhubungan dengan:
Saya sudah berlangganan komunitas “koon.ru”