Pada artikel yang lalu, “Komunikasi Data dengan Bluetooth antara PC dan Arduino“, sudah saya berikan sketch handler untuk menangani Bluetooth Module HC-05 menggunakan Arduino untuk berkomunikasi dengan komputer (PC/laptop). Pada artikel kali ini saya akan coba menjelaskannya satu persatu tiap baris source code. Sedangkan untuk modul bluetooth HC-05 ini sendiri banyak digunakan karena memang relatif mudah dijumpai di pasaran dan harganya juga relatif murah. Untuk refresh, berikut adalah gambar rangkaian koneksi Arduino dengan Bluetooth Module HC-05.
Alat dan bahan untuk eksperimen:
- Arduino Uno, tipe DIP (harga 65.000, bisa dibeli di sini) atau tipe SMD (harga 45.000 bisa dibeli di sana)
- Modul Bluetooth HCo5 seharga 42.000, bisa dibeli di sini
- Beberapa kabel jumper dupont female to male
Konfigurasi koneksi pinout
Pin 8 Arduino – pin TxD HC-05
Pin 9 Arduino – pin RxD HC-05
Pin 5V Arduino – pin Vcc HC-05
Pin Gnd Arduino – pin Gnd HC-05
Perhatikan setidaknya ada 4 pinout yang digunakan untuk interfacing antar Arduino dengan Bluetooth module HC-05, yakni Vcc, Gnd, TxD dan RxD. Pada prinsipnya, modul ini berkomunikasi menggunakan protokol serial dengan elektrikalnya berada pada level TTL sehingga dapat langsung dengan Arduino. Pada contoh sketch yang saya berikan, saya menggunakan pin digital 8 dan 9 yang diemulasi sebagai port serial menggunakan library SoftSerial.h. Mengapa tidak menggunakan port serial hardware di pin 0 dan 1? Sebenarnya Anda juga bisa menggunakan pin ini namun Anda tidak akan bisa memonitor data serial lewat komputer (melalui fitur Serial Monitor) karena port serial sudah digunakan untuk berkomunikasi dengan modul Bluetooth. Jadi saya menggunakan pin 8 dan 9 sebagai port serial agar saya tetap dapat memonitor/troubleshoot pertukaran data serial yang terjadi melalui jendela Serial Monitor (menu Tools | Serial Monitor), disamping tetap dapat berkomunikasi dengan modul Bluetooth secara serial.
Supaya refresh, saya tuliskan kembali sketch handler untuk Bluetooth module HC-05 ini
#include <SoftwareSerial.h>// impor library softwareserial SoftwareSerial BlueSer(8, 9); // RX, TX int led=13; int BluetoothData; void setup() { Â BlueSer.begin(9600); Â BlueSer.println("Bluetooth ready, tekan 1 or 0 utk on/off LED"); Â pinMode(led,OUTPUT); Â Serial.begin(9600); } void loop() { if (BlueSer.available()){ BluetoothData=BlueSer.read(); Serial.println(BluetoothData); Â Â if(BluetoothData=='1'){Â Â Â Â digitalWrite(led,HIGH); Â Â BlueSer.println("LED on"); Â Â } Â if (BluetoothData=='0'){ Â digitalWrite(led,LOW); Â Â BlueSer.println("LED off"); Â } } delay(100); }
Penjelasan sketch di atas :
Baris [1] : mendeklarasikan library SoftwareSerial.h yang digunakan untuk mengemulasikan pin digital biasa menjadi pin serial
Baris [2] : mendefinisikan pin digital yang akan diemulasikan menjadi pin serial
Baris [3-4] : mendefinisikan variabel yang akan digunakan dalam sketch
Baris [7] : menginisialisasi pin 8 dan 9 dalam mode serial dengan baudrate 9600 bps
Baris [8] : menuliskan ‘greeting’ ketika komunikasi Bluetooth sudah established dengan pairing device. Gunanya untuk mengecek apakah komunikasi sudah established atau belum.
Baris [9] : menginisialiasi pin 13 dengan mode sebagai pin OUTPUT
Baris [10] : menginisialisasi port serial default (pin 0 dan 1) dengan baudrate 9600. Port serial inilah yang akan digunakan untuk memonitor pertukaran data melalui jendela Serial Monitor.
Baris [14-15] : jika ada data di pin 8/9 akan disalin ke variabel ‘BluetoothData’
Baris [16] : menampilkan variabel ‘BluetoothData’ untuk keperluan debug/monitor pertukaran data melalui jendela Serial Monitor
Baris [17-24] : menyalakan atau mematikan LED di pin 13 sesuai data yang masuk di variabel ‘BluetoothData’
Baris [26] : waktu tunda sebesar 100 milidetik sebelum sketch kembali ke baris []
Kurang lebih beginilah prototipe rangkaian hasil percobaan
di-zoom sisi Arduino
di-zoom sisi bluetooth module HC-05
Demikian tutorial kali, semoga bermanfaat bagi yang membutuhkan. Bagi yang kurang jelas bisa membaca artikel sebelumnya atau menuliskan pertanyaannya di kolom komentar di bawah
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
hasil output dari bluetooth sehingga bisa terkoneksi dengan android apa ya??dibaca pwmnya kah atau ampiltudo sinyalkah atau apa?
outputnya plain text, isinya bisa diatur sesuai kebutuhan (misal PWM, amplitudo, dll)
UNTUK BELAJAR TRAININGNYA BISA HUBUNGIN KE MANA MAS AJI ?
silahkan email [email protected]
mas tolong buatkan tutorial tentang komunikasi hp android dengan arduino menggunakan bluetooth.
makasi ya mas atas tutorialnya kali ini
kapan2 ya
hai mas aji.
saya mau tanya” tentang program. saya memiliki 2 robot yang masing masing menggunakan arduino sebagai kontroller. dimana pada masing” robot terdapat bluetooth. bagaimana memprogram agar kedua robot bisa terhubung melalui bluetooth dan bisa saling mengakses data?
terima kasih.
yang satu diset sebagai bluetooth master, yg lainnya sebagai slave
mas… saya udah liat skect yang contoh dari mas tapi tetep aja lednya dicontrol lewat android gak bisa nyala..mohon mnta contoh skectya buat bisa diakses lewat android..makasih
sketch di atas udah tested n working mas
itu softwareSerial.h daptnya darimana mas..?
udah bawaan arduino mas
Mas, hc05 kan bisa mode slave atau master, suhu udh bisa kebaca di serial monitor, tapi masalahnya bingung kalo hc05 nya di mode slave bisa connect ke hp, tapi kan slave gabisa nerima data, otomatis harus mode master, nah pas di rubah ke mode master eh malah ga connect ke hp mas, barangkali mas bekenan jawab dan punya solusi, thnks
mungkin sy benerin dulu konsepnya mas, bluetooth bisa saling komunikasi jika satu bertindak sebagai master sementara yang lainnya sebagai slave. Dengan kata lain bluetooth slave juga bisa terima data. Dalam case mas alddy, bluetooth slave ‘ngga bisa nerima’ data karena lawannya adalah slave juga, jadi ga ketemu tx-rx nya (bluetooth di handpahone default-nya adalah slave). Jadi jika ingin berkomunikasi via bluetooth dengan hp, maka sisi arduino, modul bluetooth-nya harus diset sebagai master. Demikian mas sedikit prinsip dasarnya. Mengenai ngga bisa connect dengan hp, coba dipairing dulu secara manual di sisi handphone-nya, bisa detect ‘hc05’ ngga? Kalo bisa detect coba segera… Read more »
Iya emang gitu maksud nya mas, saya setting bluetooth hc 05 nya sebagai master karena tugasnya buat kirim data ke hp, tapi yang saya bingung saat di set master malah ga connect, tapi terdeteksi, lain halnya kalo bluetoothnya saya set slave bisa connect ke hp
udah bisa di-pairing blm mas?
Tetep blm bisa mas kalo mode bluetoothnya master, kalo mode nya slave bisa, kalo slave androidnya gabisa nerima data suhu nya
trus sy harus gmn mas, he he ….
intinya hrs master slave mas, dan hrs dipairing dulu. Kalo masih ngga bisa coba beli modul bluetooth yg baru siapa tau rusak
Selamat malam mas ajie gw ma nanya bisa gak bluetooh sama arduino tetap hidup walaupun bluetooth udah disconect dari android
tetap hidup mas
bg bisa gk bluetooth HC-05 SAMA BLUETOOTH SMARPHONE terkoneksi otomatis bg ?
mungkin bisa, tapi harus aplikasi androidnya yang aktif establish bluetooth connection-nya
masih aktif gak neh gan untuk arduinonya.. kemaren ane beli HC 05 tp masih gagal bisa konek ke android, karena gak terbaca bluetooth HC 05 nya… kenapa ya?
Q: masih aktif gak neh gan untuk arduinonya..
A: ga tau gan, kan arduinonya di situ 🙂
Q: kemaren ane beli HC 05 tp masih gagal bisa konek ke android, karena gak terbaca bluetooth HC 05 nya… kenapa ya?
A: kasih power 5v dulu, hrsnya di search di android ke-detect dulu, habis itu baru pairing. Habis pairing baru konekkan Tx Rx Hc05 secara menyilang dg Tx rx arduino (bisa pake software serial atau hardware serial). Habis itu coba lg programnya
Sy kan lhat postingan mas Sapta tentang Bluetoth hc 05.
Pertanyaan ya sy kan mau bikin projject sistem keamanan pakke password tp pass nya itu lwt Android mad. Kan harus ada bluetoth hc nya kan. Nah kenapa pas sy inputkan karakter nya cuma 1 huruf sj ya mas tdak bsa banyak..
seharusnya bisa mb. Koneksi antara Android dan bluetooth HC05 seperti komunikasi serial (SPP) biasa. Untuk troubleshoot saya sarankan instal dulu aplikasi Blueterm (bluetooth terminal, cari di google play) di androidnya. Kemudian coba pairing dan kirim data lewat aplikasi tsb. Kalo udah yakin bisa, baru beralih ke program buatan sendiri
mas ajie saya mau tanya untuk buat bluethooth dari dlc jumper(untuk injeksi motor honda) apa bisa? tetapi terhubung ke hp maupun pc/laptop
pada prinsipnya bisa, cuma banyak hal yg perlu dilakukan spy yg mas inginkan bisa terwujud
ada WA mas? ato apa saja bahan yang diperlukan dan caranya gimana?
itu di artikel ada mas, semua bahan yg diperlukan. Caranya juga sudah dijelaskan di artikel. Kalo ada pertanyaan disampaikan di sini, kita jawab secepat mungkin
Hi dear
Jump wire kita guna female male…. Yg female tu nak pasang kat mana dan sama mcm tu male
maaf ngga paham pertanyaannya, would you please translate into english?