สารบัญ:
- ขั้นตอนที่ 1: การเดินสายเครื่องส่งสัญญาณ
- ขั้นตอนที่ 2: ผู้รับ
- ขั้นตอนที่ 3: การเขียนโปรแกรมอุปกรณ์
- ขั้นตอนที่ 4: การปรับปรุง
วีดีโอ: จอยสติ๊ก PC แบบไร้สาย/ปุ่มวงล้อ: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ในช่วงไม่กี่ปีที่ผ่านมาฉันได้สร้างซิมการแข่งรถตัวใหม่ และตัดสินใจใช้พวงมาลัย DIY Direct Drive แม้ว่าโปรเจ็กต์นั้นเพียงอย่างเดียวอาจเป็นคำสั่งได้หลายอย่างในตัวเอง แต่นี่เป็นคำแนะนำเกี่ยวกับการสร้างปุ่มทั้งหมดบนวงล้อแบบไร้สาย
ทำไม?
- ล้อ DD หมุนได้ไม่จำกัด ดังนั้นการมีสายไฟเข้าไปจะน่ารำคาญ
- ไม่มีความสามารถในการเดินสายเคเบิลผ่านเพลาล้อเหมือนในล้อเชิงพาณิชย์
- ฉันต้องการสลับล้อได้อย่างง่ายดายด้วยการกำหนดค่าปุ่มต่างๆ
- เพราะฉันทำได้:)
เพื่อให้บรรลุเป้าหมายของปุ่มไร้สาย เราต้องพิจารณา:
- การส่งกำลัง
- การเชื่อมต่อไร้สาย
- เวลาตอบสนอง/ความล่าช้า
- ความน่าเชื่อถือ
ส่วนประกอบต่อไปนี้ได้รับการคัดเลือกเพื่อให้ตรงกับเกณฑ์นี้:Tx - Arduino Nano พร้อมโมดูล Integrated NRF24 ที่นี่หรือใช้ Generic Nano หรือ Pro Mini + NRF24 ModuleRx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + โมดูล NRF24USB 'Battery Bank' - ใด ๆ แบตเตอรีแบตเตอรี 18650 เดี่ยวทั่วไปควรใช้งานได้ จะใช้เวลาประมาณ 20 ชั่วโมง! คุณอาจต้องการตรวจสอบว่าสามารถชาร์จและจ่ายไฟได้ในเวลาเดียวกันหรือไม่ สิ่งนี้มีประโยชน์หากเครื่องแบนและคุณต้องการชาร์จและใช้งานพร้อมกัน
นอกจากนี้ คุณจะต้องมีปุ่มและสวิตช์เปิดปิดที่คุณเลือก สายเชื่อมต่อ และท่อหดแบบใช้ความร้อน
สามารถใช้ใน 'กล่องปุ่ม' แทนการใช้ล้อได้ แต่ฉันคิดว่าจะมีความต้องการน้อยกว่านี้ เนื่องจากมันไม่มีประโยชน์อะไรมากหากมันไม่เคลื่อนที่
เครื่องมือที่จำเป็น:
หัวแร้งและหัวแร้ง ปืนกาวร้อนมีประโยชน์สำหรับการติดตั้งชิ้นส่วนด้วย Arduino IDE ติดตั้งบนคอมพิวเตอร์ของคุณ
ขั้นตอนที่ 1: การเดินสายเครื่องส่งสัญญาณ
เริ่มต้นด้วยการติดตั้งสวิตช์ได้มากเท่าที่คุณต้องการบนพวงมาลัยของคุณและพิจารณาตำแหน่งของ Arduino ต่อสายไฟทั้งหมดเข้ากับสวิตช์ตามแผนภาพ แต่ละปุ่มจะต่อสายเข้ากับ GND ด้านหนึ่งและอีกด้านหนึ่งกับพิน Arduino ที่เกี่ยวข้อง รหัสนี้อนุญาตให้มีสวิตช์/ปุ่ม 14 ตัว ซึ่งน่าจะเพียงพอสำหรับล้อส่วนใหญ่
หากคุณใช้นาโนกับโมดูล NRF ที่ฝังอยู่ คุณไม่จำเป็นต้องเพิ่มการเดินสายที่เกี่ยวข้อง เพียงแค่ต่อปุ่ม
ปุ่มต่างๆ เรียงตามลำดับ (1-14):RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5
แต่ทำไมมีเพียง 14 ปุ่ม เหตุผลนี้เป็นเพราะเราสามารถอ่านพินเต็มอย่างรวดเร็วและการส่งข้อมูลเพียง 2 ไบต์ใช้เวลาไม่นาน - ดังนั้นแม้ว่าจะสามารถปรับเปลี่ยนให้รวมปุ่มเพิ่มเติม (ผ่านเมทริกซ์) และ/ หรืออินพุตแบบอะนาล็อก สิ่งนี้จะทำให้ทุกอย่างช้าลงเล็กน้อย การอ่านเมทริกซ์และการอ่าน/การแปลงแบบแอนะล็อกใช้เวลาประมวลผล ฉันต้องการเพียง 12 ปุ่มบนวงล้อของฉันดังนั้นฉันจึงไปกับมัน แต่จะพิจารณาเพิ่มอีก
สำหรับขุมพลัง คุณมีทางเลือกสองทาง - คุณสามารถปล่อยให้แบตเตอรีถูกเก็บไว้อย่างดีและยึดไว้กับพวงมาลัยด้วยวิธีใดวิธีหนึ่ง สิ่งนี้ให้โบนัสเพิ่มเติมแก่คุณในความสามารถในการตัดการเชื่อมต่อพลังงานจาก Arduino หลีกเลี่ยงการมีสวิตช์ในตัวและสายไฟบางส่วน
หากคุณต้องการโซลูชันที่กำหนดเองมากกว่านี้ อาจจำเป็นต้องเปิดแบตเตอรีแบตเตอรีออกและนำระบบภายในมาใช้ใหม่ในการกำหนดค่าที่คุณกำหนดเอง
ฉันไม่มีที่ว่างในพวงมาลัยของฉันที่จะปล่อยให้มันอยู่ในชั้นเชิง ดังนั้นมันจึงถูกถอดออก ฉันถอดขั้วต่อ USB มาตรฐานออกจากบอร์ดชาร์จและบัดกรีสาย +5 และ Gnd จากแผ่นรองพอร์ต usb ไปยัง Arduino ผ่านสวิตช์ รายละเอียดค่อนข้างยาก เนื่องจากมีตัวเลือกมากมาย…
จากนั้นจึงติดตั้งวงจรภายในวงล้อ โดยเผยให้เห็นขั้วต่อการชาร์จแบบ micro USB
แผงชาร์จจะมีไฟ LED อย่างน้อยหนึ่งดวงเพื่อแสดงสถานะการชาร์จ - สะดวกในการทำให้มองเห็นได้หรือใช้พลาสติกบางส่วนเพื่อ 'ย้าย' ไปยังที่ใดที่มองเห็นได้ เพื่อให้คุณทราบเมื่อชาร์จเสร็จแล้ว
นั่นคือล้ออะไร สำหรับผู้ที่สนใจ การออกแบบล้อของฉันคือของ Amstudio - การออกแบบชิ้นส่วนซิมการแข่งรถ DIY ที่ยอดเยี่ยมบางอย่างมีจำหน่ายในราคาที่เหมาะสม
ขั้นตอนที่ 2: ผู้รับ
เพียงทำตามแผนภาพการเดินสายไฟตามที่แนบมา หากคุณไม่ได้ใช้ Leonardo คุณจะต้องมีตัวควบคุมภายนอก 3.3v เช่น AMS1117 ตัวควบคุม Pro Micro ไม่สามารถจ่ายกระแสไฟเพียงพอสำหรับโมดูล NRF24 และด้วงไม่มีเลย
ฉันมีรหัสสีสำหรับการเชื่อมต่อกับโมดูล NRF เหมือนกันสำหรับ Pro Micro และด้วง
Arduino 'Beetle' ซึ่งค่อนข้างหาได้ง่ายในที่ทั่วไป แต่จำเป็นต้องใช้ตัวควบคุม 3.3v อีกครั้งเนื่องจากไม่มีเลย ฉันได้ทดสอบสิ่งนี้และใช้งานได้ดีเช่นกัน ความผูกพันก็เหมือนกัน
ขั้นตอนที่ 3: การเขียนโปรแกรมอุปกรณ์
หากคุณยังไม่ได้ติดตั้ง Arduino IDE ให้ไปที่ https://www.arduino.cc และดาวน์โหลดเวอร์ชันที่เหมาะสมกับระบบปฏิบัติการของคุณสำหรับตัวอย่างนี้ ฉันใช้ windows
เมื่อตั้งค่าแล้ว คุณจะต้องมีไลบรารี่สองแห่งที่แตกต่างกัน - อันแรกนั้นง่ายผ่าน Sketch -> รวมไลบรารี -> จัดการไลบรารี (หรือ CTRL+SHIFT+I)
NRFLite โดย Dave Parson (เวอร์ชัน 2.2.2 ณ วันที่เผยแพร่)
อันที่สองจะต้องติดตั้งด้วยตนเองจาก
คลิกที่ 'โคลนหรือดาวน์โหลด' จากนั้น 'ดาวน์โหลด ZIP และเปิดไฟล์ที่ดาวน์โหลด จากนั้นคุณจะต้องคลิกผ่านไปยังโฟลเดอร์ต่างๆ จนกว่าคุณจะเห็นโฟลเดอร์ 'จอยสติ๊ก' - คัดลอกไปที่โฟลเดอร์ Arduino Libraries ของคุณ (บน windows โดยปกติจะอยู่ภายใต้ Documents -> Arduino -> Libraries
รีสตาร์ท Arduino IDE
หากคุณกำลังใช้ Pro Micro สำหรับเครื่องรับ คุณจะต้องเพิ่มบอร์ดนั้นใน IDE. File -> Preferences -> Additional Boards Manager URLs:
ใส่:
จากนั้นไปที่เครื่องมือ -> ตัวจัดการบอร์ด ค้นหา Sparkfun และติดตั้ง 'Sparkfun AVR Boards'
ตอนนี้เราพร้อมแล้ว! เริ่มต้นด้วยตัวส่งสัญญาณ - เชื่อมต่อกับพีซีของคุณ
ภายใต้เครื่องมือ -> บอร์ด ให้เลือก 'Arduino Nano' (หรือตัวแปรใดก็ตามที่คุณตัดสินใจใช้) ตรวจสอบพอร์ต COM ใต้เมนูเครื่องมือด้วย
เปิดไฟล์ Wireless_Wheel_Tx ที่แนบมา
มีเพียงหนึ่งบรรทัดที่คุณอาจต้องการเปลี่ยนในรหัสนี้และนั่นคือ:
int nrfChannel = 22;
คุณมีช่องสัญญาณสูงสุด 126 ช่องที่คุณสามารถใช้ได้บนคลื่นความถี่ 2.4Ghz คุณควรปล่อยไว้อย่างที่เป็นอยู่ แต่ถ้าพบว่าคุณมีปัญหาด้านความน่าเชื่อถือ อาจเปลี่ยนเป็นตัวเลขอื่น
จากนั้นเพียงกดปุ่ม 'อัปโหลด' และรอให้เสร็จสิ้น
เช่นเดียวกับ Leonardo/Pro Micro/Beetle - เลือกบอร์ดที่คุณต้องการ - สำหรับ Leonardo และ Beetle ให้เลือกบอร์ด Arduino leonardo สำหรับ Pro Micro ให้เลือกและเลือกตัวแปร/โปรเซสเซอร์ Atmega32u4 (5v, 16Mhz) เปิดไฟล์ Wireless_Wheel_Rx เปลี่ยนการตั้งค่า nrfChannel (หากคุณเปลี่ยนบน Tx) และโปรแกรมออกไป
เมื่ออุปกรณ์รีบูตในการเขียนโปรแกรม คอมพิวเตอร์ของคุณควรตรวจพบอุปกรณ์จอยสติ๊ก หากคุณเปิดเครื่องส่งด้วย คุณควรจะสามารถกดปุ่มและให้เครื่องแสดงในสถานะอุปกรณ์ได้!
คุณสมบัติเด่นที่บังเอิญคือคุณจะได้รับไฟแสดงสถานะบน Leonardo และ Pro Micro - ไฟ LED USB TX จะสว่างขึ้นเมื่อมีการเชื่อมต่อกับปุ่มต่างๆ สิ่งนี้ไม่มีอยู่ในด้วงอย่างไรก็ตาม
ปรับปรุงเมื่อ 13/2/2021
ฉันได้เพิ่มไฟล์พิเศษ 2 ไฟล์ (Tx และ Rx) ให้กับคำสั่งที่นี่สำหรับรุ่นที่มีอินพุตแบบอะนาล็อก 4 ช่องและเมทริกซ์ปุ่ม 3X8 ส่วนใหญ่ยังไม่ทดลอง อาจจะล่าช้า โปรดลองและแสดงความคิดเห็น
ขั้นตอนที่ 4: การปรับปรุง
ไฟ LED หลังจากใช้วิธีแก้ปัญหานี้ชั่วขณะหนึ่ง ฉันมีนิสัยชอบเปิดพวงมาลัยทิ้งไว้โดยไม่ได้ตั้งใจ เพื่อช่วยแก้ปัญหานี้ ฉันได้เพิ่ม LED ที่ด้านหน้าเพื่อให้เห็นว่าล้อเปิดอยู่ นี่เป็นเพียงการนำ 3 มม. แบบง่าย ๆ จาก 5v บน Arduino ผ่านตัวต้านทาน ด้านบนถูกขัดลงเพื่อกระจายแสงเล็กน้อยและป้องกันแสงสะท้อน
เครื่องวัดระดับแบตเตอรี่ฉันซื้อเครื่องวัดระดับแบตเตอรี่จาก BG หรือ Ali แต่เมื่อพวกเขามาถึงก็มีขนาดใหญ่กว่าที่ฉันคาดไว้มาก แต่นี่คือสิ่งที่ฉันยังต้องการเพิ่ม มีตัวเลือกมากมายสำหรับสิ่งนี้ แต่เนื่องจากแบตเตอรี่มีอายุการใช้งานยาวนาน ฉันจึงมักจะชาร์จใหม่หลังจากใช้งานไปไม่กี่ชั่วโมง
ปุ่มพิเศษ/ตัวเข้ารหัส/อินพุตแบบอะนาล็อกยังคงคิดเกี่ยวกับสิ่งนี้ สำหรับฉัน มันไม่ได้สำคัญสำหรับการแข่งรถที่ฉันทำ แต่สำหรับสิ่งต่าง ๆ เช่น F1 มันน่าจะมีประโยชน์มากกว่า ฉันจะพิจารณาสองเวอร์ชันหรือเพิ่มสิ่งนี้หากมีความต้องการเพียงพอ แต่อาจส่งผลต่อเวลาตอบสนองของปุ่ม
แนะนำ:
เครื่องตรวจจับกระแสไฟ AC แบบไร้สาย: 7 ขั้นตอน (พร้อมรูปภาพ)
เครื่องตรวจจับกระแสไฟ AC แบบไร้สาย: ในขณะที่สร้างคำสั่งก่อนหน้าของฉัน (เซ็นเซอร์ความใกล้ชิดอินฟราเรดอย่างง่าย) ฉันพบบางสิ่งเกี่ยวกับการใช้ทรานซิสเตอร์ 2 ตัวในแถวเพื่อขยายสัญญาณที่อ่อนแอมาก ในคำแนะนำนี้ ฉันจะอธิบายเพิ่มเติมเกี่ยวกับหลักการนี้ซึ่งเรียกอีกอย่างว่า &quo
จอยสติ๊ก USB Hall Effect: 7 ขั้นตอน (พร้อมรูปภาพ)
จอยสติ๊ก USB ของ Hall Effect: คำแนะนำนี้แสดงวิธีใช้จอยสติ๊ก Hall Effect ระดับอุตสาหกรรมเพื่อสร้างจอยสติ๊ก USB ที่มีความแม่นยำสูง มีคำแนะนำอื่นที่เกี่ยวข้อง Tiny USB Joystick ที่สามารถให้โซลูชันต้นทุนต่ำได้>
จอยสติ๊ก USB จิ๋ว: 5 ขั้นตอน (พร้อมรูปภาพ)
จอยสติ๊ก USB จิ๋ว: ตัวติดตั้งนี้แสดงวิธีการสร้างจอยสติ๊ก USB ขนาดเล็กที่ง่ายมาก คำแนะนำนี้เกี่ยวข้องกับจอยสติ๊ก USB ของ Hall Effect เพื่อมอบโซลูชันราคาประหยัด
หุ่นยนต์ Arduino พร้อมคอนโทรลเลอร์ PS2 (จอยสติ๊ก PlayStation 2): 10 ขั้นตอน (พร้อมรูปภาพ)
หุ่นยนต์ Arduino พร้อมตัวควบคุม PS2 (จอยสติ๊กของ PlayStation 2): ในบทช่วยสอนนี้ ฉันจะแสดงวิธีใช้จอยสติ๊ก Playstation 2 (PS2) แบบไร้สายเพื่อขับถังหุ่นยนต์ บอร์ด Arduino Uno ถูกใช้เป็นแกนหลักของโครงการนี้ รับคำสั่งจากคอนโทรลเลอร์ไร้สายและตั้งค่าความเร็วของมอเตอร์
ESP8266 ไฟหน้า RGB แบบไร้สาย (Genesis Coupe): 10 ขั้นตอน (พร้อมรูปภาพ)
ESP8266 ไฟหน้า RGB แบบไร้สาย (Genesis Coupe): คุณต้องการเพิ่มไฟ LED RGB หลากสีให้กับไฟหน้าของคุณหรือไม่? สำหรับคนส่วนใหญ่ ชุดอุปกรณ์ที่ซื้อจากเคาน์เตอร์อาจทำเครื่องหมายในช่องที่จำเป็น จากชื่อแบรนด์ คุณสามารถทดสอบระบบที่ได้รับการพิสูจน์แล้วพร้อมการรับประกันในระดับหนึ่ง แต่ทำอะไรได้อีก