กลับหน้าหลัก
views
วิธีเชื่อมต่อ Bluetooth Module HC06 กับ Arduino และ Application บนมือถือ
Last updated on

วิธีเชื่อมต่อ 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 UNO แสดงขา VCC, GND, TX, RX ต่อเข้าขาที่ 5V, GND, Pin 2, Pin 3 ตามลำดับ
HC06Arduino
VCC5V
GNDGND
TXPin 2
RXPin 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

หน้าแอป Ardroid แสดงปุ่ม Pin1 Pin2 Pin3 และตัวเลือก Bluetooth ด้านบน

ทดสอบส่วน Digital Output

กด Pin1, Pin2, หรือ Pin3 บนแอป ค่าของปุ่มจะแสดงที่ Serial Monitor ทันที ถ้าโค้ดรับค่าถูกต้อง จะเห็นตัวอักษร 1, 2 หรือ 3 ปรากฏ

ทดสอบส่วน Analog

กดไปที่หน้า ANALOG จะมีแถบบาร์ให้ปรับค่า เมื่อเลื่อนแถบบาร์ จะมีค่าตัวเลขแสดงที่ Serial Monitor หลายค่าตามช่วงที่เลื่อน ใช้ประมาณค่า Analog ที่ส่งมาได้เลย

หน้า ANALOG ของแอป Ardroid แสดงแถบบาร์สำหรับปรับค่า 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 ก่อน จากนั้นนำค่าไปใช้งานจริงตามโปรเจกต์ที่ต้องการ

วิดีโออ้างอิง

https://www.youtube.com/embed/dPtwJJcw-ZY

อยากทำโปรเจคแบบนี้?

รับทำโปรเจค Arduino / IoT จบงานไว ส่งงานครบ พร้อมสอน

หากต้องการ รับทำโปรเจคอาดูโน่ หรือระบบ IoT แบบเร่งด่วน สามารถดูรายละเอียดบริการได้ที่หน้าแรก

จ้างทำโปรเจคเลย

ความคิดเห็น