Bagaimana Cara Mendesain Otomatisasi Rumah yang Diaktifkan Suara?
Ide tentang Otomasi Rumah semakin menonjol karena membantu mengurangi tenaga dan kesalahan manusia dan karenanya memperluas efektivitas. Ini menggunakan kombinasi peralatan dan kemajuan pemrograman yang memungkinkan kontrol atas mesin dan gadget elektronik lainnya di dalam rumah. Dengan bantuan Home Automation, kami dapat mengontrol peralatan listrik kami dari jarak jauh dan keuntungan besarnya adalah konsumsi daya berkurang sebagian besar. Ada beberapa jenis Otomasi Rumah seperti Bluetooth Controlled, Remote Controlled dan Internet Controlled dll dan masing-masing memiliki kelebihan dan kekurangan. Dalam proyek ini, kami akan merancang Otomasi Rumah Terkontrol Suara di mana berbagai peralatan akan dikontrol dengan mengirimkan perintah suara. Sistem ini sangat mahal jika dibeli dari pasar tetapi ketika kita mengintegrasikan semua peralatan ini Arduino, menjadi sangat mudah dan murah untuk mengontrol semua peralatan listrik rumah.
Bagaimana Cara Mengotomatiskan Peralatan Rumah Tangga Menggunakan Arduino?
Karena kita memiliki ide dasarnya, sekarang mari kita beralih ke pengumpulan komponen, merakitnya untuk membuat sirkuit, dan menulis kode untuk mengotomatiskan peralatan rumah Anda.
Langkah 1: Komponen yang Digunakan (Perangkat Keras)
Langkah 2: Komponen yang Digunakan (Perangkat Lunak)
Setelah mengunduh Proteus 8 Professional, rancang sirkuit di atasnya. Kami telah menyertakan simulasi perangkat lunak di sini sehingga mungkin nyaman bagi pemula untuk mendesain sirkuit dan membuat koneksi yang sesuai pada perangkat keras.
Langkah 3: Mempelajari Komponen
Seperti yang telah kami buat daftar komponen yang akan kami gunakan dalam proyek kami. Mari kita selangkah lebih maju dan melalui studi singkat tentang cara kerja komponen ini.
- Arduino UNO: Arduino UNO adalah papan mikrokontroler yang terdiri dari microchip ATMega 328P dan dikembangkan oleh Arduino.cc. Papan ini memiliki satu set pin data digital dan analog yang dapat dihubungkan dengan papan ekspansi atau sirkuit lain. Papan ini memiliki 14 pin Digital, 6 pin Analog, dan dapat diprogram dengan Arduino IDE (Integrated Development Environment) melalui kabel USB tipe B. Ini membutuhkan 5V untuk daya DI dan a Kode C.mengoperasikan.
- HC-05 Wireless Bluetooth Serial Transceiver: Kami membutuhkan komunikasi nirkabel dalam proyek ini, jadi kami akan menggunakan teknologi Bluetooth dan untuk modul yang akan digunakan adalah HC-05. Modul ini memiliki beberapa baud rate yang dapat diprogram tetapi baud rate defaultnya adalah 9600 bps. Ini dapat dikonfigurasi sebagai master atau slave, sedangkan modul lain HC-06 hanya dapat bekerja dalam mode slave. Modul ini memiliki empat pin. Satu untuk VCC (5V) dan tiga sisanya untuk GND, TX, dan RX. Kata sandi default modul ini adalah 1234 atau 0000. Jika kami ingin berkomunikasi antara dua mikrokontroler atau berkomunikasi dengan perangkat apa pun dengan fungsi Bluetooth seperti Telepon atau Laptop HC-05 membantu kami melakukannya. Beberapa aplikasi android sudah tersedia yang membuat proses ini jauh lebih mudah.
- Kontrol Suara Bluetooth untuk Arduino: Aplikasi ini dikembangkan oleh SimpleLabsIN untuk proyek Arduino berbasis suara. Aplikasi Android ini akan menggunakan fitur pengenalan suara telepon dan akan mengubah perintah suara menjadi teks dan mentransfer string melalui Bluetooth. Aplikasi dapat diunduh dari Sini
- Modul Relai 12 V: Jika ada yang ingin mengalihkan beban tegangan tinggi dari mikrokontroler, papan relay 12V ini bisa melakukannya. Ini berisi relai 8 x 12V dengan rating 10A / 250V AC (DC 30V / 10A). Setiap modul relai dinyalakan / dimatikan oleh input digital opto-terisolasi yang dapat dihubungkan langsung ke pin output mikrokontroler. Ini hanya membutuhkan tegangan sekitar 1.0V untuk menyalakan input tetapi dapat menangani tegangan input hingga 12V. Ini membuatnya ideal untuk perangkat 5V dan 3,3V. Anda dapat membeli modul relai sesuai dengan jumlah peralatan yang ingin Anda kontrol. Misalnya, jika Anda ingin mengontrol 4 peralatan Anda harus membeli 4 modul Relay.
Langkah 4: Memahami Desain Sirkuit Dengan Diagram Sirkuit
Pertama, kita perlu menghubungkan HC-05 dengan Arduino UNO. Karena Bluetooth menggunakan protokol UART, kita perlu menggunakan pin RX dan TX dari Arduino. Kami akan menggunakan pustaka "SoftwareSerial" untuk menentukan pin RX dan TX kami sendiri (Pin 2 adalah RX dan Pin 3 adalah TX). Pin RX dari modul Bluetooth dan pin TX dari Arduino akan terputus. Kedua, kami akan menghubungkan relai ke Arduino. Kami telah menggunakan papan relai yang sudah jadi dengan 4 saluran, jadi kami perlu menghubungkan input relai individu ke Arduino. Untuk menghubungkan beban ke modul relai lihat diagram di bawah ini:
Empat beban disambungkan ke modul relai untuk demonstrasi dan berhati-hatilah saat menggunakan Sumber Listrik AC dengan papan relai. Hanya untuk demonstrasi, kami telah beralih DI beban alternatif:
Langkah 5: Prinsip Kerja Proyek
Dalam proyek ini, perintah suara digunakan untuk mengontrol peralatan yang berbeda. Pasang perangkat keras sesuai dengan diagram sirkuit yang diberikan di atas. Pasang semua komponen di papan tempat memotong roti. Setelah membuat sambungan yang diperlukan, hidupkan catu daya ke sirkuit dan pasangkan Bluetooth ponsel ke modul Bluetooth HC-05. Sebelum memasangkan, instal aplikasi yang disebutkan di atas di ponsel cerdas Anda.
Sekarang, hubungkan telepon dengan modul Bluetooth. Klik pada opsi "Hubungkan Robot”Dan pilih perangkat Bluetooth yang sesuai. Jika perangkat belum disandingkan sebelumnya, pasangkan sekarang dengan memasukkan pin 0000 atau 1234.
Setelah koneksi berhasil, perangkat siap untuk mengirimkan data. Untuk mengirimkan data, tekan ikon mikrofon pada aplikasi dan mulailah memberikan perintah suara. Pastikan fitur pengenalan suara diaktifkan di smartphone Anda (ini biasanya dikaitkan dengan aplikasi Google). Misalnya, saat kita menekan ikon mikrofon dan berkata "Menyalakan lampu",aplikasi akan mengenali perintah tersebut dan mentransfernya ke modul Bluetooth.
Ketika string dikenali oleh aplikasi, ia akan mengirim string sebagai "nyalakan lampu #" dan pesan sebenarnya yang diterima oleh Modul Bluetooth memiliki jenis format ini ("*Pesan#"). Alasan untuk mengisi '*' dan '#' di pengemis dan akhir string adalah untuk mengidentifikasi awal dan akhir pesan. Pesan yang diterima dibandingkan dengan beberapa string yang telah ditentukan dan jika pesan cocok dengannya, tindakan yang sesuai seperti "menyalakan" dan mematikan terjadi.
Dalam proyek ini kami telah menggunakan perintah berikut: "nyalakan AC", "matikan AC", "nyalakan lampu", "matikan lampu", "nyalakan TV", "matikan TV", "nyalakan kipas angin "," Hidupkan semua "dan" matikan semua ".
Langkah 6: Memulai Arduino
Jika sebelumnya Anda belum familiar dengan Arduino IDE, jangan khawatir karena di bawah ini, Anda dapat melihat langkah-langkah jelas burning code pada papan mikrokontroler menggunakan Arduino IDE. Anda dapat mengunduh versi terbaru Arduino IDE dari sini dan mengikuti langkah-langkah yang disebutkan di bawah ini:
1). Ketika papan Arduino terhubung ke PC Anda, buka "Control panel" dan klik "Hardware and Sound". Kemudian klik "Perangkat dan Pencetak". Temukan nama port tempat papan Arduino Anda terhubung. Dalam kasus saya ini adalah "COM14" tetapi mungkin berbeda di PC Anda.
2). Sekarang buka Arduino IDE. Dari Alat, atur papan Arduino ke Arduino / Genuino UNO.
3). Dari menu Alat yang sama, setel nomor port yang Anda lihat di panel kontrol.
4). Untuk menggunakan aplikasi yang dikontrol suara ini, kami membutuhkan perpustakaan khusus untuk disertakan dalam Arduino IDE. Perpustakaan ini dilampirkan pada tautan di bawah ini, bersama dengan kodenya. Untuk memasukkan perpustakaan pergi ke Sketsa> Sertakan Perpustakaan> Tambahkan ZIP. Perpustakaan.
5). Unduh kode yang terlampir di bawah ini dan salin ke IDE Anda. Untuk mengunggah kode, klik tombol unggah.
Anda dapat mengunduh kode dengan mengklik di sini.
Langkah 7: Memahami kode
Kode ini tidak begitu rumit tetapi tetap saja, beberapa bagiannya dijelaskan secara singkat di bawah ini.
1. Pada awalnya, perpustakaan disertakan untuk memungkinkan komunikasi serial pada pin digital Arduino lainnya, menggunakan perangkat lunak untuk mereplikasi fungsionalitas tersebut. Dua Pin diinisialisasi untuk digunakan dengan modul Bluetooth. Empat Pin diinisialisasi untuk digunakan pada peralatan rumah tangga yang terhubung ke sistem dan variabel string diinisialisasi untuk menyimpan data yang datang melalui Bluetooth secara serial.
#includeconst int rxPin = 2; // Inisialisasi pisns untuk modul bluetooth const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Inisialisasi Pin untuk Peralatan Rumah Tangga int light = 5; kipas int = 6; int tv = 7; Data string;
2. batal penyiapan ()adalah fungsi di mana kita mengatur pin yang diinisialisasi untuk digunakan sebagai INPUT dan OUTPUT. Baud Rate juga diinisialisasi di sini. Baud Rate adalah kecepatan komunikasi papan Arduino dengan komponen yang terpasang. Dalam fungsi kami, kami telah mengatur semua pin yang terhubung ke peralatan ke RENDAH.
batal penyiapan () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (light, OUTPUT); pinMode (kipas, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, LOW); digitalWrite (ringan, RENDAH); digitalWrite (kipas, RENDAH); digitalWrite (tv, LOW); }
3. void loop ()adalah fungsi yang berjalan berulang kali dalam satu putaran. Di sini semua kondisi diatur agar sistem bekerja dengan baik. Pengikut Sementara() loop digunakan untuk mengambil data yang datang secara serial ke mikrokontroler.
while (1) // Mendapatkan masukan secara serial {while (mySerial.available () <= 0); ch = mySerial.read (); jika (ch == '#') putus; data + = ch; }
Di bawah semua kondisi diatur untuk menyalakan semua peralatan listrik yang terpasang, sesuai perintah pengguna. Kondisi ini cukup sederhana dan cukup jelas.
if (data == "* nyalakan AC") {digitalWrite (ac, HIGH); Serial.println ("ac on"); } else if (data == "* matikan AC") {digitalWrite (ac, LOW); Serial.println ("ac off"); } lain jika (data == "* nyalakan lampu") {digitalWrite (terang, TINGGI); Serial.println ("lampu menyala"); } lain jika (data == "* matikan lampu") {digitalWrite (terang, RENDAH); Serial.println ("lampu mati"); } lain jika (data == "* nyalakan kipas") {digitalWrite (kipas, TINGGI); Serial.println ("kipas aktif"); } lain jika (data == "* matikan kipas") {digitalWrite (kipas, RENDAH); Serial.println ("kipas mati"); } lain jika (data == "* nyalakan TV") {digitalWrite (tv, HIGH); Serial.println ("tv on"); } lain jika (data == "* nyalakan TV") {digitalWrite (tv, LOW); Serial.println ("tv mati"); } lain jika (data == "* hidupkan semua") {digitalWrite (ac, HIGH); digitalWrite (ringan, TINGGI); digitalWrite (kipas, TINGGI); digitalWrite (tv, HIGH); Serial.println ("semua aktif"); } lain jika (data == "* matikan semua") {digitalWrite (ac, LOW); digitalWrite (ringan, RENDAH); digitalWrite (kipas, RENDAH); digitalWrite (tv, LOW); Serial.println ("semua mati"); }}
Aplikasi
- Sistem Otomatisasi Rumah yang Diaktifkan dengan Suara akan membantu kami mengontrol beban yang berbeda (peralatan listrik) dengan perintah suara sederhana.
- Orang-orang yang cacat bisa mendapatkan banyak manfaat dari proyek ini seolah-olah mereka tidak dapat berjalan-jalan, mereka dapat memberikan perintah suara dan berbalik. DI atau MATI alat.
- Proyek ini juga dapat diperluas dengan menambahkan berbagai sensor (cahaya, asap, dll.).