Menghubungkan dan Mengendalikan Perangkat dengan Bluetooth, Android, dan Arduino
Ringkasan Proyek
Proyek ini menunjukkan cara mengendalikan perangkat elektronik menggunakan Arduino UNO, modul Bluetooth HC-06, dan aplikasi Android yang dibuat dengan MIT App Inventor 2. Pengguna dapat menyalakan dan mematikan empat LED, mengatur tingkat kecerahannya menggunakan PWM, serta mengontrol perangkat melalui perintah suara. Proyek ini cocok untuk mempelajari komunikasi nirkabel, pemrograman mikrokontroler, dan dasar-dasar otomasi IoT.
Bahan & Komponen
Daftar perangkat keras, modul, dan tools yang dibutuhkan untuk merakit proyek ini.
Daftar Komponen & Perangkat Keras
- 1x Arduino UNO (Mikrokontroler utama untuk menerima perintah Bluetooth dan mengendalikan LED)
- 1x HC-06 Bluetooth Module (Modul komunikasi Bluetooth Classic yang menerima data dari perangkat Android)
- 4x LED (LED merah, kuning, hijau, dan biru sebagai perangkat keluaran yang dapat dikendalikan secara independen)
- 4x Resistor pembatas arus LED (Direkomendasikan untuk melindungi LED dan pin Arduino; nilai resistor disesuaikan dengan LED dan tegangan rangkaian)
- Jumper wires (Kabel penghubung Arduino UNO, HC-06, LED, dan GND)
- 1x Breadboard (Papan untuk merakit rangkaian tanpa solder)
- 1x Kabel USB Arduino (Menghubungkan Arduino UNO ke komputer untuk pemrograman dan catu daya)
- 1x Perangkat Android (Smartphone atau tablet untuk mengirim perintah melalui Bluetooth)
- 1x Sumber daya 5V (Catu daya untuk Arduino dan modul Bluetooth sesuai spesifikasi perangkat)
Catatan: Daftar komponen Hackster mencantumkan satu item LED generik, sedangkan rangkaian pada tutorial menggunakan empat LED dengan warna berbeda.
Software dan Aplikasi
- Arduino IDE (Software untuk menulis, mengompilasi, dan mengunggah program ke Arduino UNO)
- Library SoftwareSerial (Library Arduino untuk membuat komunikasi serial tambahan melalui pin digital)
- MIT App Inventor 2 (Platform visual programming untuk membuat aplikasi Android)
- MJRoBot BT Digital Analog Voice Control (Aplikasi Android buatan penulis untuk mengirim perintah digital, analog/PWM, dan perintah suara melalui Bluetooth)
- Google Play Store (Tempat memperoleh aplikasi Android yang digunakan dalam tutorial)
- Serial Monitor (Fitur Arduino IDE untuk memeriksa data komunikasi Bluetooth dan menguji AT Commands)
Langkah Pembuatan
Khusus MemberPanduan perakitan tahap demi tahap dan catatan proses pengerjaan.
Pada proyek ini, kita akan membuat sistem kendali nirkabel menggunakan Arduino UNO dan Bluetooth HC-06. Perangkat Android akan berfungsi sebagai remote control yang dapat mengirim perintah untuk menyalakan LED, mematikan LED, mengatur kecerahan LED, dan menjalankan perintah suara. Komunikasi dilakukan menggunakan Bluetooth sehingga sistem dapat bekerja tanpa koneksi internet.

Langkah 1: Mengenal Modul Bluetooth HC-06 dan Arduino UNO
Bluetooth merupakan teknologi komunikasi nirkabel yang memungkinkan perangkat bertukar data dalam jarak dekat. Teknologi ini banyak digunakan pada smartphone, speaker, kamera, robot, dan perangkat IoT.
Dalam tutorial ini digunakan modul HC-06. Modul ini merupakan Bluetooth Classic dengan konfigurasi Slave, artinya modul menunggu koneksi dari perangkat Bluetooth lain seperti smartphone Android. Modul HC-05 juga tersedia di pasaran dan memiliki kemampuan Master-Slave. Penulis juga memperkenalkan HC-08 dan HC-10 yang menggunakan Bluetooth Low Energy (BLE).
HC-06 digunakan untuk menerima data berupa teks dari aplikasi Android. Data tersebut diteruskan ke Arduino UNO melalui komunikasi serial. Arduino kemudian memproses perintah dan mengendalikan output sesuai pesan yang diterima.


Menurut konfigurasi dasar yang dijelaskan penulis, koneksi HC-06 ke hardware serial Arduino UNO adalah sebagai berikut:
- HC-06 TX ke Arduino RX (pin D0).
- HC-06 RX ke Arduino TX (pin D1).
Namun, pin D0 dan D1 juga digunakan oleh komunikasi USB Arduino ketika mengunggah program. Oleh karena itu, penulis memilih menggunakan library SoftwareSerial agar komunikasi Bluetooth menggunakan pin digital tambahan, yaitu D10 dan D11.
Langkah 2: Menghubungkan dan Menguji Modul HC-06
Hubungkan HC-06 dengan Arduino UNO menggunakan SoftwareSerial. Pada program, objek BT dibuat dengan konfigurasi SoftwareSerial BT(10, 11), yang berarti pin D10 bertindak sebagai RX dan D11 sebagai TX untuk Arduino.
Hubungkan pin TX HC-06 ke Arduino D10 dan RX HC-06 ke Arduino D11. Hubungkan VCC ke sumber daya yang sesuai dengan spesifikasi breakout HC-06 dan GND ke GND Arduino.
Setelah rangkaian terhubung, buka Arduino IDE dan unggah program pengujian Bluetooth pada bagian Code. Buka Serial Monitor dan atur Baud Rate menjadi 9600. Program akan menampilkan pesan Type AT commands. Gunakan Serial Monitor untuk mengirim perintah AT kepada modul dan membaca responsnya.
Beberapa AT Commands yang dapat dicoba adalah:
- AT (Menguji komunikasi; modul seharusnya memberikan respons OK).
- AT+VERSION (Memeriksa versi firmware, contohnya linvorV1.8).
- AT+NAME nama_modul (Mengubah nama Bluetooth, sesuai format perintah firmware HC-06).
- AT+PIN 1234 (Mengatur PIN atau password Bluetooth menggunakan format perintah yang didukung firmware).
PIN bawaan yang umum digunakan pada modul HC-06 dalam tutorial ini adalah 1234. Penulis juga menjelaskan bahwa respons perubahan nama dapat berupa OKsetname.
Pastikan firmware modul mendukung format AT Commands yang digunakan. Beberapa versi firmware HC-06 memiliki variasi format perintah dan kondisi masuk mode AT.
Langkah 3: Menghubungkan Perangkat Android dengan HC-06
Setelah modul HC-06 berhasil berkomunikasi dengan Arduino, tahap berikutnya adalah menghubungkannya dengan perangkat Android. Penulis menggunakan aplikasi MJRoBot BT Digital Analog Voice Control yang dibuat menggunakan MIT App Inventor 2.
Aplikasi tersebut memiliki tiga jenis pengendalian utama, yaitu perintah digital melalui tombol ON/OFF, perintah analog untuk mengatur perangkat yang mendukung PWM, serta perintah suara yang dikonversi menjadi teks oleh perangkat Android.
Langkah pemasangannya adalah:
- Unduh aplikasi MJRoBot BT Digital Analog Voice Control dari Google Play Store.
- Aktifkan Bluetooth pada perangkat Android.
- Buka menu pengaturan Bluetooth dan cari perangkat HC-06.
- Pilih perangkat HC-06 untuk melakukan pairing.
- Masukkan PIN 1234 atau PIN lain yang sebelumnya telah dikonfigurasikan.
- Setelah pairing berhasil, buka aplikasi MJRoBot.
- Pilih nama modul HC-06 dari daftar perangkat Bluetooth yang tersedia.
- Pastikan aplikasi menampilkan status CONNECTED.
Setelah perangkat terhubung, tekan beberapa tombol ON dan OFF pada aplikasi. Buka Serial Monitor Arduino IDE untuk melihat pesan yang diterima oleh Arduino. Contoh pesan yang dikirimkan aplikasi adalah dev1on, dev1off, dev2on, dev2off, dev3on, dev3off, dev4on, dan dev4off.



Jika komunikasi berhasil, pesan yang dikirimkan oleh aplikasi akan muncul di Serial Monitor. Ini menjadi tanda bahwa koneksi antara Android, HC-06, dan Arduino UNO sudah berjalan.
Langkah 4: Merakit Rangkaian Empat LED
Selanjutnya, kita akan membuat rangkaian yang memungkinkan empat LED dikendalikan melalui aplikasi Android. Setiap LED memiliki tombol ON dan OFF tersendiri. LED juga dapat dikendalikan melalui slider untuk mengatur kecerahan menggunakan PWM.
Hubungkan empat LED ke pin Arduino UNO berikut:
- Device 1: LED merah pada pin D3.
- Device 2: LED kuning pada pin D5.
- Device 3: LED hijau pada pin D6.
- Device 4: LED biru pada pin D9.
Setiap LED perlu dipasang dengan resistor pembatas arus. Hubungkan kaki negatif LED ke GND dan kaki positif melalui resistor menuju pin Arduino yang sesuai.
Empat pin tersebut mendukung PWM sehingga dapat digunakan untuk mengatur intensitas cahaya. Arduino UNO menggunakan fungsi analogWrite() dengan nilai 0 sampai 255. Nilai 0 berarti output PWM berada pada tingkat minimum, sedangkan 255 berarti tingkat maksimum.

Langkah 5: Mengendalikan LED melalui Tombol ON dan OFF
Ketika pengguna menekan tombol ON atau OFF pada aplikasi, Android akan mengirimkan pesan teks melalui HC-06. Arduino membaca pesan tersebut dan mencocokkannya dengan perintah yang telah dibuat dalam program.
Daftar perintah yang digunakan adalah:
- dev1on: Menyalakan LED merah.
- dev1off: Mematikan LED merah.
- dev2on: Menyalakan LED kuning.
- dev2off: Mematikan LED kuning.
- dev3on: Menyalakan LED hijau.
- dev3off: Mematikan LED hijau.
- dev4on: Menyalakan LED biru.
- dev4off: Mematikan LED biru.
Arduino menggunakan digitalWrite() untuk mengatur kondisi setiap LED. Dengan cara ini, masing-masing LED dapat dikendalikan tanpa mengganggu LED lainnya.
Langkah 6: Mengatur Kecerahan LED Menggunakan PWM
Selain tombol ON dan OFF, aplikasi menyediakan slider untuk mengatur tingkat kecerahan LED. Slider mengirimkan karakter pengenal warna dan nilai PWM dalam rentang 0 hingga 255. Arduino membaca karakter pertama untuk menentukan LED yang akan dikontrol.
Mapping perintah slider adalah:
- r: LED merah pada pin D3.
- y: LED kuning pada pin D5.
- g: LED hijau pada pin D6.
- b: LED biru pada pin D9.
Ketika nilai PWM diterima, Arduino menggunakan analogWrite() untuk mengubah intensitas cahaya LED. Penulis menjelaskan bahwa karakter pengenal slider dikirim sebelum nilai PWM agar Arduino dapat mengetahui perangkat yang akan dikendalikan.
Catatan teknis: Implementasi kode yang ditampilkan pada artikel membaca satu karakter melalui device[2]. Pembacaan tersebut belum mengurai seluruh nilai numerik 0–255 secara benar sebagai bilangan. Untuk penggunaan slider dengan rentang penuh, parsing nilai perlu disesuaikan menggunakan fungsi konversi numerik seperti substring() dan toInt(), dengan format pesan yang disepakati antara aplikasi dan Arduino.
Langkah 7: Mengendalikan Perangkat Menggunakan Perintah Suara
Proyek ini juga menyediakan fitur pengendalian melalui suara. Perangkat Android sudah memiliki fasilitas pengenalan suara yang dapat digunakan oleh aplikasi. Ketika tombol voice control ditekan, Android mendengarkan ucapan pengguna dan mengubahnya menjadi teks. Teks kemudian dikirim melalui Bluetooth ke Arduino.
Program Arduino memeriksa teks yang diterima dan mencocokkannya dengan perintah yang sudah ditentukan. Penulis memberikan contoh perintah suara seperti Connect TV untuk menyalakan LED hijau yang berhubungan dengan Device 3. LED dapat diganti dengan relay apabila ingin mengendalikan perangkat lain, dengan memperhatikan keselamatan dan spesifikasi listrik.
Pada kode contoh berbahasa Portugis di blog penulis, tersedia beberapa perintah seperti ligar um, desligar um, ligar som, desligar som, ligar TV, desligar TV, ligar quarto, dan desligar quarto. Untuk menggunakan Bahasa Indonesia, perintah dapat diganti misalnya menjadi nyalakan lampu merah, matikan lampu merah, nyalakan lampu hijau, dan matikan lampu hijau. Pastikan teks hasil pengenalan suara sama persis dengan teks yang diperiksa dalam program Arduino.

Langkah 8: Menguji dan Mengevaluasi Sistem
Setelah rangkaian dan aplikasi selesai dibuat, lakukan pengujian secara bertahap. Pertama, periksa apakah Arduino dapat menerima data dari HC-06. Kedua, periksa apakah setiap tombol pada aplikasi menghasilkan pesan yang benar. Ketiga, pastikan setiap LED dapat dinyalakan dan dimatikan secara terpisah. Keempat, uji slider dan periksa perubahan intensitas LED. Terakhir, uji setiap perintah suara dan sesuaikan teks pada program jika hasil pengenalan suara berbeda.
Gunakan Serial Monitor dengan Baud Rate 9600 untuk memeriksa pesan masuk. Jika LED tidak merespons, periksa kembali pemetaan pin, orientasi LED, jalur GND, Baud Rate, serta koneksi TX dan RX HC-06.

Langkah 9: Kesimpulan dan Pengembangan Proyek
Proyek ini memperlihatkan bahwa Arduino UNO dapat menerima perintah dari smartphone Android melalui komunikasi Bluetooth. Dengan menggunakan HC-06 dan aplikasi MIT App Inventor 2, pengguna dapat mengontrol empat output digital, mengatur kecerahan melalui PWM, serta mengendalikan perangkat dengan perintah suara.
Konsep ini dapat dikembangkan menjadi remote control robot, sistem otomasi rumah, pengendali lampu, dan berbagai perangkat IoT lokal lainnya. Untuk pengembangan lebih lanjut, LED dapat diganti dengan servo, driver motor, atau relay yang sesuai dengan kebutuhan proyek dan dilengkapi sistem keselamatan.
Dokumentasi dan aplikasi contoh dapat ditelusuri melalui blog asli MJRoBot serta proyek Hackster.io. Penulis juga menyediakan berkas proyek MIT App Inventor 2 dengan ekstensi .aia yang dapat digunakan sebagai referensi pengembangan aplikasi.
Buka Seluruh Panduan, Skema & Source Code
Dapatkan akses penuh ke langkah perakitan detail, diagram sirkuit lengkap, dan source code siap pakai. Gratis selamanya!
