วิธีเชื่อมต่อ Bluetooth Module HC06 กับ Arduino และ Application บนมือถือ
วิธีเชื่อมต่อ Bluetooth Module HC06 กับ Arduino และ Application บนมือถือ
บทความนี้จะอธิบายวิธีเชื่อมต่อ Bluetooth Module HC06 กับ Arduino เพื่อรับ-ส่งข้อมูลกับ Application บนมือถือ ผ่าน Software Serial ซึ่งเป็นวิธีที่ใช้งานได้จริงและไม่ต้องซื้ออุปกรณ์แพง
HC06 เป็นโมดูล Bluetooth ที่ทำให้อุปกรณ์ต่าง ๆ สื่อสารกับไมโครคอนโทรเลอร์ได้ง่าย โมดูลนี้ทำงานเป็น Slave คือรอให้อุปกรณ์อื่นเชื่อมต่อมาทาง Serial Port ตั้งค่าได้ผ่าน AT Command เช่น เปลี่ยนชื่ออุปกรณ์ หรือตั้งรหัสผ่าน
อุปกรณ์ที่ต้องเตรียม
- Arduino UNO R3 พร้อมสาย USB
- Bluetooth Module HC06
- Power Adapter 9V 2A
- Breadboard MB-102 830 Point
- สายจัมเปอร์ ผู้-ผู้, ผู้-เมีย, เมีย-เมีย ยาว 20 ซม. อย่างละ 40 เส้น
การต่อวงจร Bluetooth Module HC06 กับ Arduino
การต่อสายระหว่าง HC06 กับ Arduino ตามนี้
| HC06 | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| TX | Pin 2 |
| RX | Pin 3 |
ข้อควรระวัง - TX ของ HC06 ต่อเข้า RX ของ Arduino และ RX ของ HC06 ต่อเข้า TX ของ Arduino (สลับขา)
โค้ด Arduino รับข้อมูลจาก Bluetooth
ใช้ SoftwareSerial เพื่อไม่กิน Hardware Serial ที่ต้องใช้อัพโหลดโค้ดและ Debug
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
void setup() {
Serial.begin(9600);
while (!Serial) ;
mySerial.begin(9600);
}
void loop() {
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
โค้ดนี้ทำหน้าที่รับข้อมูลจาก HC06 แล้วส่งไปแสดงที่ Serial Monitor พร้อมส่งข้อมูลจาก Serial Monitor กลับไปที่ HC06 ถ้าต้องการให้รับค่าแล้วนำไปใช้งาน เช่น ควบคุม Relay ดูส่วนถัดไป
การตั้งค่า HC06 ผ่าน AT Command
ก่อนใช้งานจริง อาจต้องตั้งค่าชื่ออุปกรณ์และรหัสผ่าน ทำได้โดยส่งคำสั่ง AT ผ่าน Serial Monitor
| คำสั่ง | ความหมาย |
|---|---|
| AT | ทดสอบเชื่อมต่อ (ตอบ OK) |
| AT+NAMEชื่อ | ตั้งชื่ออุปกรณ์ |
| AT+PINรหัส | ตั้งรหัสผ่าน 4 หลัก |
วิธีทำ - ต่อ HC06 แล้วอัพโหลดโค้ดข้างบน ปิด HC06 กดปุ่มที่ตัวโมดูลค้างไว้ แล้วจ่ายไฟ จะเห็น LED กระพริบช้า ๆ แสดงว่าเข้าโหมด AT Command แล้ว
วิธีใช้งาน Application Ardroid
ดาวน์โหลดแอป Ardroid จาก Play Store หรือจากลิ้งค์ MediaFire
https://play.google.com/store/apps/details?id=com.thechampanurag.arduino
เมื่อเปิดแอป ให้กดปุ่มเมนูด้านขวาบน (3 จุด) แล้วเลือก Bluetooth ที่ต้องการเชื่อมต่อ จากนั้นค่าที่ส่งจากปุ่มต่าง ๆ จะแสดงที่ Serial Monitor
ทดสอบส่วน Digital Output
กด Pin1, Pin2, หรือ Pin3 บนแอป ค่าของปุ่มจะแสดงที่ Serial Monitor ทันที ถ้าโค้ดรับค่าถูกต้อง จะเห็นตัวอักษร 1, 2 หรือ 3 ปรากฏ
ทดสอบส่วน Analog
กดไปที่หน้า ANALOG จะมีแถบบาร์ให้ปรับค่า เมื่อเลื่อนแถบบาร์ จะมีค่าตัวเลขแสดงที่ Serial Monitor หลายค่าตามช่วงที่เลื่อน ใช้ประมาณค่า Analog ที่ส่งมาได้เลย
ทดสอบส่วน Data
ไปที่หน้า DATA พิมพ์ตัวอักษร เช่น “myarduino” แล้วกดส่ง ค่าจะแสดงที่ Serial Monitor ทั้งหมด วิธีนี้ใช้ทดสอบการรับสตริงได้ดี
[image: หน้า DATA ของแอป Ardroid แสดงช่องพิมพ์ข้อความและปุ่มส่ง]
ตัวอย่างการนำค่าไปใช้งาน
เมื่อรับค่าจาก HC06 ได้แล้ว นำค่ามาประมวลผลควบคุมอุปกรณ์ได้ เช่น ควบคุม Relay เปิด-ปิดไฟ หรือควบคุมมอเตอร์ ดูโค้ดตัวอย่างด้านล่าง
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
pinMode(13, OUTPUT); // หลอด LED บนบอร์ด
}
void loop() {
if (mySerial.available()) {
char data = mySerial.read();
Serial.write(data);
// ตัวอย่างการควบคุม LED ด้วยปุ่ม Pin1
if (data == '1') {
digitalWrite(13, HIGH);
} else if (data == '2') {
digitalWrite(13, LOW);
}
// ส่วนนี้ปรับตามการใช้งานจริงได้เลย
}
}
จุดที่ต้องปรับ - แก้ไขขาที่ต่อ Relay หรืออุปกรณ์ที่ต้องการควบคุม และเปลี่ยนเงื่อนไขการตัดสินใจตามปุ่มที่กดบนแอป
สรุป
การเชื่อมต่อ Bluetooth Module HC06 กับ Arduino ใช้แค่ 4 เส้นสาย ต่อขา TX RX สลับกัน ส่วนโค้ดใช้ SoftwareSerial ที่ขา 2, 3 เพื่อไม่กิน Hardware Serial ที่ต้องใช้อัพโหลด พอต่อแอป Ardroid ขึ้นมาแล้วส่งค่าผ่าน HC06 มาที่ Arduino ทดสอบรับ-ส่งได้ที่ Serial Monitor ก่อน จากนั้นนำค่าไปใช้งานจริงตามโปรเจกต์ที่ต้องการ
วิดีโออ้างอิง
อยากทำโปรเจคแบบนี้?
รับทำโปรเจค Arduino / IoT จบงานไว ส่งงานครบ พร้อมสอน
หากต้องการ รับทำโปรเจคอาดูโน่ หรือระบบ IoT แบบเร่งด่วน สามารถดูรายละเอียดบริการได้ที่หน้าแรก
จ้างทำโปรเจคเลย