- Bahan yang Dibutuhkan
- Diagram Sirkuit
- Konfigurasi Awal dari modul HC05
- Pengujian Komunikasi Arduino ke Arduino Bluetooth
Modul Bluetooth HC-05 adalah modul Bluetooth yang dapat digunakan untuk proyek Arduino apa pun! Mudah untuk terhubung dan membuat kode di Arduino IDE. Di sebagian besar proyek, kami biasanya terhubung ke HC05 ke Arduino dan menggunakannya untuk berkomunikasi secara nirkabel dengan perangkat pintar lain seperti ponsel. Ini cukup sederhana dan kami telah membangun banyak proyek menarik dengannya seperti Robot Kontrol Bluetooth, Kontrol Suara Bluetooth, Otomasi Rumah Bluetooth, dll. Namun, pernahkah Anda perlu menghubungkan dua HC-05 secara bersamaan? Tidak semudah menghubungkan HC05 ke smartphone, ada beberapa langkah tambahan yang terlibat. Tutorial ini akan memandu Anda melalui proses ini. Mari langsung masuk!
Bahan yang Dibutuhkan
- 2x Arduino (Model apa pun bisa digunakan; Saya menggunakan Arduino Uno R3 dan Arduino Nano)
- 2x Modul Bluetooth HC05
- Papan tempat memotong roti
- Kabel Jumper
- 2x resistor 1kΩ
- 2x resistor 2.2kΩ
Diagram Sirkuit
Ini adalah diagram sirkuit dasar. Pasang 2 sirkuit ini, satu untuk master dan satu untuk slave. Untuk koneksi, yang kami lakukan di sini hanyalah menghubungkan HC05 ke Arduino. Pin Receiver (Rx) dari HC05 beroperasi pada kisaran 0V hingga 3,3V dan Arduino beroperasi pada kisaran 0V hingga 5V. Jadi, kita akan menggunakan resistor (R1 dan R2) untuk membuat pembagi tegangan untuk mengurangi output 5V dari Arduino menjadi 3,3V, agar tidak merusak modul HC05.
Saya menggunakan 1kΩ untuk R1 dan 2.2KΩ untuk R2 tetapi Anda dapat menggunakan nilai resistor apa pun selama R2 kira-kira dua kali lipat nilai R1 (R2 ≈ 2R1). Demikian pula, ulangi sirkuit untuk master dan slave, Sirkuit Bluetooth Master Arduino dan Sirkuit Bluetooth Slave Arduino ditunjukkan di bawah ini.
Konfigurasi Awal dari modul HC05
Ini adalah langkah tambahan yang diperlukan untuk menghubungkan dua modul HC05 bersama-sama. Kita perlu mengubah beberapa pengaturan di dalam Modul Bluetooth HC05, untuk melakukan ini, kita harus masuk ke Mode Perintah AT modul HC05 dan mengirim perintah ke sana melalui monitor serial Arduino IDE. Untuk melakukan ini, kita perlu menulis kode Arduino untuk mengirim perintah melalui monitor serial ke HC05.
The kode untuk mengkonfigurasi modul HC05 dapat ditemukan di bagian bawah halaman ini, penjelasan dari kode tersebut adalah sebagai berikut
Tambahkan pustaka SoftwareSerial ke kode ini.
#include < SoftwareSerial.h>
Tentukan nomor pin transmit (Tx) dan Receive (Rx). Saya menggunakan pin 2 untuk Tx dan pin 3 untuk Rx.
# Tentukan tx 2 # Tentukan rx 3
Beri koneksi Bluetooth beberapa nama (di sini saya menggunakan configBt), lalu beri tahu perpustakaan SoftwareSerial pin mana yang Tx dan pin mana yang Rx. Sintaksnya adalah bluetoothName (Rx, Tx);
SoftwareSerial configBt (rx, tx); // RX, TX
Untuk mengonfigurasi modul Bluetooth, Arduino perlu mengirim perintah padanya dengan kecepatan baud 38400 baud. Demikian pula, kami menetapkan baud rate dari koneksi Bluetooth juga menjadi 38400 baud. Atur Transmit (Tx) ke pin output dan Terima (Rx) ke pin input
void setup () { Serial.begin (38400); configBt.begin (38400); pinMode (tx, OUTPUT); pinMode (rx, INPUT); }
Di dalam perulangan selamanya, kami memiliki potongan utama kode. Idenya di sini adalah mengirim apa pun yang diketik di kotak teks di monitor serial ke HC05 melalui pin Tx Arduino. Kemudian tampilkan apa saja yang di-output oleh HC05 di monitor serial.
void loop () {if (configBt.available ()) // jika HC05 mengirim sesuatu… { Serial.print (configBt.readString ()); // print in serial monitor} if (Serial.available ()) // jika monitor serial mengeluarkan sesuatu… {configBt.write (Serial.read ()); // tulis ke pin Tx Arduino}}
Unggah kode ini ke Arduino yang terhubung ke modul master HC05 terlebih dahulu. Setelah kode diunggah, cabut kabel power Arduino. Tekan dan tahan tombol di HC05. Sekarang colokkan kabel power Arduino sambil tetap menahan tombol di HC05. Baiklah, sekarang Anda bisa melepaskan tombol di HC05. Ini adalah cara Anda masuk ke mode AT dari HC05. Untuk memeriksa apakah Anda telah melakukan ini dengan benar, pastikan lampu merah pada HC05 berkedip kira-kira setiap satu detik (berkedip lambat!). Biasanya sebelum HC05 terhubung ke perangkat Bluetooth apa pun, lampu merahnya berkedip pada frekuensi yang sangat tinggi (berkedip cepat!).
Selanjutnya buka serial monitor (tombol serial monitor ada di kanan atas Arduino IDE). Di sudut kanan bawah jendela monitor Serial, jika Anda belum melakukannya, pastikan Anda menyetel pengaturan akhir baris ke "NL dan CL" dan baud rate ke 38400. Sekarang, ketik AT di monitor serial, jika semuanya berjalan dengan baik, Anda akan mendapatkan "OK" dari HC05 yang ditampilkan di jendela monitor serial. Selamat! Anda telah berhasil masuk ke mode perintah AT modul HC05.
Sekarang, masukkan perintah berikut pada tabel di bawah ini untuk mengkonfigurasi modul master HC05:
PERINTAH (masukkan ini di monitor serial dan tekan enter) |
RESPONSE (balasan dari HC05, ditampilkan di monitor serial) |
Fungsi (Apa fungsi perintah ini?) |
DI |
baik |
Uji |
DI + CMODE? |
baik |
Periksa CMODE atau Mode Koneksi ----------------------------- CMODE: 0 adalah budak 1 adalah master |
DI + CMODE = 1 |
baik |
Setel CMODE ke 1 saat kita mengkonfigurasi master HC05 |
DI + ALAMAT? |
+ ALAMAT: FCA8: 9A: 58D5 baik * Ini adalah alamat master HC05 saya. Alamat Anda akan berbeda! |
Mengembalikan alamat HC05, catat ini karena kita akan membutuhkannya nanti! |
Selanjutnya hubungkan komputer Anda ke HC05 Anda yang lain, budak:
PERINTAH (masukkan ini di monitor serial dan tekan enter) |
RESPONSE (balasan dari HC05, ditampilkan di monitor serial) |
Fungsi (Apa fungsi perintah ini?) |
DI |
baik |
Uji |
DI + CMODE? |
baik |
Periksa CMODE atau Mode Koneksi ----------------------------- CMODE: 0 adalah budak 1 adalah master |
DI + CMODE = 0 |
baik |
Setel CMODE ke 0 saat kita mengkonfigurasi slave HC05 |
DI + BIND = FCA8,9A, 58D5 * Ganti ":" di alamat HC05 master dengan "," * Di sini saya menggunakan alamat master HC05 yang saya catat dari tabel sebelumnya. Anda harus menggunakan alamat HC05 master Anda! |
baik |
Menetapkan alamat master HC05 yang akan secara otomatis terhubung dengan HC05 slave saat boot |
AT + BIND? |
+ BIND: FCA8: 9A: 58D5 baik * Ini adalah alamat master HC05 saya. Alamat Anda akan berbeda! |
Periksa alamat pengikatan budak Anda. Jika sesuai dengan alamat master HC05 Anda, Anda siap melakukannya! |
Pengujian Komunikasi Arduino ke Arduino Bluetooth
Pertama, nyalakan modul HC05 master dan slave. Setelah daya hidup dan beberapa detik berlalu, lihat lampu merah pada modul HC05.
Berkedip Kecepatan lampu merah |
Apa artinya |
Berkedip dengan frekuensi sangat tinggi (berkedip cepat!) |
Tidak baik! Ini berarti modul HC05 Anda tidak terhubung satu sama lain! Saatnya memecahkan masalah! |
Berkedip dengan frekuensi rendah (berkedip lambat!) |
Bagus! Anda berhasil! Tetapi kami masih harus melakukan satu pemeriksaan lagi hanya untuk memastikan bahwa penyiapan ini berfungsi! Berpindah! |
Setelah lampu merah Anda berkedip pada frekuensi rendah (berkedip lambat!), Anda dapat yakin bahwa kedua HC05 Anda terhubung satu sama lain, tetapi kami belum menguji apakah data dapat dikirim bolak-balik antara master dan slave. Bagaimanapun, itulah tujuan utama di sini.
Unggah kode di bawah ini ke salah satu Arduino, ini adalah kode untuk menguji pemancar (Tx), sekali lagi kode lengkap untuk pemancar dan penerima dapat ditemukan di bagian bawah halaman ini.
Mengikuti kode sebelumnya, kami menambahkan pustaka SoftwareSerial ke kode ini dan menentukan nomor pin transmit (Tx) dan Receive (Rx). Kemudian kami memberi nama koneksi Bluetooth dan meneruskan nomor pin Tx dan Rx ke perpustakaan.
#include < SoftwareSerial.h> #define tx 2 #define rx 3 SoftwareSerial bt (rx, tx); // RX, TX
Dalam fungsi pengaturan, kami mengatur baud rate untuk monitor serial Arduino dan Bluetooth lagi. Apakah Anda melihat perbedaan di sini dibandingkan dengan kode sebelumnya? Kami menggunakan baud rate 9600 baud. Ini adalah kecepatan komunikasi standar standar modul HC05 Bluetooth saat berkomunikasi dengan perangkat Bluetooth lain. Jadi, perhatikan bahwa 38400 baud adalah untuk mengkonfigurasi HC05 dengan perintah AT dan 9600 baud adalah baud rate default dari modul HC05. Terakhir, seperti sebelumnya kita mengkonfigurasi pin Tx sebagai output dan pin Rx sebagai input.
void setup () { Serial.begin (9600); bt.begin (9600); pinMode (tx, OUTPUT); pinMode (rx, INPUT); }
Di dalam perulangan selamanya, yang kita lakukan adalah mentransmisikan nilai acak "123" melalui HC05.
void loop () {bt.write (123); }
Unggah kode ini ke Arduino lain, ini adalah kode untuk uji terima (Rx):
Persis sama dengan kode sebelumnya, kami mengkonfigurasi pustaka SoftwareSerial.
#include < SoftwareSerial.h> #define tx 2 #define rx 3 SoftwareSerial bt (rx, tx); // RX, TX
Kode dalam fungsi setup sama persis dengan kode untuk test transmit (Tx).
void setup () { Serial.begin (9600); bt.begin (9600); pinMode (tx, OUTPUT); pinMode (rx, INPUT); }
Dalam perulangan selamanya, kita hanya perlu menerima apa yang kita kirim dari Arduino yang mentransmisikan. Jika buffer penerima telah menerima beberapa data dari HC05, maka tampilkan apa pun yang diterima di monitor serial.
void loop () {if (bt.available ()> 0) { Serial.println (bt.read ()); }}
Setelah Anda mengunggah kode masing-masing ke setiap Arduino, buka monitor Serial ke Arduino penerima. Pastikan Anda memilih baud rate sebagai 9600 dan baris diakhiri sebagai Newline di monitor serial. Jika semuanya berfungsi dengan baik, Anda seharusnya melihat 123.
Catatan: Jika Anda telah menghubungkan Arduino pengirim dan penerima ke laptop yang sama, pastikan Anda memilih port COM yang tepat di bawah TOOLS> PORT. Anda harus terhubung ke port COM Arduino penerima.
</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> orang </s>Jika semua berjalan lancar, tukar modul HC05 untuk memastikan komunikasi dapat terjadi di kedua arah dan KAMI SELESAI!