ฉันทำโมเดลและสร้างหุ่นยนต์ต่อไป ฉันได้เขียนคำแนะนำสำหรับการสร้างรีโมตคอนโทรลแล้ว รุ่น และหุ่นยนต์ รีโมทควบคุมนั้นใช้จอยสติ๊ก Sega รุ่นเก่า จอยสติ๊กนี้มีลูกศรสี่ลูกและปุ่ม 8 ปุ่มซึ่งเพียงพอสำหรับควบคุมเครื่องจักรหรือหุ่นยนต์ขนาดเล็ก การจัดการดำเนินการโดยใช้ IR LED วันนี้ฉันจะเขียนคำแนะนำสำหรับการอัพเกรดรีโมตคอนโทรลนั่นคือการแปลงมันเป็นรีโมต Bluetooth ขึ้นอยู่กับโมดูลบลูทู ธ ที่ใช้รีโมทคอนโทรลจะเชื่อมต่อกับอุปกรณ์ที่ตั้งโปรแกรมไว้ล่วงหน้าหรือจะเชื่อมต่อกับรีโมตคอนโทรลได้ ฉันจะอธิบายทั้งสองตัวเลือก เราจะต้อง:
- ก้านควบคุมจาก Sega
- Arduino Pro Mini 3.3v 8MHz
- USB-TTL
- แบตเตอรี่ Ni-Mn 2 ก้อน 1.2v 1000mA
- โมดูลบลูทู ธ HC-05 หรือ HC-06
- LED สีแดง
- ไฟ LED สีฟ้า
- ตัวต้านทาน 2x75Om, 2x5Om, 1x2Om
- ขั้วต่อ PLSx5 "แม่"
- กาวร้อน
- สายไฟ
- ช่องใส่แบตเตอรี่ 4xAAA
- สายไฟหลายสี
- หัวแร้งบัดกรีขัดสน
- แขนตรง
ขั้นตอนที่ 1 เลือกโมดูลบลูทู ธ
จำเป็นต้องใช้สองโมดูลสำหรับการสื่อสาร เราจะแทรกหนึ่งลงในการควบคุมระยะไกลและที่สองเราจะเชื่อมต่อกับเครื่องพิมพ์ดีดหรือ หุ่นยนต์. มีโมดูลบลูทู ธ จำนวนมาก พวกเขาแตกต่างกันในฟังก์ชั่นและโปรโตคอลการสื่อสารที่รองรับ รายการตัวอย่างของโมดูลที่พบ:
- HC-03, HC-04 (HC-04-M, HC-04-S) บนชิป BC417143
- HC-05, HC-06 (HC-06-M, HC-06-S) บนชิป BC417143
- HC-05-D, HC-06-D;
- HC-07 - โมดูลที่มีชิป CSR 41C6;
- HC-08 - โมดูลที่ใช้พลังงานต่ำมากและโปรโตคอลบลูทู ธ 4.0
- HC-09 เป็นโมดูลใหม่ล่าสุดที่ออกแบบมาเพื่อแทนที่ HC-06 และ HC-07
ฉันตัดสินสองโมดูล HC-05 และ HC-06 เนื่องจากมันเหมาะสมที่สุดในแง่ของราคา / ฟังก์ชั่น พวกเขาสนับสนุนโปรโตคอลการสื่อสาร - ข้อมูลจำเพาะบลูทู ธ v2.0 + EDR ช่วงนี้สูงถึง 10 เมตร (ระดับพลังงาน 2) เข้ากันได้กับอะแดปเตอร์บลูทู ธ ทั้งหมดที่รองรับ SPP ระดับเสียงของหน่วยความจำแฟลช (สำหรับจัดเก็บเฟิร์มแวร์และการตั้งค่า) คือ 8 Mbit พวกเขาทำงานที่ความถี่ของสัญญาณวิทยุ - 2.40 .. 2.48 GHz โฮสต์อินเตอร์เฟสคือ USB 1.1 / 2.0 หรือ UART พวกเขามีการใช้พลังงานต่ำ - ปัจจุบันระหว่างการสื่อสารคือ 30-40 mA ค่าเฉลี่ยปัจจุบันประมาณ 25 mA หลังจากสร้างการสื่อสารการใช้กระแสไฟคือ 8 mA โมดูลเหล่านี้หาง่ายเป็นโมดูลที่พบได้บ่อยที่สุด โมดูลมีความคล้ายคลึงกันมาก แต่ความแตกต่างที่สำคัญระหว่างกันคือ HC-05 สามารถทำงานได้ทั้งในโหมดหลักและในโหมดทาสHC-06 สามารถเป็นทาสได้เท่านั้น พูดง่ายๆก็คือ HC-06 ไม่สามารถตรวจจับอุปกรณ์ที่จับคู่และสร้างการเชื่อมต่อกับอุปกรณ์ได้เพียงทำตามหลักเท่านั้น โมดูลจะขายเป็นสองแผงบัดกรีด้วยกัน อันที่เล็กกว่านั้นคือโมดูลของโรงงาน ใหญ่ - เขียงหั่นขนมพิเศษสำหรับ DIY ดูเหมือนบอร์ดเล็ก ๆ ที่มีชิป BC417:
ดังนั้นโมดูล DIY HC-05 และ HC-06 เอง:
คุณสามารถซื้อโมดูลโดยไม่ต้องมีเขียงหั่นขนม มีค่าใช้จ่ายที่ถูกกว่าเล็กน้อย แต่คุณจะต้องติดตั้งตัวควบคุมแรงดันไฟฟ้า 3.3 V สำหรับโมดูล นอกจากนี้ระยะห่างระหว่างหน้าสัมผัสมีขนาดเล็กและคุณจะต้องทรมานตัวเองโดยการบัดกรีไปยังโมดูลลวด
ในการสร้างการสื่อสารระหว่างรีโมทคอนโทรลกับหุ่นยนต์หรือเครื่องคุณต้องกำหนดค่าโมดูลบลูทู ธ สองโมดูลที่ด้านบนของกันและกัน ในกรณีนี้เราจะกำหนดค่าโมดูล HC-05 เพื่อให้ค้นหาและเชื่อมต่อกับ HC-06
ขั้นตอนที่ 2 กำหนดค่า HC-06
ก่อนอื่นคุณต้องเชื่อมต่อ HC-06 กับคอมพิวเตอร์ สามารถทำได้โดยเชื่อมต่อโมดูลผ่านอะแดปเตอร์ USB-UART ในกรณีนี้การเชื่อมต่อจะเป็นดังนี้:
บลูทู ธ - USB-UART
TX - RX
RX - TX
VCC - +5
GND - GND
หากคุณไม่มี USB-UART อยู่ในมือคุณสามารถเขียนภาพร่างต่อไปนี้ไปยังบอร์ด Arduino ใด ๆ :
เชื่อมต่อดังนี้:
บลูทู ธ - Arduino
TX - พิน 2
RX - พิน 3
VCC - +5
GND - GND
จากนั้นเราเปิดโปรแกรมเทอร์มินัลใด ๆ เลือกคอมพอร์ตที่ HC-06 เชื่อมต่อความเร็วเริ่มต้นคือ 9600 NL และ CR ไม่จำเป็น หากไม่ได้สร้างการเชื่อมต่อบลูทู ธ กับ HC-06 โมดูลจะอยู่ในโหมดการป้อนคำสั่ง AT หากโมดูลไม่ตอบสนองให้ลองโหลดมากเกินไปโดยถอดสายบวกและเชื่อมต่อใหม่ และป้อนคำสั่งต่อไปนี้:
"AT" - โดยไม่มีเครื่องหมายคำตอบ "OK" ควรมา
“ AT + ADDR” ด้วยคำสั่งนี้เราจะค้นหาที่อยู่เฉพาะของ HC-06 เขียนที่อยู่นี้
"AT + BAUD7" - ตั้งค่าความเร็วเป็น 57600
"AT + RESET" - เราโหลดโมดูลมากเกินไป
ไม่จำเป็นต้องป้อนคำสั่งต่อไปนี้ แต่ในกรณีที่เป็นการดีกว่าที่จะรู้คำสั่งเหล่านั้น:
"AT + NAME
“ AT + ORGL” - รีเซ็ตโมดูลเป็นการตั้งค่าจากโรงงาน
การติดตั้ง HC-06 เสร็จสมบูรณ์
ขั้นตอนที่ 3 กำหนดค่า HC-05
เราเชื่อมต่อโมดูลคล้ายกับ HC-06 ถัดไปเปิดโปรแกรมเทอร์มินัลใด ๆ เลือกพอร์ต com ที่ USB-UART หรือ Arduino แฮงค์ความเร็วการสื่อสารเริ่มต้นจากโรงงานคือ 9600 แต่ฉันก็พบกันที่ความเร็ว 38400 ถ้าคุณไม่เปลี่ยนเลือก 9600 คุณไม่สามารถเชื่อมต่อเปลี่ยนเป็น 38400 ได้เช่นกัน มีค่ารวมถึงพารามิเตอร์ NL และ CR ในการถ่ายโอนโหมดป้อนคำสั่ง AT คุณต้องกดปุ่มบนบอร์ด HC-05 จากนั้นป้อนข้อมูลต่อไปนี้:
"AT" - ป้อนโดยไม่มีเครื่องหมายคำพูดคำตอบ "OK" ควรมา หากคุณมาเรายังคงป้อนคำสั่งเพิ่มเติม
“ AT + ROLE = 1” - ด้วยคำสั่งนี้เรากำหนดบทบาทของโมดูลด้วยตัวเลข:
0 - ทาส, 1 - หลัก, 2 - ทาสในรอบ * คุณควรได้รับคำตอบ "+ ROLE: 1 \ r \ n" หรือ "OK"
“ AT + CMODE = 0” - โมดูลในบทบาทของต้นแบบเชื่อมต่อกับอุปกรณ์บลูทู ธ เท่านั้นซึ่งมีคำสั่ง“ AT + BIND” ระบุที่อยู่
“ AT + BIND: 1234,56,123456” - เพื่อสร้างการเชื่อมต่อกับ HC-06 ของคุณคุณต้องป้อนที่อยู่ที่นี่ หลังจากป้อนคำสั่งทั้งหมดโมดูลจะอยู่ในบทบาทของต้นแบบ (ROLE = 1) และโหมดการเชื่อมต่อไปยังที่อยู่คงที่ถูกตั้งค่า (CMODE = 0) มันจะเชื่อมต่อกับอุปกรณ์บลูทู ธ ที่มีการระบุที่อยู่โดยคำสั่งนี้ บางส่วนของที่อยู่จะถูกป้อน: ระหว่างการติดตั้ง - คั่นด้วยเครื่องหมายจุลภาคและเมื่อตอบ - ผ่านเครื่องหมายโคลอน คุณจะได้รับคำตอบ: "+ BIND: 1234: 56: 789ABC \ r \ n" หรือ "OK"
“ AT + UART = 57600,0,0” - ตั้งค่าความเร็วเป็น 57600 bps, บิตหยุดจะแสดงด้วยหมายเลข: 0 - หนึ่ง, การตรวจสอบจะถูกแทนด้วยหมายเลข: 0 - โดยไม่มีการตรวจสอบ
หากคุณสับสนเกี่ยวกับการตั้งค่าโมดูลหรือหยุดทำงานอย่างถูกต้องลองคำสั่งต่อไปนี้:
“ AT + ORGL” - โมดูลรีเซ็ตการตั้งค่าต่อไปนี้ CLASS = 0, IAC = 9e8b33, บทบาท = 0, CMODE = 0, UART = 38400,0,0, PSWD = 1234, NAME = hc01.com
จากนั้นกำหนดการตั้งค่าที่คุณต้องการอีกครั้ง
ด้วยวิธีนี้เราได้สร้างการเชื่อมโยงที่แข็งแกร่งระหว่าง HC-05 และ HC-06 เมื่อเปิดใช้งานโมดูล HC-05 จะสร้างการเชื่อมต่อกับ HC-06 จากประสบการณ์ส่วนตัวฉันสามารถพูดได้ว่าเป็นการดีกว่าที่จะเปิด HC-05 ก่อนจากนั้นจึงเลือก HC-06 หากการเชื่อมต่อขาดหายคุณจะต้องโอเวอร์โหลดทั้งสองโมดูล
ขั้นตอนที่ 4 การเตรียมการควบคุมระยะไกล
ขั้นตอนนี้อธิบายไว้โดยละเอียดในคำแนะนำก่อนหน้านี้ที่:
https://thm.imdmyself.com/8626-ik-pult-iz-dzhoystika-ot-sega.html
มีความจำเป็นต้องปฏิบัติตามขั้นตอนที่ 1 ถึง 4 การบัดกรี IR diode เป็นทางเลือกแม้ว่าจะไม่รบกวนก็ตาม
ขั้นตอนที่ 5 การเชื่อมต่อโมดูลบลูทู ธ
ผมแนะนำให้คุณติดตั้ง HC-06 ในรีโมท ตั้งแต่การเปลี่ยนการตั้งค่าของโมดูลคุณเพียงแค่ต้องกรอกร่างที่สอดคล้องกันใน Arduino Pro Mini ในกรณีของ HC-05 คุณจะต้องถอดแยกชิ้นส่วนคอนโซลเพื่อกดปุ่มเพื่อสลับไปยังโหมดคำสั่ง ATเราเชื่อมต่อทุกอย่างตามแบบแผนต่อไปนี้
จอยสติ๊ก - Arduino
ลูกศรขึ้น - พิน 2
ลูกศรลง - พิน 4
ลูกศรซ้าย - พิน 5
ลูกศรขวา - พิน 6
ปุ่ม A - พิน 8
ปุ่ม B - พิน 10
ปุ่ม C - พิน 7
ปุ่ม X - พิน 12
ปุ่ม Y - พิน 11
ปุ่ม Z - พิน 9
ปุ่มเริ่มต้น - พิน 14 (A0)
ปุ่มรีเซ็ต - RST
ทั่วไป - GND
บลูทู ธ - Arduino
TX - พิน 16 (A2)
RX - พิน 17 (A3)
VCC - + 5
GND - GND
HC-05 เราเชื่อมต่อกับเครื่องพิมพ์ดีดหรือหุ่นยนต์ที่คุณกำลังจะควบคุม ตัวเลือกการเชื่อมต่อและภาพร่างสามารถพบได้ในคำแนะนำอื่น ๆ ของฉัน เมื่อเขียนแบบร่างหุ่นยนต์คุณจำเป็นต้องตั้งค่าความเร็วการเชื่อมต่อเป็น 57600 และใช้ไลบรารี SoftwareSerial ในแบบร่าง
ขั้นตอนที่ 6 การเตรียมสภาพแวดล้อมและเฟิร์มแวร์
วิธีที่ดีที่สุดในการเขียนและแก้ไขภาพร่างคือการใช้ Arduino IDE Arduino IDE เวอร์ชั่นต้องไม่ต่ำกว่า 1.8 ดาวน์โหลด Arduino IDE จากเว็บไซต์ทางการ:
https://www.arduino.cc/en/Main/Software
จากนั้นคุณต้องเพิ่มไลบรารีลงใน Arduino IDE ร่างใช้ไลบรารี SoftwareSerial.h หนึ่งไลบรารี (สำหรับการสื่อสารกับโมดูล Bluetooth):
คุณจะต้องดาวน์โหลดและติดตั้ง คุณสามารถติดตั้งไลบรารี่ได้โดยการคลายไฟล์ที่เก็บถาวรและย้ายไฟล์ที่ไม่ได้แพ็คออกไปยังโฟลเดอร์“ libraries” ที่อยู่ในโฟลเดอร์ที่ติดตั้ง Arduino IDE ไว้ หรือคุณสามารถใช้เครื่องมือเพิ่มไลบรารีในตัว - โดยไม่ต้องเปิดไฟล์เก็บถาวรที่ดาวน์โหลดไว้ให้เลือกเมนู Sketch - Connect Library ใน Arduino IDE ที่ด้านบนของรายการดรอปดาวน์เลือกรายการ "เพิ่ม. ห้องสมุดซิป" และระบุตำแหน่งของไฟล์เก็บถาวรที่ดาวน์โหลด หลังจากติดตั้งไลบรารีแล้วคุณต้องรีสตาร์ท Arduino IDE
การควบคุมระยะไกลของเราจะกระพริบในลักษณะเดียวกับรุ่นก่อนหน้าของการควบคุมระยะไกลที่เชื่อมต่อผ่าน USB-TTL ผ่านทางตัวเชื่อมต่อการชาร์จก็ทำได้เช่นกัน เมื่อกรอกแบบร่างให้คลิกรีเซ็ต