Wireless Upload Arduino Sketch Via Bluetooth HC-05 [SOLVED]
بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ
Salam dari admin Creative Project.
Segala Artikel yang Admin tampilkan disini adalah semata-mata untuk berbagi, semoga bermanfaat bagi
kita semua. Mohon maaf apabila terdapat kesalahan yang ada pada blog ini dikarenakan
kurangnya ilmu dari Admin blog. Mohon dimaklumi bagi para pembaca, karena tak
ada gading yang tak retak.
Pada postingan kali ini
Admin caturcreativeproject menyajikan materi dengan judul “Mengirim Program
Arduino Secara Wireless Menggunakan Bluetooth HC-05”. Admin mencoba membuat
pembahasan materi ini sebaik dan selengkap mungkin setiap bahasannya dengan
tujuan agar pembaca yang bahkan belum pernah menggunakan perangkat seperti
Bluetooth HC-05 sekalipun bisa berhasil membuat project kali ini. Pada tutorial
ini Admin menyajikan 3 jenis board Arduino sekaligus yang dapat diterapkan
metode pengiriman program secara wireless dengan Bluetooth HC-05, yakni Arduino
Pro Mini, Arduino UNO, dan Arduino Mega 2560. Untuk Arduino jenis yang lain
mungkin akan dibahas pada lain kesempatan.
Video Tutorial Terbaru Part-1
Video Tutorial Terbaru Part-2
Video Demo Lama dgn Arduino Uno
Video Demo Lama dgn Arduino Mega
Video Demo Lama dgn Arduino Pro Mini
Latar
Belakang
Sebelum masuk kepembahasan
materi, Admin ingin menceritakan sedikit latar belakang pembahasan materi ini,
serta adanya kata solved yang Admin sisipkan pada judul postingan. Postingan
dengan materi ini sebenarnya Admin adopsi dari web http://makezine.com/
atau untuk alamat lengkapnya silahkan lihat pada akhir postingan. Pembahasan
pada blog tersebut dilakukan secara ringkas dan jelas serta dilakukan secara
tahap demi tahap disertai dengan gambar sehingga memudahkan dalam memahaminya. Lalu
pembahasan yang Admin lakukan pada blog ini adalah berusaha untuk membuatnya
secara lebih rinci lagi, sehingga maksud dan tujuan dari setiap tahap bisa
difahami secara lebih baik oleh pembaca, terutama yang belum pernah sama sekali
menggunakan perangkat Bluetooth HC-05. Sebagai contoh Admin berusaha
menjelaskan maksud dan tujuan dari beberapa parameter yang diatur pada BT
HC-05, atau tata cara untuk masuk ke command mode Bluetooth HC-05, atau beberapa
bahasan lainnya.
Berdasarkan pada
kolom komentar pada web http://makezine.com/
kebanyakan user mengalami kegagalan pada pembuatan project ini. Beberapa yang
berhasil melakukan pengiriman program kedalam chip Arduino-nya pun masih
memiliki masalah dengan adanya pesan error pada Arduino IDE miliknya. Admin
sendiri mengalami kegagalan pada beberapa kali percobaan dalam pembuatan proyek
ini, khususnya untuk transfer program pada Arduino UNO. Sedangkan untuk Arduino
pro mini, dalam beberapa kali percobaan Admin sudah berhasil melakukan transfer
program kedalam chip secara wireless. Dengan melakukan beberapa modifikasi dan
percobaan berdasarkan keberhasilan pada Arduino pro mini serta pengalaman user
pada kolom komentar web http://makezine.com/
akhirnya Admin berhasil melakukan pengiriman program pada Arduino UNO secara
wireless dengan Bluetooth HC-05. Sedangkan untuk Arduino Mega mudah saja karena
inti masalah sudah terpecahkan pada percobaan Arduino UNO. Dengan rasa syukur
atas keberhasilan ini maka muncul keinginan Admin untuk berbagi sedikit
pengetahuan ini dengan menulis pembahasan materi pada blog caturcreativeproject
dengan judul “Mengirim Program
Arduino Secara Wireless Menggunakan Bluetooth HC-05 [SOLVED]”
kedalam blog ini dan berusaha menyajikan pembahasan materi dengan
sebaik-baiknya. Adapun beberapa pokok bahasan yang Admin tulis pada materi ini
antara lain adalah :
Bluetooth HC-05
Bluetooth HC-05
1.
Sekilas
tentang Bluetooth HC-05
2.
Tata
cara masuk At mode Bluetooth HC-05
3.
Setting
parameter Bluetooth HC-05
4.
Mengkoneksikan
HC-05 dengan Bluetooth pada PC
5.
Memasang
jumper pada kaki 32 Bluetooth HC-05
Modifikasi pada Arduino board [ Arduino UNO dan Mega 2560 ]
Mengupload Program Arduino Secara Wireless
Pembahasan
Materi
I. Step By Step Configure Bluetooth HC-05
A. Sekilas Tentang Bluetooth HC-05
I. Step By Step Configure Bluetooth HC-05
A. Sekilas Tentang Bluetooth HC-05
Bluetooth
serial module seperti Bluetooth hc-05 digunakan untuk mengkonversi port serial
yang berkomunikasi dengan perangkat luar dengan menggunakan kabel menjadi
komunikasi serial dengan tekhnologi wireless atau tanpa kabel. Bluetooh HC-05
memiliki format pengiriman dan penerimaan data serial yang sama dengan
peralatan yang menggunakan perangkat keras UART (Universal Asynchronous
Receiver-Transmitter). Selain HC-05, juga terdapat beberapa tipe Bluetooth
serial module yang lain yakni HC-03 , HC-04 dan HC-06. Bluetooth serial module
dengan tipe bernomor genap (HC-04 dan HC-06) adalah jenis yang mode operasinya
tidak bisa diubah dari setelan pabrik. Jika sudah dari pabrikan dalam mode
master, maka tidak bisa diubah menjadi mode slave. Hal ini berbeda dengan bluetooth
serial module dengan tipe bernomor ganjil (HC-03 dan HC-05) yang memiliki mode
khusus untuk pengaturan parameter bluetooh, sehingga bluetooh bisa diubah
menjadi mode slave atau master. Untuk pembelian bluetooh HC-04 dan HC-06
perhatikan kode huruf yang tertera pada keterangan saat pembelian, bentuk kode
tersebut biasanya adalah :
HC-04-M, M=master Device
HC-04-S, S=slave Device
HC-06-M, M=master Device
HC-06-S, S=slave Device
Admin
sendiri lebih menyarankan untuk menggunakan model Bluetooh HC-03 atau HC-05,
karena sifatnya yang flexibel.
B. Tata Cara Masuk At Mode Bluetooth HC-05
Setelah anda selesai
membaca pembahasan ini sebaiknya ditunda terlebih dahulu untuk
mempraktekkannya, sebaiknya ikuti dulu pembahasan setting parameter Bluetooth
HC-05 karena merupakan lanjutan dari pembahasan ini.
Bluetooh HC-05 memilliki
dua mode kerja yakni communication mode dan at mode. Communication mode adalah
kondisi ketika bluetooth HC-05 siap untuk berkomunikasi dengan perangkat bluetooth
yang lain baik sebagai master ataupun slave. Bluetooth sebagai master adalah
kondisi dimana bluetooth tersebut difungsikan sebagai pengontrol komunikasi,
atau ia bertugas mencari perangkat bluetooth yang berada disekitarnya dan mengirim
permintaan komunikasi kepada perangkat bluetooh yang ditemukan. Sedangkan slave
adalah kondisi dimana perangkat bluetooth mengunggu datangnya permintaan untuk
melakukan komunikasi.
Berdasarkan mode
komunikasinya (communication mode) bluetooth hc-05 memiliki dua mode kerja, yakni
order-response work mode dan automatic connection work mode. Untuk
order-response work mode maksudnya adalah komunikasi yang dijalin antar
bluetooth dilakukan secara manual, baik antar bluetooh hc-05, atau antara bluetooh
hc-05 dengan bluetooh pada pc ataupun pada smartphone. Bisa dikatakan untuk
mengkoneksikan kedua piranti bluetooh tersebut menggunakan bantuan operator
atau manusia. Sedangkan untuk automatic connection work mode komunikasi yang
dijalin antar bluetooth dilakukan secara otomatis ketika kedua bluetooh dalam
kondisi aktif. Pada saat kedua bluetooth diberikan power maka bluetooh master
secara otomatis mencari bluetooth slave yang memiliki alamat tertentu dan kemudian
mengirimi permintaan komunikasi, sedangkan pada bluetooth slave, ia menunggu
permintaan komunikasi dari master, saat sinyal permintaan komunikasi muncul
maka slave mengidentifikasi merupakan permintaan komunikasi dari bluetooth yang
tepat dan kemudian menyetujui permintaan tersebut. Tentunya hal ini membutuhkan
beberapa pengaturan khusus (insyallah akan saya buat postingan khusus membahas
materi ini).
At mode adalah bluetooth
masuk kedalam mode khusus untuk pengaturan parameter, dimana
parameter-parameter yang diatur tersebut berguna untuk menentukan cara
bluetooth beroperasi, seperti bluetooh sebagai master atau slave, kecepatan
komunikasi bluetooth, mengatur nama bluetooth dan lain sebagainya. Terdapat 2
macam tata cara agar bluetooth HC-05 bisa masuk ke dalam At mode yakni :
Setelah program SoftwareSerialExample terbuka silahkan ubah baris program mySerial.begin (4800) menjadi mySerial.begin (38400), atau silahkan lihat program yang Admin tampilkan diatas. Tujuan dari baris program ini adalah agar Arduino dapat berkomunikasi dengan Bluetooth HC-05, yang jika dalam kondisi At mode, ia beroperasi dengan baudrate 38400 bps (Bluetooth masuk ke At mode dengan cara nomor 2 pada pembahasan “Tata cara masuk At mode bluetooth HC-05”). Selanjutnya upload program tersebut ke Arduino UNO anda.
3. Wiring Arduino UNO dengan Bluetooth HC-05
Baud Rate 115200 adalah kecepatan komunikasi data serial antara Arduino board dengan software Arduino IDE ketika upload program dilakukan. Kecepatan Baudrate tersebut menyesuaikan dengan jenis board Arduino yang digunakan. Misal untuk Arduino UNO dan Mega adalah 115200 bps, sedangkan untuk Arduino Pro Mini adalah 57600 bps. Untuk melihat baudrate tersebut silahkan buka file boards.txt yang berada dilokasi C:\Program Files\Arduino\hardware\arduino\avr kemudian setelah membuka file boards.txt tekan CTRL+F dan ketikkan kata kunci speed. Perhatikan gambar dibawah ini :
D. Menghubungkan (pairing) Bluetooth HC-05 Dengan Bluetooth Pada PC
Ditulis dan Diterjemahkan oleh Admin blog caturcreativeproject.blogspot.com
- 1. At mode dengan Baud Rate
9600
- Matikan supply tegangan ke modul Bluetooth HC-05
- Berikan input low level pada pin 34 Bluetooth HC-05
- Berikan Supply tegangan ke modul bluetooth HC-05
- Berikan input high level ke pin 34 bluetooth HC-05 (jumper pin VCC dengan pin 34)
Maka modul Bluetooth HC-05 akan masuk ke AT mode dengan Baud rate 9600. Sebagai ciri bahwa modul Bluetooth berhasil masuk ke At mode perhatikan interval nyala led yang ada pada modul, jika berhasil masuk ke At mode interval nyala led tersebut akan berbeda dengan sebelum pin 34 dijumper dengan pin vcc.
2. At mode dengan Baud Rate 38400
- Matikan supply tegangan ke modul Bluetooth HC-05
- Jumper pin VCC dengan pin 34 pada Bluetooth HC-05
- Berikan supply tegangan ke modul Bluetooth HC-05
Maka modul Bluetooth HC-05 akan masuk ke AT mode dengan Baud rate 38400, Cara yang kedua ini lebih Admin sarankan untuk digunakan. Pada tutorial ini Admin menggunkaan cara yang kedua ini. Lalu maksud dari baud rate 38400 adalah pin RXD dan TXD pada Bluetooth yang dihubungkan dengan pin TXD dan RXD ke perangkat luar misal Arduino, melakukan pengiriman dan penerimaan data dengan kecepatan 38400bps. Perhatikan gambar Bluetooth HC-05 dibawah ini.
Modul Bluetooth HC-05 tanpa Shield tambahan |
Modul Bluetooth HC-05 milik Admin yang dilengkapi dengan Shield tambahan |
Modul Bluetooth HC-05 milik Admin yang dilengkapi dengan Shield tambahan - Model 01 |
Modul Bluetooth HC-05 milik Admin yang dilengkapi dengan Shield tambahan - Model 02 |
Pada
gambar 3 dan 4, Bluetooth yang Admin miliki merupakan Bluetooth HC-05 yang
sudah dilengkapi dengan shield tambahan. Modul ini sudah menyediakan pin out
dari Bluetooth antara lain pin state, RXD, TXD, GND, VCC dan WAKEUP atau KEY,
sehinga memudahkan interface Bluetooth dengan perangkat luar. Yang perlu
diperhatikan adalah pin 34 pada shield yang berbeda pabrikannya memiliki nama
yang berbeda, namun untuk posisinya selalu berada dibawah pin VCC.
C. Setting Parameter Pada Bluetooth HC-05
Sebelum
melanjutkan pembahasan, Admin ingin mengingatkan kembali untuk sebaiknya
membaca terlebih dahulu hingga tuntas bagian pembahasan “tata cara masuk At
mode Bluetooth HC-05” agar lebih memudahkan praktek pada pembahasan disini.
1.
Install Arduino IDE versi terbaru
Baiklah
hal pertama yang harus dilakukan adalah meng-install Arduino IDE versi terbaru.
Silahkan download pada link resmi Arduino berikut https://www.arduino.cc/en/Main/Software . Alasan mengapa dibutuhkannya software Arduino IDE
dengan versi terbaru adalah karena software Arduino IDE dengan versi yang lama
belum mendukung pengiriman sketch Arduino via Bluetooth yang ada di PC atau
Laptop. Dibutuhkan modifikasi khusus pada Arduino IDE yang tentunya akan lebih
rumit, agar upload program via Bluetooth bisa dilakukan. Pada tutorial ini
Admin menggunakan software Arduino IDE dengan versi 1.6.12.
2.
Mengupload program SoftwareSerial
ke Arduino UNO
Admin
menggunakan Arduino UNO untuk mengirim At command ke Bluetooth HC-05 guna mengatur
beberapa parameter Bluetooth HC-05 yang diperlukan, agar Bluetooth HC-05 bisa
menerima upload program dari software Arduino IDE. Tentu saja juga bisa
menggunakan Arduino dengan jenis yang lain, ini hanya bersifat opsional saja.
Langkah selanjutnya adalah membuka program Software
Serial Example dengan cara buka software
Arduino IDE kemudian klik File > Examples > SofwareSerial
> SoftwareSerialExamples. Atau
perhatikan gambar berikut.
/*
Software serial multple serial test
Receives from the hardware serial, sends to software serial.
Receives from software serial, sends to hardware serial.
The circuit:
* RX is digital pin 10 (connect to TX of other device)
* TX is digital pin 11 (connect to RX of other device)
Note:
Not all pins on the Mega and Mega 2560 support change interrupts,
so only the following can be used for RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
Not all pins on the Leonardo support change interrupts,
so only the following can be used for RX:
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
created back in the mists of time
modified 25 May 2012
by Tom Igoe
based on Mikal Hart's example
This example code is in the public domain.
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(57600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.println("Goodnight moon!");
// set the data rate for the SoftwareSerial port
mySerial.begin(38400);
mySerial.println("Hello, world?");
}
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
Setelah program SoftwareSerialExample terbuka silahkan ubah baris program mySerial.begin (4800) menjadi mySerial.begin (38400), atau silahkan lihat program yang Admin tampilkan diatas. Tujuan dari baris program ini adalah agar Arduino dapat berkomunikasi dengan Bluetooth HC-05, yang jika dalam kondisi At mode, ia beroperasi dengan baudrate 38400 bps (Bluetooth masuk ke At mode dengan cara nomor 2 pada pembahasan “Tata cara masuk At mode bluetooth HC-05”). Selanjutnya upload program tersebut ke Arduino UNO anda.
3. Wiring Arduino UNO dengan Bluetooth HC-05
Sebelum
menghubungkan Arduino UNO dengan Bluetooth HC-05, pastikan anda melepas
terlebih dahulu kabel power Arduino, atau melepas kabel USB Arduino yang
dihubungkan ke port USB PC atau Laptop. Selanjutnya hubungkan Arduino UNO
dengan Bluetooth HC-05 berdasarkan gambar rangkain berikut :
Rangkain tersebut adalah berdasarkan pengalaman
Admin. Pada pin RX dan TX dari Arduino ke Bluetooth HC-05 biasanya digunakan
level logic converter untuk mengubah tegangan 5V dari Arduino menjadi tegangan
3.3V ke Bluetooth HC-05. Atau bisa juga menggunakan rangkaian pembagi tegangan
dengan menggunakan resistor atau menggunakan rangkaian transistor untuk
men-drive tegangan 3.3V ke pin RX dan TX Bluetooth HC-05. Selain itu pin KEY
atau pin WAKEUP biasanya juga diberikan tegangan 3.3V dan bukan 5V. Sekali lagi
Admin jelaskan bahwa rangkain ini adalah berdasarkan dari pengalaman Admin,
jika pembaca ingin lebih aman bisa mencari di google cara menghubungkan Arduino
dengan bluetooh HC-05. Adapun Admin memberikan rangkaian tersebut adalah karena
selain simple, juga berdasarkan pengalaman Admin selama ini, semua Bluetooth
yang admin gunakan, baik Bluetooth HC-05 yang admin gunakan pada robot atau Bluetooh
HC-05 yang Admin gunakan untuk percobaan
ini kesemuanya masih dalam kondisi baik dan bekerja dengan normal.
Setelah
selesai menghubungkan Arduino UNO dengan bluetooth HC-05 selanjutnya hubungkan
kabel USB Arduino ke port USB PC. Perhatikan nyala LED pada Bluetooth, jika
berhasil masuk ke At mode, LED akan menyala dengan interval waktu 2 detik. Langkah
selanjutnya adalah membuka serial
monitor pada Arduino IDE dengan cara klik pada tab Tools > Serial Monitor. Perhatikan pada bagian bawah serial
monitor, dan lakukan pengaturan seperti gambar dibawah ini.
Nilai
57600 baud harus sama dengan yang ada pada baris program Serial.begin( ).
Maksudnya adalah serial monitor tersebut berkomunikasi dengan board Arduino
dengan kecepatan 57600 bps. Nilai ini boleh saja diubah dengan baud rate yang
lain, tidak ada penentuan nilai khusus, yang penting harus sama antara keduanya
(serial monitor dan board Arduino). Lalu maksud Both NL & CR adalah pada
setiap At command yang dikirm akan diikuti oleh karakter /r /n. Hal ini
dibutuhkan karena sesuai dengan standart pengiriman At command pada bluetooth
HC-05. NL (New Line) karakter ini berfungsi untuk berpindah 1 baris ke bagian bawah
dengan posisi kolom yang sama dengan yang sebelumnya. CR (Carriage Return) karakter
ini fungsinya untuk mengembalikan posisi cursor ke kolom 1 pada baris yang sama.
Dengan menggunakan keduanya maka cursor akan berpindah 1 baris ke bagian bawah
dan posisi cursor kembali ke posisi kolom 1 atau didapatkanlah baris baru.
Untuk lebih jelasnya silahkan buka link sumber diakhir postingan ini.
4. Mengirim At Command Ke Bluetooth HC-05
Sebagai
langkah awal ketik AT pada serial monitor kemudian tekan ENTER atau klik Send.
Jika Bluetooth merespon maka akan muncul tulisan OK pada serial monitor.
Selanjutnya silahkan kirim AT Command dibawah ini satu demi satu, dan pastikan
bluetooth merespon dengan mengirim tulisan OK pada serial monitor.
AT Command | Keterangan |
AT+ORGL | Mengembalikan semua pengaturan parameter bluetooh ke setelan pabrik, tanpa terkecuali |
AT+NAME=HC-05 | Memberikan nama bluetooh. Bebas tidak ada ketentuan khusus. Pilih saja nama yang mudah untuk dikenali. |
AT+PSWD=0099 | Memberikan kode keamanan untuk Bluetooth. Default-nya adalah 1234. Ingat baik-baik password ini karena nanti akan digunakan untuk terhubung dengan bluetooh PC. |
AT+ROLE=0 | Bluetooth di atur sebagai Slave Mode. |
AT+POLAR=1,0 | Mengatur operasi pin 31 dan pin 32 Bluetooth HC-05. Pin 32 akan berlogika Low jika bluetooth sudah terhubung (pairing) dengan bluetooth yang lain. Pin 32 akan digunakan untuk reset otomatis Arduino. |
AT+UART=115200,0,0 | Mengatur baud rate, stop bits, dan parity bits. Pengaturan disamping adalah baud rate 115200 bps, 1 stop bits, dan tidak ada bit parity. |
Baud Rate 115200 adalah kecepatan komunikasi data serial antara Arduino board dengan software Arduino IDE ketika upload program dilakukan. Kecepatan Baudrate tersebut menyesuaikan dengan jenis board Arduino yang digunakan. Misal untuk Arduino UNO dan Mega adalah 115200 bps, sedangkan untuk Arduino Pro Mini adalah 57600 bps. Untuk melihat baudrate tersebut silahkan buka file boards.txt yang berada dilokasi C:\Program Files\Arduino\hardware\arduino\avr kemudian setelah membuka file boards.txt tekan CTRL+F dan ketikkan kata kunci speed. Perhatikan gambar dibawah ini :
D. Menghubungkan (pairing) Bluetooth HC-05 Dengan Bluetooth Pada PC
Setelah tahapan mengirimkan At
command Bluetooth HC-05 berhasil dilakukan, maka lepas terlebih dahulu kabel
USB Arduino dari port USB PC. Kemudian lepas jumper antara VCC dengan pin 34 (pin
KEY atau pin WAKEUP) dan biarkan kabel lain yang menghubungkan antara Bluetooth
dan Arduino board. Kemudian hubungkan kembali kabel USB Arduino ke port USB
Laptop. Langkah selanjutnya silahkan buka Control
Panel dan kemudian ketikkan kata kunci hardware
pada kolom search. Selanjutnya pilih
Devices and Printers.
Setelah menu Devices and Printers terbuka klik Add a device.
Seharusnya Bluetooth
HC-05 akan terdeteksi pada kolom add a
device. Nama bluetooth yang ditampilkan adalah nama yang sama yang
diberikan dengan At command AT+NAME=. Jika berhasil terdeteksi klik terlebih
dahulu pada bluetooth kemudian klik Next.
Langkah
selanjutnya pilih Enter the device’s
pairing code
Langkah
selanjutnya masukkan pairing code yang dimiliki bluetooth HC-05, kemudian klik Next. Pairing code tersebut adalah
password yang diberikan ke bluetooth HC-05 melalui At command AT+PSWD=.
Tunggu beberapa
saat hingga proses instalasi Standart
Serial Over Bluetooth link selesai. Jika proses instalasi selesai dilakukan
maka akan muncul tampilan seperti berikut ini.
Jika semua proses
diatas berhasil dilakukan maka nyala LED pada Bluetooth HC-05 seharusnya
memiliki interval yang berbeda dengan sebelum dilakukan pairing dengan bluetooh
Laptop. Selanjutnya lakukan pengecekan COM port Standart Serial Over Bluetooth link pada software Arduino IDE. Buka
software Arduino IDE kemudian klik Tools
lalu pilih Port: disana seharusnya
telah ditambahkan COM port Standart
Serial Over Bluetooth link.
E. Memasang Jumper Pada Pin 32 Bluetooth HC-05
Pin 32 bluetooth HC-05 digunakan
untuk mereset Arduino secara otomatis agar upload program dari software Arduino
IDE bisa dilakukan. Pada saat bluetooth HC-05 terhubung dengan Bluetooth Laptop
maka pin 32 akan berlogika Low. Solder sebuah kabel ke pin 32 bluetooth HC-05,
kemudian diujung kabel solder juga kapasitor keramik 104 atau 100nF. Lakukan secara hati-hati agar tidak merusak
modul Bluetooth HC-05 anda. Berikut gambar Bluetooth HC-05 milik Admin yang
sudah diberi kabel jumper dan kapasitor keramik 100nF.
Fungsi kapasitor
keramik tersebut akan dijelaskan pada pembahasan selanjutnya.
II. Modifikasi Pada Arduino Board
A. Arduino UNO
A. Arduino UNO
Berdasarkan
pada kolom komentar web http://makezine.com/ kesimpulan yang Admin dapatkan adalah masalah
upload program Arduino via Bluetooth HC-05 tidak bisa dilakukan disebabkan karena
kondisi reset chip Arduino yang tidak berjalan dengan seharusnya. Berdasarkan
sumber yang Admin baca (link tersedia diakhir psotingan) proses upload program
Arduino dimulai dengan me-reset chip Arduino. Kemudian chip Arduino menjalankan
sebuah program kecil yang dinamakan bootloader. Bootloader merupakan sebuah
program kecil yang disimpan di dalam flash memory dan berada pada alamat
teratas didalam flash memory sehingga ketika chip reset, maka akan menjalankan
program ini terlebih dahulu. Dalam mode bootloader, jika chip tidak menerima
karakter dengan urutan tertentu yang merupakan isyarat bahwa upload program akan
dilakukan, maka chip akan keluar dari program bootloader dan menjalankan
kembali program yang sudah tersimpan sebelumnya. Jika yang terjadi sebaliknya,
maka bootloader akan menerima transfer program dari software Arduino IDE dan
kemudian menuliskannya ke dalam memory flash.
Lalu
bagaimana proses reset chip Arduino terjadi saat upload program dilakukan?
Untuk me-reset chip Arduino seperti Atmega 328, pin reset dari Atmega 328 perlu
diberikan logika low. Yang menjadi masalah apabila pin reset tetap berada dalam
keadaan low, maka baik bootloader ataupun program yang sudah tersimpan tidak
akan bisa berjalan. Namun dengan perkembangan Arduino yang cepat, permasalahan
ini sudah terpecahkan. Sebagai contoh pada board Arduino UNO masalah ini
diselesaikan dengan menempatkan sebuah kapasitor keramik dengan ukuran 100nF
antara pin reset chip Atmega 328 dengan pin D7 Atmega 16U2. Pin D7 Atmega 16U2 berfungsi
untuk mereset chip Atmega 328 secara otomatis ketika upload program dilakukan. Dengan
adanya kapasitor 100nF tersebut maka pin reset akan berlogika low untuk
sementara, kemudian kembali ke tegangan 5V setelah kapasitor terisi penuh sehingga
bootloader dapat berjalan.
Pertanyaan selanjutnya adalah bagaimana cara
menghubungkan bluetooth HC-05 dengan Arduino UNO agar upload program bisa
berjalan. Beberapa percobaan yang Admin lakukan antara lain adalah menghubungkan secara langsung antara pin 32
Bluetooth HC-05 dengan pin reset Atmega 328, hasilnya upload program tidak bisa
dilakukan. Kemudian menambahkan sebuah kapasitor keramik 100nF, antara Pin 32 Bluetooth
HC-05 dengan pin reset Atmega 328, hasilnya upload program tetap tidak bisa
dilakukan, serta beberapa percobaan lainnya juga gagal. Selanjutnya Admin mempelajari
rangkaian reset Arduino UNO antara chip Atmega 16U2 dengan chip Atmega 328.
Berikut gambar rangkaian reset dari Arduino UNO.
Setelah mempelajari rangkaian reset Arduino UNO
diatas, kesimpulan yang Admin dapat adalah upload program Arduino UNO melalui Bluetooth
HC-05 tidak bisa dilakukan dikarenakan kondisi reset chip Atmega 328 yang tidak
terpenuhi. Jika menghubungkan secara
langsung pin 32 Bluetooth HC-05 dengan pin reset Atmega 328 maka chip Atmega
328 selalu dalam kondisi low, sehingga bootloader tidak bisa berjalan.
Sedangkan jika ditaruh sebuah kapasitor 100nF antara pin 32 Bluetooth HC-05
dengan pin reset Atmega 328 maka chip Atmega 328 tidak ter-reset dengan baik
dikarenakan masih adanya tegangan yang berasal dari pin D7 Atmega 16U2. Sehingga
Admin menyimpulkan agar kondisi reset chip Atmega 328 dari Bluetooth HC-05
dapat terpenuhi maka harus memutuskan jalur reset antara Atmega 16U2 dengan
Atmega 328. Beruntung pada Arduino board terdapat jalur jumper RESET-EN atau
RESET ON. Gambar berikut merupakan jalur jumper RESET ON pada Arduino UNO.
Jalur RESET ON
tersebut berfungsi untuk menghubungkan jalur reset antara pin D7 Atmega 16U2 ke
pin reset Atmega 328 (lihat skematik rangkaian reset Arduino UNO diatas).
Selanjutnya Admin memotong sebuah jalur kecil yang menghubungkan antara kedua
solderan timah yang tampak pada gambar diatas. Kemudian menyolderkan sebuah
female header ke jalur RESET ON. Berikut board Arduino UNO milik Admin setelah
ditambahkan female header.
Tujuan Admin
menggunakan female header adalah agar Arduino dapat diprogram baik melalui
kabel USB maupun secara wireless menggunakan bluetooth HC-05. Jika ingin
memprogram Arduino via kabel USB maka cukup menjumper female header tersebut.
Sedangkan jika ingin memprogram Arduino via Bluetooth HC-05 cukup menghubungkan
pin 32 Bluetooth HC-05 ke sebuah kapasitor keramik 100nF kemudian kaki
kapasitor yang satunya dihubungkan ke lubang female header yang ditunjukkan
oleh tanda panah pada gambar diatas. Berikut ini gambar rangkaian secara
lengkap cara menghubungkan bluetooth HC-05 ke Arduino UNO agar transfer program
via wireless bisa dilakukan.
Pin RX0 (menerima
data) dan TX0 (mengirim data) pada gambar, merupakan pin D0 dan pin D1 dari
Atmega 328 dengan fungsi khusus sebagai jalur komunikasi data serial USART. Kedua
pin tersebut juga terhubung ke Atmega 16U2, dimana ketika upload program dari software
Arduino IDE dilakukan, program dikirim melalui Atmega 16U2 menuju Atmega 328
melalui kedua pin tersebut. Perhatikan dengan baik cara menghubungkan kedua
jalur tersebut antara Arduino UNO dengan Bluetooth HC-05. Setelah selesai menghubungkan
Arduino UNO dengan Bluetooth HC-05 seperti diatas maka langkah selanjutnya
adalah mengupload program ke Arduino UNO secara wireless.
Mengupload Program Arduino UNO
Secara Wireless
Pada
gambar diatas Arduino UNO milik Admin sudah dihubungkan dengan power +9V
melalui power connector dan dalam kondisi running program yang sudah tersimpan
sebelumnya. Tahap selanjutnya membuat program yang akan diupload ke Arduino
UNO. Buka software Arduino IDE, kemudian buka contoh program blink LED dengan
cara klik tab File > Examples > Basics > Blink.
Kemudian langkah selanjutnya memilih COM port Standart Serial Over Bluetooth link dengan
cara pilih tab Tools > Port > lalu pilih salah satu COM
port Standart Serial Over Bluetooth link
yang tersedia. Pada contoh yang Admin berikan diatas Standart Serial Over Bluetooth link milik Admin adalah COM 10 dan
COM 11. Biasanya Admin memilih COM port dengan nomor yang kecil, dengan kata
lain Admin memilih COM 10. Sesuai dengan pengalaman Admin, COM port yang bisa
digunakan untuk transfer program melalui Bluetooth dapat dilihat melalui
properties dari Bluetooth HC-05 yang ditambahkan ke komputer. Caranya adalah buka
Control Panel > lalu ketik hardware pada kolom search > kemudian pilih Devices and Printers > pada list Devices pilih dan klik kanan pada nama bluetooth HC-05 kemudian pilih properties > selanjutnya pilih tab Hardware, Com port yang tertera pada
tab Hardware tersebutlah yang akan dipilih pada software Arduino IDE.
Perhatikan gambar berikut ini.
Selanjutnya
upload program ke Arduino dengan cara klik tab Sketch > Upload, atau
dengan cara tekan CTRL+U. Berikut
ini merupakan video demo milik Admin
yakni mentransfer program Arduino UNO via wireless dengan Bluetooh HC-05.
B. Arduino Mega 2560
Pembahasan materi
untuk Arduino Mega 2560 hanya sedikit saja dikarenakan hal-hal yang menjadi
fokus pembahasan agar program dari Arduino IDE dapat diupload ke board Arduino
Mega 2560 sudah dibahas pada pembahasan Arduino UNO. Seperti bagaimana proses upload
program dari Arduino IDE ke board Arduino dilakukan, apa itu bootloader, kemudian
fungsi kapasitor keramik 100nF pada jalur reset antara chip Arduino dengan chip
USB serial converter agar bootloader dapat berjalan, serta modifikasi rangkain
reset Arduino agar Bluetooth HC-05 dapat mereset chip Arduino secara otomatis
ketika upload program dari software Arduino IDE dilakukan. Modifikasi pada
board Arduino Mega 2560 adalah sama saja dengan board Arduino UNO yakni mencari
dan memutuskan jalur jumper RESET-EN atau RESET ON kemudian menyolderkan sebuah
female header pada jalur jumper RESET-EN atau RESET ON. Berikut gambar Arduino
Mega 2560 milik Admin setelah dilakukan modifikasi.
Lubang dari
female header yang ditunjukkan oleh anak panah adalah yang dihubungkan ke pin
32 bluetooth HC-05. Yang perlu diingat adalah tempatkan sebuah kapasitor
keramik 100nF antara lubang female header tersebut dengan pin 32 Bluetooth
HC-05. Untuk rangkaian keseluruhan cara menghubungkan Arduino Mega 2560 dengan
Bluetooth HC-05 dapat meniru rangkaian pada Arduino UNO. Yang perlu
diperhatikan adalah jalur TX dan RX pada Bluetooth HC-05 dihubungkan dengan pin
dengan nama TX0 dan RX0 pada Arduino Mega 2560. Jangan sampai keliru karena
terdapat pin dengan nama yang mirip namun bukan merupakan jalur komunikasi data
untuk transfer program dari software Arduino IDE. Pin-pin tersebut antara lain
adalah pin dengan nama RX1,TX1, RX2,TX2 dan RX3, TX3. Setelah Arduino Mega 2560
selesai dihubungkan dengan Bluetooth HC-05, langkah selanjutnya adalah lakukan
upload program dari software Arduino IDE. Ikuti langkah-langakah upload program
pada Arduino UNO pada pembahasan sebelumnya. Berikut ini merupakan video demo milik Admin yakni upload program
Arduino Mega 2560 via wireless dengan Bluetooh HC-05.
C. Arduino Pro Mini
Arduino Pro Mini
merupakan salah satu varian dari Arduino board dengan designnya yang simple dan
kecil yakni sekitar 0.7" x
1.3". Berdasarkan chip yang digunakan, Arduino Pro Mini memiliki dua varian
yakni menggunakan chip Atmega 328 dan yang menggunakan chip Atmega 168.
Sedangkan berdasarkan kecepatan eksekusi program, Arduino Pro Mini dibagi
menjadi model dengan Clock 8 MHz dengan power 3V3 dan board dengan Clock 16 MHz
dengan power 5V. Untuk memprogram Arduino Pro Mini dibutuhkan perangkat
tambahan berupa USB to TTL Serial Convter seperti FTDI TTL-232R USB atau USB TTL CP2102 yang memiliki harga cukup murah. Perhatikan gambar berikut ini cara
menghubungkan USB to TTL Serial Converter dengan Arduino Pro Mini agar upload
program dari software Arduino IDE bisa dilakukan.
Pin DTR (pin RTS
untuk kabel FTDI USB to TTL Serial Converter) yang ada pada USB to TTL Serial
Converter model CP2102 pada gambar diatas dihubungkan dengan jalur reset
Arduino Pro Mini. Pin DTR tersebut digunakan untuk mereset chip Arduino Pro
Mini ketika upload program dilakukan. Untuk Arduino Pro Mini jenis Clone memiliki
posisi pin programmer yang terbalik, berbeda dengan seperti pada gambar diatas.
Perhatikan gambar Arduino Pro Mini Clone berikut ini.
Arduino Pro Mini
Clone tersebut adalah yang Admin gunakan pada tutorial ini. Sebenarnya cara
mudah untuk menentukan koneksi antara USB to TTL Serial Converter dengan
Arduino Pro Mini adalah dengan mencocokkan pin dengan nama GRN dan BLK antara
Arduino Pro Mini dengan USB to TTL Serial Converter. Sebelum mencoba mengupload
program dengan Bluetooth HC-05 sangat Admin sarankan untuk mencoba upload
program terlebih dahulu dengan menggunakan USB to TTL Serial Converter untuk
memastikan Arduino Pro Mini berada dalam kondisi yang masih baik.
Lalu bagaimana
cara menghubungkan Arduino Pro Mini dengan Bluetooth HC-05?
Pada dasarnya
cara menghubungkannya adalah sama saja dengan cara menghubungkan pada Arduino
UNO dan Arduino Mega 2560, perbedaannya adalah pada Arduino Pro Mini tidak
dibutuhkan lagi tambahan kapasitor 100nF antara jalur reset Arduino Pro Mini
dengan pin 32 Bluetooth HC-05. Hal ini dikarenakan kapasitor 100nF tersebut
sudah tersedia di board Arduino Pro Mini. Perhatikan Gambar berikut ini cara
menghubungkan Arduino Pro Mini dengan Bluetooth HC-05.
Jika
menggunakan Arduino Pro Mini dengan external power supply, power bisa
dimasukkan ke pin VCC atau pin RAW. Bedanya adalah jika power dimasukkan
melalui pin VCC maka tegangan haruslah yang sudah ter-regulasi yakni berupa
tegangan +5V atau +3.3V. Sedangkan untuk pin RAW adalah untuk tegangan diatas
5V, jika berdasarkan Arduino Pro Mini design Schematic maka tegangan input bisa
sampai +16V, tapi untuk lebih aman Admin sarankan gunakan maksimum tegangan
+12V saja.
Tahap
selanjtnya yang harus dilakukan adalah mengubah baudrate dari Bluetooth HC-05.
Jika pada Arduino UNO dan Mega 2560 baudrate Bluetooth HC-05 adalah 115200 maka
untuk Arduino Pro Mini adalah 57600. Untuk mengubah baudrate Bluetooth HC-05
adalah dengan cara mengirim At command berupa AT+UART=57600,0,0 saat Bluetooth
dalam kondisi At mode. Tata cara masuk ke At mode bisa dilihat pada pembahasan
sebelumnya dengan judul “B.Tata cara masuk At mode Bluetooth HC-05”.
Lalu cara untuk melihat baudrate untuk masing-masing board Arduino bisa dilihat
pada pembahasan dengan judul “4.Mengirim At Command ke Bluetooth HC-05”.
Jika beberapa
tahapan diatas sudah selesai dilakukan maka Arduino Pro Mini siap untuk
menerima upload program dari software Arduino IDE secara wireless melalui
Bluetooth HC-05. Silahkan ikuti langkah-langkah upload program pada penjelasan
dengan judul “Mengupload Program Arduino UNO secara wireless”. Berikut ini merupakan
video demo milik Admin yakni upload
sketch Arduino Pro Mini via wireless dengan Bluetooh HC-05.
Sekian penjelasan
yang bisa Admin berikan pada pembahasan materi kali ini. Semoga sedikit ilmu
ini bermanfaat untuk pembaca blog catucreativeproject. Jika terdapat kekurangan
bisa memberikan masukan pada kolom komentar atau jika mempunyai pertanyaan
dikarenakan penjelasan Admin yang masih kurang jelas dapat menghubungi Admin
melalui kontak yang Admin tampilkan. Terima Kasih.
Wasallam.
Ditulis dan Diterjemahkan oleh Admin blog caturcreativeproject.blogspot.com
*Luangkan sedikit waktumu untuk memberikan komentar pada postingan ini ,karena komentar pembaca sangat berharga bagi Admin sebagai pembakar semangat dalam membuat tutorial selanjutnya, terima kasih :) *
Sumber
Penulisan :
Tag File : Transfer Arduino Program Via Wireless
Using Bluetooh Hc-05
Mengirim Program Arduino Secara Wireless
Menggunakan Bluetooth Hc-05
Wireless Upload Program To Arduino Without
Usb Cable
Diy Arduino Bluetooth Programming Shield
Wireless Program Arduino
Arduino Bluetooth Programming Shield
(Wireless Upload Code)
Arduino Programming Via Bluetooth
Can I Send Arduino Programs Directly Via
Bluetooth?
Arduino Wireless Sketch Uploading Via
Bluetooth
Hc 05 Bluetooth Wireless Upload To Arduino
Memprogram
Arduino Melalui Bluetooth Hc-05
Upload
Arduino Code Through Bluetooth
Program
An Arduino Wireless Over Bluetooth
Upload
Arduino Uno Sketch Using Hc-05 Bluetooth Module
Arduino
Wireless Programming Via Bluetooth
Upload
Sketch Arduino Via Bluetooth Windows
Cara
Mengirim Program Arduino Secara Wireless
Upload
Sketch Arduino Secara Wireless dengan Bluetooth HC-05
Great job! Glad you were able to figure out a more reliable solution. I wrote the original makezine article.
ReplyDeletecheers
Thanks a lot Mr. Josh. Your original Makezine article so awsome. Thanks for shearing us and hope you allow me to shearing your knowledge.
ReplyDeleteassalamualaikum bang untuk menghubngkan bluetooth dengan arduino apa ada coding khusus
ReplyDeletewa'alaikumsalam
DeletePada dasarnya tidak ada gan, interface antara bluetooth dan arduino bisa langsung dilakukan, sedangkan untuk membaca data serial yang diterima oleh bluetooth bisa menggunakan program example software serial.
Buka Program example software serial kemudian upload ke Arduino.
Untuk melihat data serial yang diterima oleh bluetooth caranya buka serial monitor di Arduino IDE
Trims semoga membantu
ok.....sebangatberino vasi,,,,ad yang bisah bantu program arduino...saya di dki
ReplyDelete@ kang Danil > bantuan seperti apa yang dibutuhkan? Mungkin kita bisa diskusi
ReplyDeletekereeen...penting banget ini untuk device IoT, harus bisa update firmware over the air(OTA)
ReplyDeleteTrims Kang Ekky Hermestian lW,semoga bermanfaat
DeleteDan semoga kedepan saya bisa Posting materi lagi
Kang.. bisakah cara ini saya pakai untuk komunikasi data dari hp ke pc.. misalkan bluetooth hp saya rusak.. saya mau pakai komunikasi ini untuk untuk salin data seperti menggunakan kabel usb biasa.
ReplyDeleteAdmin kirim coding jika Bluetooth lost arduino akan berhenti bekerja
ReplyDeletePIN State-nya Bluetooth masukkan ke pin Arduino pak, nanti tinggal baca digital read di arduino. Kalo secara default pin state Bluetooth akan HIGH kalo terhubung, kalo putus koneksi berarti LOW
Deletelogika ini yang dibuat dalam bentuk program di Arduino, saya yakin anda bisa buat program ini.
Trims semoga membantu
kalo di Arduino nano pin reset on nya dimana?
ReplyDeletePak saya mau tau
ReplyDeleteRelay kan udh bisa d control lewat Bluetooth pak
Cuma kan stelah disconect atau aplikasi d close
Tidk bsa lngsung mnerima update si relay
Bagaimana cara program arduni control relay mnggunakan Bluetooth plus updte status relay stelah dickonek
Apakah bsa program.y menerima dan mengirim data lwat Bluetooth
Mohon pembahasan.y pak
Trimaksih
Thanks for sharing, I successfully connected a HC-05 to an arduino pro mini for bluetooth remote programming.
ReplyDeleteGan, klo Bluetooth to Bluetooth apa bisa pake upload, laptop q ngk ada Bluetooth nya
ReplyDeleteAlternatif ut laptop/komputer yang nggak ad Bluetooth Bisa beli bluetooth dongle. Cara kerjanya sama saja
DeleteGan, klo Bluetooth to Bluetooth apa bisa pake upload, laptop q ngk ada Bluetooth nya
ReplyDeleteTerimakasih Untuk Admin sangat membantu. saya ada pengalaman beli mega2560 cloningan pin rx0 tx0 tidak bisa berkomunikasi dengan hc05. padahal pake yg mega yg asli bisa. setelah baca ini memperaktekan dengan pasang pin rx tx tahanan 120 ohm ke gnd berhasil
ReplyDelete