วันศุกร์ที่ 29 กันยายน พ.ศ. 2560

วิธีจับคู่โมดูลบลูทูธ HC-05

ก็เพื่อตอบแทนที่ได้รับความรู้มา ก็อยากจะแบ่งปันครับ
ก็ขอโพสเรื่องการสื่อสารอนุกรม ผ่าน โมดูลบลูทูธ HC-05 ครับ

ประโยชน์ใช้สอย

- เหมาะกับการควบคุมหุ่นยนต์ขนาดเล็ก ทำงานในห้อง
- สามารถใช้โทรสับมือถือ แอนดรอยควบคุมได้
- เหมาะมากกับการ remote debugging ให้หุ่นยนต์รายงานสถานะการทำงาน


สิ่งที่ต้องเตรียม

- คอมพิวเตอร์ พร้อมโปรแกรม Arduino ide
- usb uart
- HC-05 : 2 ตัว //ซื้อมา 390.- ร้าน EPS บ้านหม้อ
- ออดูโน่ //ผมใช้ promini 328 3v3 ครับ
สำหรับการเชื่อมต่อโมดูลบลูทูธนะครับ

STATE => ปล่อยลอย
RXD => TXD ของโมดูล usb-uart
TXD => RXD ของโมดูล usb-uart
GND => GND
VCC => 5v
WAKEUP/KEY => 3.3v เมื่อต้องการเซ็ตค่า , ปล่อยลอย เมื่อใช้งาน

1.อันดับแรก ต่อบลูทูธ กับ usb-uart ครับ เอา wakeup ต่อ 3.3v ด้วย

2.เปิด arduino ide แล้วเปิด serial monitor (เลือกพอร์ตของ usb-uart)

3.ตั้ง buad rate 38400 และตั้งตัวเลือกการส่งแบบ Both NL&CR

4.จากนั้น ลองส่ง AT ไป จะต้องได้รับการตอบกลับว่า OK

5. สำหรับตัว slave ให้ตั้งค่าดังนี้
- AT+ORGL
- AT+ROLE=0
- AT+UART=115200,0,0
จากนั้นเอาไฟ 5v จ่ายให้โมดูลสเลฟ และเอา txd ต่อเข้า rxd ของตัวมันเอง เพื่อทดสอบ และ ตรงเลข 115200 เปลี่ยนแปลงได้ตามค่าบอดเรทมาตรฐาน

6. สำหรับตัวมาสเตอร์
- AT+ORGL
- AT+ROLE=1
- AT+UART=115200,0,0

7.ต่อไปจะเป็นการจับคู่//ทุกครั้งที่เราส่งโค้ดไป มันจะตอบกลับมา OK ทุกครั้ง
AT+INIT//ถ้ามันส่งมาว่า ERROR(17) ก็แปลว่า เราทำขั้นตอนนี้ไปแล้ว
AT+INQ//ในขั้นตอนนี้ ตัวโมดูลจะส่งข้อมูลของตัว slave ที่ยังว่างอยู่ เช่น +INQ:4D65:4D:CA6612,5A0204,7FFF
AT+BIND=4D65,4D,CA6612//การส่งเลขสามชุดแรก ของข้อมูลที่เราได้รับเมื่อกี้ ขั้นด้วยลุกน้ำ
AT+PAIR=4D65,4D,CA6612,30/การส่งเลขสามชุดแรก ของข้อมูลที่เราได้รับเมื่อกี้ ขั้นด้วยลุกน้ำ และเลข 30 อีกชุดนึง เป็นรอบการ reconnect
ถ้ามันไม่ขึ้น ERROR อะไร และตอบ OK มาทุกครั้ง ก็คือเสร็จ

8. จากนั้น เอาสายไฟที่เชื่อมขา WAKEUP ออก เปลี่ยน baud rate เป็นค่าที่ตั้งไว้ ซึ่งของผมคือ 115200 และตั้งรูปแบบการส่งเป็น New Line ปกติ แล้วลองส่งดู จะต้องได้รับข้อความเหมือนที่เราส่ง ถ้าได้ ก็จบขึ้นตอน จากนั้นคู่ทาส (มาสเตอร์ สเลฟ) จบการตั้งค่าครับ เอาโมดูลไปใช้ได้ปกติ ขอบคุณที่อ่านครับ ถ้ามีอะไรผิดพลาด รบกวนท้วงติงด้วยนะครับ หวังว่าจะเป็นประโยชน์ครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น