สารบัญ:

HC-05 การกำหนดค่าซีเรียลผ่าน Bluetooth: 10 ขั้นตอน
HC-05 การกำหนดค่าซีเรียลผ่าน Bluetooth: 10 ขั้นตอน

วีดีโอ: HC-05 การกำหนดค่าซีเรียลผ่าน Bluetooth: 10 ขั้นตอน

วีดีโอ: HC-05 การกำหนดค่าซีเรียลผ่าน Bluetooth: 10 ขั้นตอน
วีดีโอ: Bluetooth HC-05 ต่อกับ Arduino Uno ทำไมสั่งงานไม่ได้ 2024, กรกฎาคม
Anonim
HC-05 การกำหนดค่าแบบอนุกรมผ่าน Bluetooth
HC-05 การกำหนดค่าแบบอนุกรมผ่าน Bluetooth

ขณะใช้อุปกรณ์ Android และโมดูล HC-05 Bluetooth SPP สำหรับโครงการ Arduino บางโครงการ ฉันต้องการตรวจสอบและเปลี่ยนอัตราบอด HC-05 และพารามิเตอร์อื่นๆ โดยไม่ต้องเชื่อมต่อกับพอร์ต USB ของ PC ที่กลายเป็นสิ่งนี้

โมดูล HC-05 เชื่อมต่ออุปกรณ์อนุกรมและ Bluetooth โดยใช้ Bluetooth Serial Port Profile (SPP) หลายคนในชุมชน Arduino ได้อธิบายวิธีกำหนดค่าและใช้งานโมดูลเหล่านี้ รวมถึง Instructables ต่างๆ การใช้ HC-05 มักจะต้องมีการเชื่อมต่อซีเรียลแบบเดินสายเริ่มต้น อธิบายวิธีการส่วนใหญ่โดยใช้อะแดปเตอร์ USB-to-serial ซึ่งมักจะเป็นบอร์ด Arduino สำหรับการเข้าถึงโหมด "คำสั่ง" ของโมดูลจากพีซี ฉันอยากได้วิดเจ็ตที่ฉันสามารถแทง HC-05 เข้าไปและดำเนินการต่อได้

'ible นี้รวมถึง:

  1. ร่างที่จะ…

    • ระบุอัตราบิตอนุกรมปัจจุบันทันที (ซึ่งอาจเป็นสิ่งที่คุณต้องการ)
    • ตรวจจับอัตราปัจจุบันและเริ่มการสื่อสารแบบอนุกรม
    • รวบรวมอินพุตของผู้ใช้ผ่าน Bluetooth SPP
    • สัญญาณให้กดปุ่มคำสั่ง HC-05
    • ส่งคำสั่งไปยังโมดูล
    • รับการตอบสนองของ HC-05 หากจำเป็น
    • สัญญาณให้ปล่อยปุ่มคำสั่ง
    • ตอบกลับผู้ใช้ผ่านการเชื่อมต่อ BT
  2. เครื่องใช้พร้อมใช้

    • เป็นทางเลือกเพื่อความสะดวก
    • ต้นทุนต่ำมาก
    • ขนาดเล็กมาก
    • พร้อมเสียบโมดูล HC-05
    • ขับเคลื่อนด้วยสาย microUSB
    • ใช้บอร์ดที่เหมือน Digispark กับ ATtiny85 mcu

ฉันได้ทดสอบร่างบนโคลน UNO และโคลน Digispark อาจทำงานบนบอร์ด Arduino-ish อื่น ๆ ที่ใช้คลาส "ซีเรียล" กับ RX ที่พิน 0

เสบียง

  • โมดูล HC-05 + บอร์ดผู้ให้บริการ (AliExpress)
  • Arduino-ish mcu board (โคลน UNO ทดสอบ AliExpress)
  • ส่วนเชื่อมต่อ (แบบนี้จากที่นี่)
  • ร่างจากที่นี่

ทางเลือก: ส่วนต่าง ๆ เพื่อสร้างวิดเจ็ต - แสดงรายการในภายหลัง

ขั้นตอนที่ 1: แค่ลองมัน

ก่อนที่จะคิดเกี่ยวกับสิ่งที่จะเริ่มบัดกรี: ลองร่างภาพ

ฉันเรียกมันว่า baudat เพราะมันเกี่ยวข้องกับคำสั่ง baud และ AT และให้เครดิต Mssr เอมิล โบดอท.

หากคุณกำลังอ่านข้อความนี้ คุณอาจมีบางอย่างเช่น HC-05 และบางอย่างเช่นบอร์ด Arduino-ish ATmega328 "ธรรมดา" เช่น UNO R3 หรือไม่ต่างกันมากนัก ภาพร่างได้รับการทดสอบบนโคลน UNO R3 ฉันคาดหวังว่ามันจะทำงานได้บนบอร์ดอื่นๆ ที่ใช้คลาส Serial และใช้พิน 0 สำหรับ Serial RX หรือแก้ไข serialRxPin

  • ดาวน์โหลดสเก็ตช์ อัปโหลดไปยังบอร์ดของคุณ และเปิดหน้าต่าง Serial Monitor
  • คุณควรจะสามารถอ่านอัตราบิตที่เชื่อมต่อได้ภายในสัญญาณรบกวนเริ่มต้น ตอนนี้คุณรู้ความเร็วของการเชื่อมต่อแล้ว แต่ baudat ไม่รู้
  • พิมพ์อะไรบางอย่างที่มัน ควรตรวจหาอัตราบิตและดำเนินการต่อ อาจเกิดการชนแบบสุ่มบนแป้นพิมพ์ได้ 'U' มาเหนือเส้นลวดเช่น x0101010101x ซึ่งไม่มีข้อผิดพลาด อักขระการพิมพ์ทั่วไปสองตัวขึ้นไป (7 บิต ไม่ใช่ "แบบขยาย") ที่ส่งพร้อมกัน (แบบทีละบรรทัดและแบบทีละอักขระ) ควรใช้งานได้
  • ลองเชื่อมต่อจอภาพด้วยความเร็วที่ต่างกัน ความเร็วทั่วไปที่สนับสนุนโดยโมดูล HC-05 ควรใช้งานได้ baudat ไม่รู้จักความเร็วที่ช้ามาก เร็วมาก หรือ "แปลก" เช่น 14, 400 bps
  • ลองใช้การโต้ตอบ และดูว่ามันจะส่งอะไรไปยัง HC-05 ของคุณหากมีการเชื่อมต่อ

ขั้นตอนที่ 2: ตัวอย่าง: แจ้งการกำหนดค่าพื้นฐาน

ควรมีลักษณะดังนี้:

##เสียง##เสียง##เสียง##

นี่คือ 57600 bps พิมพ์บางอย่าง. 'U' แข็งแกร่ง

##เสียง##เสียง##เสียง##

baudat HC-05 เครื่องมือกำหนดค่า

ตั้งชื่อ BT, "ขั้ว" & อัตราบิตแบบอนุกรม? [y/n] Y

ตั้งชื่ออุปกรณ์บลูทูธ? [y/n] Y

ชื่อใหม่: My_New_BT_Widget

ตั้งค่าขั้วสถานะการเชื่อมต่อ BT หรือไม่ [y/n] Y

เมื่อเชื่อมต่อแล้ว ให้ตั้งค่า PIN STATE LOW(0) หรือ HIGH(1)? [0/1] 0

อัตราบอดแบบอนุกรมที่รองรับ:

a: 500000 b: 230400 c: 115200 d: 57600 e: 38400 f: 19200 g: 9600 h: 4800 i: 2400 เลือกความเร็วใหม่: [a-i] a

==== พารามิเตอร์ใหม่ ====

BT ชื่อ: My_New_BT_Widget เชื่อมต่อแล้ว ระดับสัญญาณ STATE: 0 บอด: 115200

เตรียมกดปุ่มโหมดคำสั่ง HC-05 …

กดเมื่อไฟ LED; ปล่อยเมื่อ LED กะพริบ

พร้อม? [คีย์ใด ๆ]

ไป…

การทดลองนี้ไม่ได้ทำอะไรเลยเพราะไม่มี HC-05 อยู่ในลูป เมื่อเชื่อมต่อกับ baudat ผ่าน Bluetooth:

  • คุณจะไม่เห็นคำสั่งที่ส่งไปยังโมดูลในโหมดคำสั่ง
  • การรีเซ็ตอาจหรือไม่อาจฆ่าการเชื่อมต่อ Bluetooth ขึ้นอยู่กับเวอร์ชันของเฟิร์มแวร์ HC-05

    ตัวอย่างเช่น เฟิร์มแวร์ HC-05 เวอร์ชัน 3.0-20170601 สามารถเปลี่ยนอัตราบิตซีเรียลโดยไม่ทำให้การเชื่อมต่อ BT หลุด

หรือ…

ขั้นตอนที่ 3: ตัวอย่าง: คำสั่ง AT โดยพลการ

ในการป้อนคำสั่ง AT ตามอำเภอใจ ให้ปฏิเสธการกำหนดค่าที่ได้รับแจ้ง:

ตั้งชื่อ BT, "ขั้ว" & อัตราบิตแบบอนุกรม? [y/n] น

ป้อนคำสั่ง: AT+version

เตรียมกดปุ่มโหมดคำสั่ง HC-05 …

กดเมื่อไฟ LED; ปล่อยเมื่อ LED กะพริบ

พร้อม? [คีย์ใด ๆ]

ไป…

ผลลัพธ์:

ป้อนคำสั่ง: AT

(ตัวอย่างเหล่านี้อยู่ในขั้นตอนแยกกันเพื่อพยายามหลบเลี่ยงการจัดรูปแบบ borkage หากมันพัง ให้ดูไฟล์ข้อความที่แนบมา)

ขั้นตอนที่ 4: ขั้ว?

สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน

รูปภาพ. เพราะแสดงให้เห็นง่ายกว่าที่บอก

โปรดดูรูปภาพและหมายเหตุทั้งหมดก่อนเริ่ม เพราะบางครั้งรายละเอียดในภายหลังจะช่วยตีความขั้นตอนก่อนหน้า

ขั้นตอนที่ 10: เพลิดเพลินกับผลงานของคุณ

เพลิดเพลินกับผลงานของคุณ
เพลิดเพลินกับผลงานของคุณ

รูปสุดท้ายคือรูปแรก

แนะนำ: