Bagaimana Merancang Automasi Rumah yang Diaktifkan Suara?

Idea untuk Automasi Rumah semakin menonjol kerana ia membantu mengurangkan usaha dan kesalahan manusia dan seterusnya meningkatkan keberkesanannya. Ia menggunakan kombinasi peralatan dan kemajuan pengaturcaraan yang memungkinkan kawalan ke atas mesin dan alat elektronik lain di dalam rumah. Dengan bantuan Automasi Rumah, kita dapat mengawal peralatan elektrik kita dari jauh dan kelebihan besar ialah penggunaan kuasa dikurangkan hingga tahap yang besar. Terdapat beberapa jenis Automasi Rumah seperti Bluetooth Controlled, Remote Controlled dan Internet Controlled dll dan masing-masing mempunyai kelebihan dan kekurangan. Dalam projek ini, kami akan merancang Automasi Rumah yang Dikendalikan Suara di mana peralatan yang berbeza akan dikendalikan dengan mengirimkan arahan suara. Sistem ini sangat mahal apabila dibeli dari pasaran tetapi apabila kita mengintegrasikan semua peralatan ini melalui Arduino , menjadi sangat mudah dan murah untuk mengawal semua peralatan elektrik di rumah.



Automasi Rumah yang Dikawal Suara

Bagaimana Mengautomasikan Peralatan Rumah Tangga Menggunakan Arduino?

Oleh kerana kami mempunyai idea asas, sekarang mari bergerak mengumpulkan komponen, memasangnya untuk membuat litar dan menulis kod untuk mengautomasikan peralatan rumah anda.



Langkah 1: Komponen yang Digunakan (Perkakasan)

  • Arduino uno
  • Modul Bluetooth HC-05
  • Transistor 2N2222 NPN
  • Modul Relay 12V
  • Perintang 1k-ohm
  • 12V AC ke DC Adapter
  • 1N4007 PN Persimpangan Diod
  • Wayar Pelompat

Langkah 2: Komponen yang Digunakan (Perisian)

  • Proteus 8 Professional (Boleh dimuat turun dari Di sini )

Selepas memuat turun Proteus 8 Professional, reka litar di atasnya. Kami telah memasukkan simulasi perisian di sini agar pemula merancang litar dan membuat sambungan yang sesuai pada perkakasan adalah lebih mudah.



Langkah 3: Mengkaji Komponen

Oleh kerana kami telah membuat senarai komponen yang akan kami gunakan dalam projek kami. Mari kita melangkah selangkah ke depan dan menjalani kajian ringkas bagaimana komponen ini berfungsi.



  1. Arduino UNO: Arduino UNO adalah papan mikrokontroler yang terdiri daripada microchip ATMega 328P dan dikembangkan oleh Arduino.cc. Papan ini mempunyai satu set pin data digital dan analog yang dapat dihubungkan dengan papan pengembangan atau litar lain. Papan ini mempunyai 14 pin Digital, 6 pin Analog, dan dapat diprogramkan dengan Arduino IDE (Integrated Development Environment) melalui kabel USB jenis B. Ia memerlukan kuasa 5V HIDUP dan a Kod C untuk beroperasi.

    Arduino UNO

  2. Pemancar Bersiri Bluetooth Tanpa Wayar HC-05 : Kami memerlukan komunikasi tanpa wayar dalam projek ini, jadi kami akan menggunakan teknologi Bluetooth dan untuk modul yang akan digunakan adalah HC-05. Modul ini mempunyai beberapa kadar baud yang dapat diprogramkan tetapi kadar baud lalai adalah 9600 bps. Ia dapat dikonfigurasikan sebagai master atau slave, sedangkan modul lain HC-06 hanya dapat berfungsi dalam mode slave. Modul ini mempunyai empat pin. Satu untuk VCC (5V) dan tiga lagi untuk GND, TX, dan RX. Kata laluan lalai modul ini adalah 1234 atau 0000 . Sekiranya kita ingin berkomunikasi antara dua mikrokontroler atau berkomunikasi dengan mana-mana peranti dengan fungsi Bluetooth seperti Telefon atau Laptop HC-05 membantu kita untuk melakukannya. Beberapa aplikasi android sudah tersedia yang menjadikan proses ini menjadi lebih mudah.

    Modul Bluetooth HC-05

  3. Kawalan Suara Bluetooth untuk Arduino : Aplikasi ini dibangunkan oleh SimpleLabsIN untuk projek Arduino berasaskan suara. Aplikasi Android ini akan menggunakan fitur pengenalan suara telefon dan akan mengubah perintah suara menjadi teks dan mentransfer rentetan melalui Bluetooth. Aplikasi boleh dimuat turun dari Di sini

    Aplikasi Kawalan Suara BT



  4. Modul Relay 12 V: Sekiranya ada yang ingin menukar beban voltan tinggi dari mikrokontroler, papan relay 12V ini boleh melakukannya. Ia mengandungi 8 x 12V relay yang dinilai pada 10A / 250V AC (DC 30V / 10A). Setiap modul geganti dihidupkan / dimatikan oleh input digital terpencil opto yang dapat disambungkan terus ke pin output mikrokontroler. Ia hanya memerlukan voltan sekitar 1.0V untuk menghidupkan input tetapi dapat menangani voltan input hingga 12V. Ini menjadikannya sesuai untuk kedua-dua peranti 5V dan 3.3V. Anda boleh membeli modul geganti mengikut bilangan peralatan yang ingin anda kendalikan. Sebagai contoh, jika anda ingin mengawal 4 peralatan anda harus membeli 4 modul Relay.

    Modul Relay 12V

Langkah 4: Memahami Reka Bentuk Litar Dengan Diagram Litar

Pertama, kita perlu menghubungkan HC-05 dengan Arduino UNO. Oleh kerana Bluetooth menggunakan protokol UART, kita perlu menggunakan pin RX dan TX Arduino. Kami akan menggunakan perpustakaan 'SoftwareSerial' untuk menentukan pin RX dan TX kami sendiri (Pin 2 adalah RX dan Pin 3 adalah TX). Pin RX modul Bluetooth dan pin TX Arduino akan terputus. Kedua, kita akan menghubungkan relay ke Arduino. Kami telah menggunakan papan relay readymade dengan 4 - saluran, jadi kami perlu menghubungkan input relay individu ke Arduino. Untuk menyambungkan beban ke modul geganti rujuk rajah di bawah:

Memasang Litar Modul Relay

Empat beban disambungkan ke modul geganti untuk demonstrasi dan berhati-hati semasa menggunakan AC Mains dengan papan geganti. Hanya untuk demonstrasi, kami telah bertukar HIDUP beban gantian:

Rajah Litar

Langkah 5: Prinsip Kerja Projek

Dalam projek ini, arahan suara digunakan untuk mengendalikan peralatan yang berbeza. Pasang perkakasan mengikut gambarajah litar yang diberikan di atas. Pasang semua komponen di papan roti. Setelah membuat sambungan yang diperlukan, hidupkan bekalan kuasa ke litar dan pasangkan Bluetooth telefon ke modul Bluetooth HC-05. Sebelum memasangkan, pasangkan aplikasi yang disebutkan di atas di telefon pintar anda.

Sekarang, sambungkan telefon dengan modul Bluetooth. Klik pada pilihan ' Sambungkan Robot ”Dan pilih peranti Bluetooth yang sesuai. Sekiranya peranti tidak dipasangkan lebih awal, pasangkan sekarang dengan memasukkan pin 0000 atau 1234.

Berpasangan Telefon Pintar

Selepas sambungan berjaya, peranti bersedia menghantar data. Untuk menghantar data, tekan ikon mikrofon pada aplikasi dan mulailah memberikan perintah suara. Pastikan bahawa ciri pengecaman suara diaktifkan pada telefon pintar anda (ini biasanya dikaitkan dengan aplikasi Google). Contohnya, semasa kita menekan ikon mikrofon dan berkata 'Menghidupkan lampu', aplikasi akan mengenali perintah dan memindahkannya ke modul Bluetooth.

Suara Diiktiraf

Apabila tali dikenali oleh aplikasi, ia akan mengirimkan tali sebagai 'nyalakan lampu #' dan mesej sebenar yang diterima oleh Modul Bluetooth mempunyai format seperti ini ( '* Mesej #' ). Alasan untuk memasukkan '*' dan '#' pada pengemis dan akhir rentetan adalah untuk mengenal pasti permulaan dan akhir mesej. Mesej yang diterima dibandingkan dengan beberapa rentetan yang telah ditentukan dan jika pesan itu sesuai dengan mereka tindakan yang sesuai seperti 'menghidupkan' dan mematikan berlaku.

Dalam proyek ini kami telah menggunakan perintah berikut: 'hidupkan AC', 'matikan AC', 'nyalakan lampu', 'matikan lampu', 'nyalakan TV', 'matikan TV', 'nyalakan kipas ',' Hidupkan semua 'dan' matikan semua '.

Langkah 6: Bermula dengan Arduino

Sekiranya anda tidak biasa dengan Arduino IDE sebelumnya, jangan risau kerana di bawah ini, anda dapat melihat langkah-langkah yang jelas untuk membakar kod pada papan mikrokontroler menggunakan Arduino IDE. Anda boleh memuat turun versi terbaru dari Arduino IDE dari di sini dan ikuti langkah-langkah yang dinyatakan di bawah:

1). Apabila papan Arduino disambungkan ke PC anda, buka 'Panel kawalan' dan klik 'Perkakasan dan Bunyi'. Kemudian klik pada 'Peranti dan Pencetak'. Cari nama port yang menghubungkan papan Arduino anda. Dalam kes saya, ia adalah 'COM14' tetapi mungkin berbeza pada PC anda.

Mencari Pelabuhan

2). Sekarang buka Arduino IDE. Dari Alat, tetapkan papan Arduino ke Arduino / Genuino UNO.

Menetapkan Papan

3). Dari menu Alat yang sama, tetapkan nombor port yang anda lihat di panel kawalan.

Menetapkan Pelabuhan

4). Untuk menggunakan aplikasi kawalan suara ini, kami memerlukan perpustakaan khas untuk disertakan dalam Arduino IDE. Perpustakaan ini dilampirkan pada pautan di bawah, bersama dengan kodnya. Untuk memasukkan perpustakaan, pergi ke Lakarkan> Sertakan Perpustakaan> Tambah ZIP. Perpustakaan .

Sertakan Perpustakaan

5). Muat turun kod yang dilampirkan di bawah dan salin ke IDE anda. Untuk memuat naik kod, klik pada butang muat naik.

Anda boleh memuat turun kod dengan klik di sini.

Langkah 7: Memahami kod

Kod ini tidak begitu rumit tetapi masih, beberapa bahagiannya dijelaskan secara ringkas di bawah.

1. Pada mulanya, perpustakaan disertakan untuk membolehkan komunikasi bersiri pada pin digital lain dari Arduino, menggunakan perisian untuk meniru fungsi. Dua Pin diinisialisasi untuk digunakan dengan modul Bluetooth. Empat Pin diinisialisasi untuk digunakan untuk peralatan rumah yang terhubung ke sistem dan pemboleh ubah rentetan diinisialisasi untuk menyimpan data yang datang melalui Bluetooth secara bersiri.

#masuk const int rxPin = 2; // Memulakan pisns untuk modul bluetooth const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Memulakan Pin untuk Peralatan Rumah Tangga = 5; kipas int = 6; int tv = 7; Data rentetan;

2. persediaan tidak sah () adalah fungsi di mana kita menetapkan pin yang diinisialisasi untuk digunakan sebagai INPUT dan OUTPUT. Baud Rate juga dimulakan di sini. Baud Rate adalah kepantasan papan Arduino berkomunikasi dengan komponen yang terpasang. Dalam fungsi kami, kami telah menetapkan semua pin yang disambungkan ke perkakas RENDAH.

persediaan tidak sah () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (cahaya, OUTPUT); pinMode (kipas, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, RENDAH); digitalWrite (cahaya, RENDAH); digitalWrite (kipas, RENDAH); digitalWrite (tv, RENDAH); }

3. gelung kosong () adalah fungsi yang berjalan berulang kali dalam satu gelung. Di sini semua syarat ditetapkan agar sistem berfungsi dengan baik. Yang berikut Semasa () gelung digunakan untuk mengambil data yang datang secara bersiri ke mikrokontroler.

sementara (1) // Mendapatkan input secara bersiri {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Di bawah semua syarat ditetapkan untuk menghidupkan semua peralatan elektrik yang terpasang, seperti yang diperintahkan oleh pengguna. Keadaan ini cukup mudah dan cukup jelas.

jika (data == '* hidupkan AC') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } lain jika (data == '* matikan AC') {digitalWrite (ac, LOW); Serial.println ('ac off'); } lain jika (data == '* nyalakan lampu') {digitalWrite (cahaya, TINGGI); Serial.println ('menyala'); } lain jika (data == '* matikan lampu') {digitalWrite (cahaya, RENDAH); Serial.println ('lampu mati'); } lain jika (data == '* hidupkan kipas') {digitalWrite (kipas, TINGGI); Serial.println ('fan on'); } lain jika (data == '* matikan kipas') {digitalWrite (kipas, RENDAH); Serial.println ('fan off'); } lain jika (data == '* hidupkan TV') {digitalWrite (tv, TINGGI); Serial.println ('tv on'); } lain jika (data == '* hidupkan TV') {digitalWrite (tv, RENDAH); Serial.println ('tv off'); } lain jika (data == '* hidupkan semua') {digitalWrite (ac, TINGGI); digitalWrite (cahaya, TINGGI); digitalWrite (kipas, TINGGI); digitalWrite (tv, TINGGI); Serial.println ('semua aktif'); } lain jika (data == '* matikan semua') {digitalWrite (ac, LOW); digitalWrite (cahaya, RENDAH); digitalWrite (kipas, RENDAH); digitalWrite (tv, RENDAH); Serial.println ('all off'); }}

Permohonan

  1. Sistem Automasi Rumah yang Diaktifkan Suara akan membantu kita mengawal beban yang berbeza (peralatan elektrik) dengan perintah suara yang sederhana.
  2. Orang yang kurang upaya boleh mendapat banyak faedah dari projek ini seolah-olah mereka tidak dapat berjalan-jalan mereka dapat memberi arahan suara dan giliran HIDUP atau MATI perkakas.
  3. Projek ini juga dapat dikembangkan dengan menambahkan sensor yang berbeza (cahaya, asap, dll.).