สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: โมเดล 3 มิติ
- ขั้นตอนที่ 2: การพิมพ์ 3 มิติ
- ขั้นตอนที่ 3: การเตรียมการประกอบ: สายไฟ
- ขั้นตอนที่ 4: การเตรียมการประกอบ: จอแสดงผล OLED
- ขั้นตอนที่ 5: การเตรียมการประกอบ: จอยสติ๊ก
- ขั้นตอนที่ 6: การเตรียมการสำหรับการประกอบ: NRF24L01
- ขั้นตอนที่ 7: การเตรียมการประกอบ: โพเทนชิโอมิเตอร์
- ขั้นตอนที่ 8: การเตรียมการประกอบ: สวิตช์
- ขั้นตอนที่ 9: การเตรียมการประกอบ: ประสานเคสแบตเตอรี่กับสวิตช์เปิดปิด
- ขั้นตอนที่ 10: การเตรียมการประกอบ: ตัวควบคุมแรงดันไฟฟ้า AMS1117
- ขั้นตอนที่ 11: เตรียมบอร์ด Perf: Arduino และ Pin Headers
- ขั้นตอนที่ 12: เตรียม Perf Board: Pin Extensions
- ขั้นตอนที่ 13: การประกอบ: ติดจอยสติ๊กเข้ากับฐาน
- ขั้นตอนที่ 14: การประกอบ: แนบโพเทนชิโอมิเตอร์และจอแสดงผล OLED เข้ากับแร็คโพเทนชิออมิเตอร์
- ขั้นตอนที่ 15: การประกอบ: แนบ Potentiometer Rack เข้ากับ Joystick Base
- ขั้นตอนที่ 16: การประกอบ: แนบ NRF24L01 Enclosure กับ Potentiometer Rack
- ขั้นตอนที่ 17: การประกอบ: แนบที่จับเข้ากับฐาน
- ขั้นตอนที่ 18: การประกอบ: ติดเคสแบตเตอรี่เข้ากับฐาน
- ขั้นตอนที่ 19: การประกอบ: แนบสวิตช์เข้ากับที่จับ
- ขั้นตอนที่ 20: การประกอบ: แนบ Perf Board Assembly เข้ากับ Joystick Base
- ขั้นตอนที่ 21: การประกอบ: แนบ Perf Board เข้ากับ Perf Board Mount
- ขั้นตอนที่ 22: การเชื่อมต่อ Arduino
- ขั้นตอนที่ 23: รหัสเครื่องส่งสัญญาณ
- ขั้นตอนที่ 24: รหัสตัวรับ
- ขั้นตอนที่ 25: สรุป
วีดีโอ: เครื่องส่งสัญญาณ RC จาก Arduino แบบ 3 มิติ: 25 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
โปรเจ็กต์นี้จะแสดงให้คุณเห็นว่าฉันออกแบบและสร้าง RC Transmitter ที่ใช้ Arduino ได้อย่างไร
เป้าหมายของฉันสำหรับโครงการนี้คือการออกแบบเครื่องส่งสัญญาณ RC แบบพิมพ์ได้ 3 มิติ ที่ฉันสามารถใช้ควบคุมโครงการ Arduino อื่นๆ ได้ ฉันต้องการให้คอนโทรลเลอร์เป็นแบบถาวรที่สุดเท่าที่จะเป็นไปได้ แต่ฉันก็ต้องการความสามารถในการแยกส่วนและออกแบบส่วนต่างๆ ของคอนโทรลเลอร์ใหม่ โครงการนี้เป็นผลมาจากการทำงานหนักสองสามสัปดาห์
เสบียง
ในการสร้างคอนโทรลเลอร์นี้ คุณจะต้อง:
- จอยสติ๊กอนาล็อก x2
- โพเทนชิออมิเตอร์แบบอนาล็อก x2
- จอแสดงผล OLED ขนาด 128x32 0.91 นิ้ว x1
- Arduino นาโน x1
- โมดูล NRF24L01 พร้อมเสาอากาศ x1
- 3cm x 7cm perfboard x1
- BRC 18650 3.7 v แบตเตอรี่ลิเธียมไอออน x2
- กล่องใส่แบตเตอรี่ 2 เซลล์ 18650 x1
- AMS1117 3.3 ตัวควบคุมแรงดันไฟฟ้า x1
- สวิตช์สลับ 3 ตำแหน่ง x1
- สวิตช์สลับ 2 ตำแหน่ง x2
รายการเพิ่มเติม:
- สายเกจ 22 เกจหลากสี
- สายไฟ 22 เกจแกนแข็งหลากสี
- ส่วนหัวของพินตัวผู้+ตัวเมีย
- สกรูและน็อตหัวกระทะ m3 (ความยาวคละแบบ)
- สกรูและน็อตหัวกระทะ m2 (ความยาวคละแบบ)
- m2 standoffs (ความยาวคละ)
-
การเข้าถึง:
- เครื่องพิมพ์ 3 มิติ
- หัวแร้ง
ขั้นตอนที่ 1: โมเดล 3 มิติ
ฉันเริ่มต้นด้วยการสร้างโมเดลคอนโทรลเลอร์ในซอฟต์แวร์การสร้างแบบจำลอง 3 มิติ มีบางสิ่งที่ฉันนำมาพิจารณาในระหว่างขั้นตอนการออกแบบ:
- เครื่องพิมพ์ 3 มิติของฉันมีขนาดค่อนข้างเล็ก ดังนั้นชิ้นส่วนของฉันจะต้องถูกเชื่อมเข้าด้วยกันหลังจากกระบวนการพิมพ์ เพื่อแก้ปัญหานี้ ฉันได้เพิ่มรูตลอดการออกแบบเพื่อยึดชิ้นส่วนโดยใช้สกรู m2
- ฉันต้องการจัดเรียงชิ้นส่วนในการออกแบบของฉันใหม่ได้อย่างง่ายดายโดยไม่ต้องพิมพ์ซ้ำ ดังนั้นฉันจึงเพิ่มรูที่มีระยะห่างเท่ากันซึ่งชิ้นส่วนต่างๆ จะต่อเข้าด้วยกันเพื่อให้มีโอกาสในการออกแบบหลังการพิมพ์
- ฉันหลีกเลี่ยงสิ่งที่ยื่นออกมาโดยสิ้นเชิงในการออกแบบนี้ ส่งผลให้ได้งานพิมพ์คุณภาพสูง
โมเดลนี้ไม่มีชิ้นส่วนทั้งหมดที่ประกอบขึ้นเป็นเครื่องส่ง แต่มีส่วนประกอบทั้งหมดที่จำเป็นสำหรับการพิมพ์ 3 มิติรวมอยู่ด้วย คุณสามารถดาวน์โหลดไฟล์ STEP สำหรับรุ่นนี้ได้โดยคลิกดาวน์โหลดด้านล่าง
*ฉันได้รวมไฟล์.stl สำหรับกล่องหุ้ม nrf24 สำหรับผู้ที่มีปัญหาในการแยกออกเป็นสามส่วน
ขั้นตอนที่ 2: การพิมพ์ 3 มิติ
นี่เป็นขั้นตอนที่ค่อนข้างตรงไปตรงมา หลังจากพิมพ์ชิ้นส่วนทั้งหมดแล้ว คุณสามารถเริ่มเตรียมประกอบชิ้นส่วนได้
ขั้นตอนที่ 3: การเตรียมการประกอบ: สายไฟ
เพื่อให้สามารถเปลี่ยนแปลงการออกแบบของโครงการนี้ได้ ฉันจึงบัดกรีส่วนหัวของหมุดตัวผู้ไว้ที่ปลายด้านหนึ่งของสายทั้งหมด
ขั้นตอนที่ 4: การเตรียมการประกอบ: จอแสดงผล OLED
ก่อนที่คุณจะเริ่มประกอบ คุณจะต้องเตรียมส่วนประกอบอิเล็กทรอนิกส์สองสามอย่าง สิ่งแรกที่ต้องทำคือบัดกรีสายไฟที่หมุดของส่วนประกอบแต่ละอัน (ใช้ลวดมาตรฐานในสถานการณ์นี้ง่ายกว่าเพราะมีความยืดหยุ่นมากกว่าและประกอบได้ง่ายกว่า) จอแสดงผล OLED ของฉันไม่มีส่วนหัวพิน ดังนั้นฉันจึงบัดกรีสายไฟเข้ากับบอร์ดฝ่าวงล้อมโดยตรง อย่างไรก็ตาม มันไม่สร้างความแตกต่างของสภาพอากาศหรือไม่ที่คุณบัดกรีกับส่วนหัวของพิน
ขั้นตอนที่ 5: การเตรียมการประกอบ: จอยสติ๊ก
ขั้นตอนต่อไปคือการบัดกรีสายไฟเข้ากับจอยสติ๊ก ในกรณีนี้ ฉันบัดกรีสายไฟเข้ากับส่วนหัวของหมุดด้วยเหตุผลบางประการ:
- ถ้าฉันถอดส่วนหัวของหมุดออกและบัดกรีไปที่รู ฉันจะต้องป้อนสายไฟผ่านส่วนบนของรูเพราะที่ยึดที่พิมพ์ 3 มิตินั้นอยู่ใต้บอร์ดฝ่าวงล้อมของจอยสติ๊กโดยตรง
- เนื่องจากฉันบัดกรีที่ส่วนหัวของพิน สายไฟจึงหล่นลงมาตรงๆ และทำให้ด้านบนของตัวส่งสัญญาณมีระเบียบมากขึ้น
ฉันใช้สีเดียวกันสำหรับหมุดประเภทเดียวกันบนจอยสติ๊กทั้งสอง:
- สีแดงสำหรับ VCC
- สีดำสำหรับ GND
- สีน้ำเงินสำหรับ VRX
- สีเหลืองสำหรับ VRY
- สีเขียวสำหรับSW
สิ่งนี้ทำให้ง่ายขึ้นเมื่อเชื่อมต่อสายไฟเข้ากับพอร์ตที่เหมาะสมบน Arduino
ขั้นตอนที่ 6: การเตรียมการสำหรับการประกอบ: NRF24L01
สำหรับโมดูล NRF24L01 ฉันถอดส่วนหัวของพินออกและบัดกรีไปที่รูโดยตรงเพื่อให้มีที่ว่างสำหรับบอร์ดต่อ อีกครั้งที่ฉันจดบันทึกสีที่ฉันใช้สำหรับแต่ละพินเพื่อใช้อ้างอิงในอนาคต
ขั้นตอนที่ 7: การเตรียมการประกอบ: โพเทนชิโอมิเตอร์
สำหรับโพเทนชิโอมิเตอร์ ให้บัดกรีสายไฟเข้ากับตัวนำทั้งสามตัว ตัวนำทั้งสองด้านนอกเป็นหมุดกราวด์หรือ vcc (ไม่สำคัญว่าจะอยู่ในลำดับใด) และนำออกตรงกลาง ฉันบัดกรีสายสีแดงและสายสีดำเข้ากับตัวนำทั้งสองด้านนอกและลวดสีขาวไปยังตะกั่วตรงกลางสำหรับทั้งคู่ โพเทนชิโอมิเตอร์
ขั้นตอนที่ 8: การเตรียมการประกอบ: สวิตช์
ใช้สวิตช์สามตำแหน่งแล้วบัดกรีลวดเข้ากับส่วนหัวของพินแต่ละอัน ฉันใช้สีดำเป็นสีตรงกลางและอีกสองสีสำหรับสีภายนอก ซึ่งฉันจดบันทึกไว้เพื่อใช้อ้างอิงในอนาคต
บนสวิตช์ตำแหน่งสองตำแหน่งมีส่วนหัวของพินสามตัว คุณจะใช้สองสิ่งนี้เท่านั้น ลวดสีดำอยู่ตรงกลางและอีกเส้นหนึ่งจะไปที่ส่วนหัวของพินด้านนอกหนึ่งในสองอัน สำคัญ: ทำเช่นนี้สำหรับสวิตช์เดียวเท่านั้น
สวิตช์ถัดไปจะใช้เป็นสวิตช์เปิด-ปิด สำหรับตอนนี้ ให้บัดกรีลวดเข้ากับหมุดตรงกลางของสวิตช์เปิด-ปิดเท่านั้น
ขั้นตอนที่ 9: การเตรียมการประกอบ: ประสานเคสแบตเตอรี่กับสวิตช์เปิดปิด
บัดกรีสายสีแดงของกล่องแบตเตอรี่เข้ากับหมุดด้านนอกตัวใดตัวหนึ่งบนสวิตช์เปิด-ปิด หากคุณยังไม่ได้ทำ ให้บัดกรีหัวเข็มบนสายสีดำของกล่องแบตเตอรี่
ขั้นตอนที่ 10: การเตรียมการประกอบ: ตัวควบคุมแรงดันไฟฟ้า AMS1117
สำหรับขั้นตอนนี้ คุณจะต้องใช้ตัวควบคุม AMS1117 3.3 โวลต์ ที่นี่ ฉันมีอันหนึ่งติดอยู่กับบอร์ดฝ่าวงล้อมที่ออกแบบมาสำหรับ NRF24L01 ดังนั้นฉันจะแสดงวิธีทำขั้นตอนนี้โดยใช้ส่วนนี้ หากคุณมีเพียง AMS1117 IC มีบทช่วยสอนมากมายที่สามารถช่วยคุณในการเดินสายได้
สิ่งแรกที่ฉันทำคือปลดส่วนหัวพินทั้งหมดออกจากบอร์ด จากนั้นฉันก็บัดกรีลวดสีแดงและสีดำเข้ากับหมุดที่เกี่ยวข้อง
ต่อด้วยการออกแบบที่ไม่ถาวร ฉันนำส่วนหัวของหมุดตัวเมียสองแถวมาต่อเข้ากับพอร์ต VCC และ GND ซึ่งโมดูล NRF24L01 จะตั้งอยู่
เมื่อคุณทำเสร็จแล้ว คุณสามารถไปยังขั้นตอนถัดไปได้
ขั้นตอนที่ 11: เตรียมบอร์ด Perf: Arduino และ Pin Headers
สิ่งสุดท้ายที่ต้องทำก่อนการประกอบคือการเตรียมแผ่นไม้อัด ในการทำเช่นนี้ คุณจะต้องใช้ Arduino Nano, สายไฟที่เป็นของแข็ง และส่วนหัวของหมุดตัวเมีย
ตรวจสอบให้แน่ใจว่า Arduino Nano ของคุณมีส่วนหัวของพิน และดำเนินการประสานกับบอร์ดต่อ คุณจะต้องวางมันให้ไกลจากด้านหนึ่งของบอร์ดให้ได้มากที่สุดเท่าที่จะเป็นไปได้เพื่อให้มีที่ว่างสำหรับต่อขยายการเชื่อมต่อ แต่คุณจะต้องทิ้งแถวไว้บนแต่ละด้านของ Arduino เพื่อบัดกรีส่วนหัวของพินตัวเมีย ตรวจสอบให้แน่ใจว่าขั้วต่อ USB อยู่ใกล้กับขอบของบอร์ดมากที่สุด กระดานขนาด 3 ซม. x 7 ซม. ของฉันคือ 10 รู 24 รู สิ่งนี้ทำให้ฉันเหลือสองแถวทางด้านซ้ายของ Arduino หนึ่งแถวทางด้านขวา และประมาณเก้ารูด้านหลัง Arduino
ถัดไป นำส่วนหัวของหมุดตัวเมียสองแถวสิบห้าแถวแล้วประสานไว้ข้างๆ Arduino ฉันใช้ส่วนหัวพินมาตรฐานของตัวเมีย แต่ฉันหวังว่าฉันจะใช้ส่วนหัวแบบซ้อนด้วยเหตุผลนี้:
คุณจะต้องเชื่อมต่อลีดบนส่วนหัวของพินกับลีดของ Arduino หากคุณใช้หัวเข็มหมุดมาตรฐาน คุณจะต้องทำการเชื่อมต่อสะพานประสาน ซึ่งค่อนข้างยุ่งยากและใช้เวลานาน หากคุณใช้ส่วนหัวการปักหลัก คุณสามารถงอสายนำเพื่อสัมผัสสายสัญญาณ Arduino เพื่อให้งานบัดกรีง่ายขึ้นมาก
ไม่ว่าคุณจะเลือกวิธีใด หัวพินจะต้องเชื่อมต่อกับส่วนหัวพิน Arduino
ขั้นตอนที่ 12: เตรียม Perf Board: Pin Extensions
เมื่อคุณได้บัดกรี Arduino และส่วนหัวของพินเข้ากับบอร์ดแล้ว ขั้นตอนต่อไปคือการขยายพิน 5v และกราวด์เพื่อรองรับส่วนประกอบทางไฟฟ้าทั้งหมด
ประสานส่วนหัว 10 พินสองแถวบนบอร์ด perf ที่ปลายอีกด้านหนึ่งเป็น Arduino โดยมีช่องว่างหนึ่งแถวระหว่างกัน
นำลวดแกนแข็งชิ้นหนึ่งแล้วเรียกใช้จากพิน 5V บน Arduino ไปยังส่วนหัวของพินหนึ่งแถว ลอกฉนวนออกเพื่อให้สายไฟสัมผัสกับตะกั่วบนส่วนหัวของพิน ประสานลวดเข้าที่
ทำสิ่งเดียวกันยกเว้นกับพิน GND บน Arduino และส่วนหัวพินอีกแถวหนึ่ง
เมื่อคุณทำเสร็จแล้ว เครื่องส่งสัญญาณก็พร้อมที่จะประกอบ
ขั้นตอนที่ 13: การประกอบ: ติดจอยสติ๊กเข้ากับฐาน
สำหรับงานนี้ คุณจะต้องใช้สกรู m4 แปดตัวและน็อตที่เกี่ยวข้อง พร้อมด้วยแหวนรองสองสามตัว
วางน็อตลงในรูหกเหลี่ยมที่ด้านล่างของส่วนที่พิมพ์ 3 มิติที่แสดงด้านบน
เลื่อนแหวนรองหนึ่งอันลงบนสกรูแต่ละตัว
ดันสกรู m4 สี่ตัวเข้าไปในรูทั้งสี่บนบอร์ดฝ่าวงล้อมของจอยสติ๊ก
เลื่อนชิ้นส่วนที่พิมพ์ 3D ออฟเซ็ตจอยสติ๊กเพื่อทำหน้าที่เป็นข้อขัดแย้งระหว่างบอร์ดฝ่าวงล้อมและที่ยึดจอยสติ๊ก
เลื่อนจอยสติ๊กด้วยสกรูเข้าที่บนฐาน โดยจับน็อตไว้ในช่องในขณะที่คุณขันสกรูให้แน่น
ทำซ้ำขั้นตอนนี้สำหรับจอยสติ๊กอื่น
ขั้นตอนที่ 14: การประกอบ: แนบโพเทนชิโอมิเตอร์และจอแสดงผล OLED เข้ากับแร็คโพเทนชิออมิเตอร์
เลื่อนโพเทนชิโอมิเตอร์เข้าที่บนชั้นวางโพเทนชิออมิเตอร์ โพเทนชิโอมิเตอร์ที่ฉันมาพร้อมกับน็อตเพื่อขันให้แน่น และฉันใช้สิ่งเหล่านี้ที่นี่เพื่อเก็บโพเทนชิโอมิเตอร์ให้เข้าที่ ในการขันน็อตด้านในให้แน่น ฉันใช้ไขควงปากแบน
ถัดไป ป้อนสายจอแสดงผล OLED ผ่านช่องทางด้านซ้ายมือของชั้นวางโพเทนชิออมิเตอร์ ขันฝาครอบให้แน่นบนจอแสดงผลด้วยสกรู m2 สองสามตัว คุณอาจต้องเพิ่มแหวนรองเพื่อรองรับส่วนที่ยื่นออกมาของจอแสดงผล
ขั้นตอนที่ 15: การประกอบ: แนบ Potentiometer Rack เข้ากับ Joystick Base
นำชั้นวางโพเทนชิออมิเตอร์แล้วติดเข้ากับฐานจอยสติ๊กโดยใช้สกรู m2 เพื่อให้ส่วนหัวของจอยสติ๊กหันออกจากชั้นวาง
ขั้นตอนที่ 16: การประกอบ: แนบ NRF24L01 Enclosure กับ Potentiometer Rack
กล่องหุ้ม NRF24L01 ประกอบด้วยสามส่วน ใช้ส่วนแรกและป้อนสายไฟของโมดูลเองผ่านช่องด้านหลัง ส่วนหน้าควรนั่งในช่องและข้อต่อประสานที่ยื่นออกมาจากด้านหลังของบอร์ดควรนั่งในช่องตามลำดับเช่นกัน
นำฝาปิดของโครงเครื่องและจัดแนวรูเพื่อให้ด้านเรียบของฝาปิดราบกับตัวเครื่อง เลื่อนสกรู m2 สองตัวผ่านรู และใส่ส่วนประกอบนี้เข้าไปในรูบนชั้นวางโพเทนชิออมิเตอร์ ในการทำขั้นตอนนี้ให้เสร็จสิ้น ให้จัดรูบนฝาปิดที่สองด้วยสกรู m2 เพื่อให้ส่วนที่ยื่นออกมารูปโค้งขนาดเล็กที่ด้านหน้าของชิ้นส่วนอยู่รอบกระบอกสูบของโมดูล NRF24L01 ขันให้แน่นด้วยน็อตสองตัว
ขั้นตอนที่ 17: การประกอบ: แนบที่จับเข้ากับฐาน
จับที่จับทั้งสองข้างแล้วติดเข้ากับฐานโดยใช้สกรู m2 ดังแสดงในภาพด้านบน
ขั้นตอนที่ 18: การประกอบ: ติดเคสแบตเตอรี่เข้ากับฐาน
ติดกล่องใส่แบตเตอรี่เข้ากับแท่นยึดแบตเตอรี่ด้วยสกรู m3 เคาเตอร์ซิงค์
ติดตั้งที่ยึดแบตเตอรี่เข้ากับฐานด้วยสกรู m2 เพื่อให้กล่องใส่แบตเตอรี่เปิดลง
ขั้นตอนที่ 19: การประกอบ: แนบสวิตช์เข้ากับที่จับ
สำหรับขั้นตอนนี้ คุณจะต้องใช้สวิตช์สลับทั้งหมด เริ่มต้นด้วยสวิตช์สลับสามตำแหน่ง
ถอดสปริงออกจากสวิตช์และเลื่อนสวิตช์ผ่านรูหกเหลี่ยมที่ด้ามจับด้านขวา ไม่สำคัญว่าสวิตช์นี้จะอยู่ที่ใด
ใช้สวิตช์สลับตำแหน่งสองตำแหน่งด้วยสายไฟสองเส้นแล้วดันผ่านรูที่ด้านซ้ายของที่จับ โดยยึดในลักษณะเดียวกับสวิตช์ก่อนหน้า
เลือกรูอื่นที่มือจับด้านซ้ายเพื่อติดสวิตช์สลับสองตำแหน่งสุดท้าย ซึ่งควรเป็นสวิตช์เปิด-ปิด
ขั้นตอนที่ 20: การประกอบ: แนบ Perf Board Assembly เข้ากับ Joystick Base
ใช้สกรู m2 และ m2 standoffs เพื่อยึดแผ่น perfboard เข้ากับฐานจอยสติ๊ก ตรวจสอบให้แน่ใจว่าช่องเสียบบนบอร์ดติดตั้งนั้นพอดีกับโมดูล NRF24L01 อีกครั้ง คุณอาจต้องเพิ่มแหวนรองระหว่างฐานยึดและฐานเพื่อรองรับการยื่นออกมาของหัวสกรู (คุณยังสามารถใช้ออฟเซ็ตที่พิมพ์ 3 มิติสำหรับสิ่งนี้ได้) คุณจะต้องแน่ใจว่าคุณเลื่อนสกรู m2 ที่ยาวกว่าผ่านท่อบนตัวยึดก่อน เพราะคุณจะไม่สามารถทำสิ่งนี้ได้เมื่อติดตั้งที่ยึดแล้ว
ขั้นตอนที่ 21: การประกอบ: แนบ Perf Board เข้ากับ Perf Board Mount
ใช้สกรู m2 เพื่อยึดแผ่นยึดต่อเข้ากับแผ่นกระดาน เพื่อให้ Arduino และส่วนหัวของขาหันออกจากขายึด ความยาวของสายไฟอาจขับเคลื่อนทิศทางที่พอร์ต USB บน Arduino ชี้ไป
ขั้นตอนที่ 22: การเชื่อมต่อ Arduino
การเลือกการออกแบบเครื่องส่งสัญญาณนี้ส่งผลให้ด้านล่างดูไม่เป็นระเบียบ ในการทำให้สิ่งนี้ดูเหมือนเป็นงานที่หนักใจน้อยลง ฉันจึงเน้นที่การเชื่อมต่อประเภทหนึ่งในแต่ละครั้ง ตัวอย่างเช่น ฉันเริ่มต้นด้วยการเชื่อมต่อสาย GND ทั้งหมดเข้ากับแถวขยายสำหรับ GND บนบอร์ดประสิทธิภาพ นี่คือการเชื่อมต่อ:
พินดิจิตอล:
D4 - จอยสติ๊ก1 Sw
D5 - จอยสติ๊ก2 Sw
D6 - พินภายนอกของสวิตช์สลับ 2 ตำแหน่ง
D7 - พินภายนอกของสวิตช์สลับ 3 ตำแหน่ง
D8 - พินภายนอกอื่น ๆ ของสวิตช์สลับ 3 ตำแหน่ง
D9 - พิน CE ของ NRF24L01
D10 - พิน CSN ของ NRF24L01
D11 - หมุด MOSI ของ NRF24L01
D12 - หมุด MISC ของ NRF24L01
D13 - หมุด SCK ของ NRF24L01
*หมายเหตุ: นี่คือตอนที่การเข้ารหัสสีสายไฟของคุณจะมีประโยชน์ กล่องหุ้ม NRF24L01 จำกัดการดูชื่อพินของคุณ เมื่อคุณกำหนดสีสายไฟ คุณสามารถบอกได้ว่าพินไหนเป็นพินไหนโดยไม่ต้องใช้ความพยายามมากนัก ทำให้เชื่อมต่อสายไฟกับ Arduino ได้ง่ายขึ้นมาก
หมุดอนาล็อก:
A0 - พินกลางของโพเทนชิออมิเตอร์ 1
A1 - พินกลางของโพเทนชิออมิเตอร์ 2
A2 - จอยสติ๊ก2 VRX Pin
A3 - จอยสติ๊ก2 VRY Pin
A4 - พิน OLED SDA (DATA)
A5 - หมุด OLED SCL (นาฬิกา)
A6 - จอยสติ๊ก1 VRY Pin
A7 - จอยสติ๊ก1 VRX Pin
ตัวควบคุมแรงดันไฟฟ้า (AMS1117):
เชื่อมต่อกราวด์พินของโมดูล NRF24L01 กับพินกราวด์บนตัวควบคุมแรงดันไฟฟ้า เชื่อมต่อพิน 3.3 โวลต์บน NRF24L01 เข้ากับตัวควบคุมแรงดันไฟฟ้า
ส่วนหัวของพินต่อกราวด์พิน (เชื่อมต่อพินเหล่านี้ทั้งหมดเข้ากับส่วนหัวพินกราวด์):
- Center Pin บน 2 ตำแหน่ง Toggle switch
- Center Pin บน 3 ตำแหน่ง Toggle switch
- จอยสติ๊ก1 GND Pin
- จอยสติ๊ก2 GND Pin
- โพเทนชิออมิเตอร์ 1 ขาขวา
- โพเทนชิโอมิเตอร์ 2 ขาขวา
- OLED GND Pin
- GND ของเคสแบตเตอรี่
- GND Pin บนตัวควบคุมแรงดันไฟฟ้า
5v Pin Extension Pin Headers (เชื่อมต่อพินทั้งหมดเหล่านี้กับส่วนหัวพิน VCC):
- จอยสติ๊ก1 5v พิน
- จอยสติ๊ก2 5v พิน
- โพเทนชิออมิเตอร์ 1 ขาซ้าย
- โพเทนชิโอมิเตอร์ 2 ขาซ้าย
- หมุด OLED VCC
- VCC Pin บนตัวควบคุมแรงดันไฟฟ้า
การเชื่อมต่ออื่นๆ:
องค์ประกอบสุดท้ายในการเชื่อมต่อคือสวิตช์เปิดปิด ควรต่อสายไฟหนึ่งอันของสวิตช์เข้ากับขั้วบวกของกล่องแบตเตอรี่ พินกลางจะเชื่อมต่อกับพิน VIN บน Arduino
ขั้นตอนที่ 23: รหัสเครื่องส่งสัญญาณ
ขั้นตอนสุดท้ายสำหรับคอนโทรลเลอร์นี้คือรหัส ฉันจะอธิบายเล็กน้อยสำหรับโค้ดนี้ แต่ถ้าคุณต้องการคำอธิบายในเชิงลึกว่าโมดูล NRF24l01 ทำงานและใช้งานอย่างไร โปรดไปที่ไซต์นี้:
Arduino Wireless Communication – NRF24L01 บทช่วยสอน
#รวม
#include #include #include #include #include #include #include #include #define SCREEN_WIDTH 128 // ความกว้างของจอแสดงผล OLED ในหน่วยพิกเซล #define SCREEN_HEIGHT 32 // ความสูงของจอแสดงผล OLED ในหน่วยพิกเซล จอแสดงผล Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); วิทยุ RF24 (9, 10); ที่อยู่ไบต์ const[6] = "00001"; ข้อมูลภายใน[11]; const int onevrx = 7; //ตัวแปรสำหรับ VRX บนจอยสติ๊ก 1 const int onevry = 6; //ตัวแปรสำหรับ VRY บนจอยสติ๊ก 1 const int twovrx = 2; //ตัวแปรสำหรับ VRX บนจอยสติ๊ก 2 const int twovry = 3; //ตัวแปรสำหรับ VRY บนจอยสติ๊ก 2 const int pot0Pin = 0; //ตัวแปรสำหรับหม้อ 1 const int pot1Pin = 1; //ตัวแปรสำหรับหม้อ 2 const int ASwitch = 6; // ตัวแปรสำหรับสวิตช์สลับสองตำแหน่ง const int BSwitch1 = 8; //ตัวแปรสำหรับตำแหน่งหนึ่งในสามของสวิตช์สลับตำแหน่ง const int BSwitch2 = 7; // ตัวแปรสำหรับตำแหน่งที่สามในสามตำแหน่งสลับสวิตช์ const int CButton = 2; //ตัวแปรสำหรับปุ่มกดเสริม 1 const int DButton = 3; //ตัวแปรสำหรับปุ่มกดเสริม 2 int oneX; int oneY; int twoX; int สองY; int pot0; หม้อภายใน1; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); radio.begin(); radio.openWritingPipe (ที่อยู่); radio.setPALevel(RF24_PA_MIN); radio.stopListening(); โหมดพิน (ASwitch, INPUT_PULLUP); // ตั้งค่า APin เป็นโหมดเอาต์พุต pinMode (BSwitch1, INPUT_PULLUP); // ตั้งค่า BPin เป็นโหมดเอาต์พุต pinMode (BSwitch2, INPUT_PULLUP); // ตั้งค่า CPin เป็นโหมดเอาต์พุต pinMode (CButton, INPUT_PULLUP); // ตั้งค่า DPin เป็นโหมดเอาต์พุต pinMode (DButton, INPUT_PULLUP); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); ล่าช้า (1000); display.clearDisplay(); display.setTextSize(.25); display.setTextColor(สีขาว); display.setCursor(0, 0); display.print("เปิดเครื่อง"); display.display(); ล่าช้า(10); } วงเป็นโมฆะ () { oneX = analogRead (onevrx); oneY = analogRead (หนึ่งเดียว); twoX = analogRead (twovrx); twoY = analogRead(twovry); pot0 = analogRead (pot0Pin); pot1 = analogRead (pot1Pin); ข้อมูล[0] = oneX; ข้อมูล[1] = oneY; ข้อมูล [2] = twoX; ข้อมูล[3] = twoY; ข้อมูล[4] = pot0; ข้อมูล[5] = pot1; ข้อมูล [6] = digitalRead (ASwitch); ข้อมูล[7] = digitalRead(BSwitch1); ข้อมูล[8] = digitalRead (BSwitch2); ข้อมูล [9] = digitalRead (CButton); ข้อมูล [10] = digitalRead (DButton); radio.write(&data, sizeof(ข้อมูล)); // ส่งข้อมูลไปยังผู้รับล่าช้า (100); display.clearDisplay(); display.setTextSize(.25); display.setTextColor(สีขาว); display.setCursor(5, 5); display.println(ข้อมูล[4]); display.print("กำลังรับพลังงาน"); //เพิ่มข้อมูลเพิ่มเติมที่คุณต้องการให้แสดงบน OLED ที่นี่ display.display(); }
ขั้นตอนที่ 24: รหัสตัวรับ
#รวม
#include #include RF24 วิทยุ(9, 10); //cns, ce // กำหนดอ็อบเจ็กต์เพื่อควบคุม NRF24L01 const byte address[6] = "00001"; // กำหนดที่อยู่การสื่อสารซึ่งควรสอดคล้องกับข้อมูล int ของเครื่องส่งสัญญาณ [11] = {512, 512, 512, 512, 512, 512, 0, 0, 0, 0, 0}; // กำหนดอาร์เรย์ที่ใช้ในการบันทึกข้อมูลการสื่อสาร การตั้งค่าเป็นโมฆะ () { radio.begin (); radio.openReadingPipe(0, ที่อยู่); วิทยุ.setPALevel(RF24_PA_MIN); radio.startListening(); //ตั้งเป็นเครื่องรับ Serial.begin(9600); } void loop() { if (radio.available()) { radio.read(&data, sizeof(data)); //พิมพ์จุดข้อมูลสองสามจุดจากคอนโทรลเลอร์ไปยังจอภาพอนุกรม Serial.print(data[0]); Serial.print("\t\t"); Serial.print(ข้อมูล[1]); Serial.print("\t\t"); Serial.print(ข้อมูล[2]); Serial.print("\t\t"); Serial.print(ข้อมูล[3]); Serial.println(""); } //อีกครั้ง นี่เป็นเพียงตัวอย่างโค้ดฐานสำหรับโมดูลตัวรับ
ขั้นตอนที่ 25: สรุป
คุณสามารถควบคุมโครงการ Arduino แทบทุกโครงการด้วยคอนโทรลเลอร์นี้ และการออกแบบช่วยให้ปรับเปลี่ยนได้มากขึ้นคุณอาจตัดสินใจว่าคุณต้องการโพเทนชิโอมิเตอร์เพิ่มเติมสองตัวแทนจอแสดงผล OLED (หากคุณต้องการไฟล์ STEP ของชั้นวางโพเทนชิออมิเตอร์ 4 ตัว ฉันสามารถส่งข้อมูลนั้นให้คุณได้ เพียงแค่แสดงความคิดเห็นตามคำขอ) หรือบางทีคุณอาจต้องการเพิ่มปุ่มกดสองสามปุ่มในการออกแบบ มันขึ้นอยู่กับคุณทั้งหมด
หากคุณมีคำถาม ความคิดเห็น หรือข้อกังวลใดๆ อย่าลังเลที่จะถาม
ขอขอบคุณที่สละเวลาอ่าน 24 ขั้นตอนเหล่านี้ ฉันหวังว่าคุณจะสามารถเรียนรู้อะไรบางอย่างหรือได้รับแนวคิดใหม่ ๆ เกี่ยวกับสิ่งที่สามารถทำได้ด้วยเครื่องพิมพ์ 3 มิติและ Arduino
รองชนะเลิศการแข่งขัน Arduino 2020
แนะนำ:
สมาร์ทโฟน Android แบบ USB (!!) เว็บแคม: 8 ขั้นตอน (พร้อมรูปภาพ)
สมาร์ทโฟน Android แบบ USB (!!) เว็บแคม: ในช่วงสองสามเดือนที่ผ่านมา เราทุกคนถูกบังคับให้สื่อสารออนไลน์มากกว่าที่จะติดต่อด้วยตนเอง ในฐานะนักเรียน การบรรยายส่วนใหญ่ของฉันกลายเป็นการประชุมของ Zoom และเช่นเดียวกันกับชั่วโมงการสอนของฉัน ในอีกไม่กี่สัปดาห์ข้างหน้า นักเรียนจำนวนมากทุกวัยจะ
เครื่องส่งสัญญาณ Flysky RF ขับเคลื่อนผ่าน USB + การเชื่อมต่อสัญญาณสายไฟกับพีซี + ซอฟต์แวร์จำลองฟรี: 6 ขั้นตอน
เครื่องส่ง RF Flysky ขับเคลื่อนผ่าน USB + การเชื่อมต่อสัญญาณแบบมีสายกับพีซี + ซอฟต์แวร์จำลองฟรี: หากคุณเป็นเหมือนฉัน คุณจะต้องการทดสอบเครื่องส่งสัญญาณ RF ของคุณและเรียนรู้ก่อนที่คุณจะชนเครื่องบิน/โดรน RF อันเป็นที่รักของคุณ สิ่งนี้จะทำให้คุณสนุกมากขึ้น ในขณะที่ประหยัดเงินและเวลาได้มาก ในการดำเนินการดังกล่าว วิธีที่ดีที่สุดในการเชื่อมต่อเครื่องส่ง RF ของคุณกับคุณ
ฟื้นคืนชีพ Pleo RB ที่เสียชีวิตของคุณด้วย PSU แบบ Tethered: 5 ขั้นตอน (พร้อมรูปภาพ)
ชุบชีวิต Pleo RB ที่เสียชีวิตของคุณด้วย Tethered PSU: โปรดทราบว่าภาพถ่ายทั้งหมดสำหรับคำแนะนำนี้ถูกถ่ายหลังจากที่ฉันแก้ไขเสร็จแล้ว ดังนั้นคุณจะต้องดูชิ้นส่วนที่คุณมีอย่างใกล้ชิดหลังจากถอดแยกชิ้นส่วนกล่องแบตเตอรี่และเปรียบเทียบกับภาพที่ให้มา ที่นี่ ก่อนแก้ไข
เพิ่ม Optical Tachometer แบบ Arduino ให้กับเราเตอร์ CNC: 34 ขั้นตอน (พร้อมรูปภาพ)
เพิ่มเครื่องวัดความเร็วรอบแบบออปติคัลบน Arduino ให้กับเราเตอร์ CNC: สร้างตัวบ่งชี้ RPM แบบออปติคัลสำหรับเราเตอร์ CNC ของคุณด้วย Arduino Nano, เซ็นเซอร์โฟโตไดโอด IR LED/IR และจอแสดงผล OLED ในราคาต่ำกว่า 30 ดอลลาร์ ฉันได้รับแรงบันดาลใจจาก Measure RPM - Optical Tachometer Instructable ของ eletro18 และต้องการเพิ่มมาตร
เสาอากาศ Telescoping เครื่องส่งสัญญาณ FM: 6 ขั้นตอน
เสาอากาศ Telescoping ของเครื่องส่งสัญญาณ FM: เบื่อและเบื่อกับการรบกวนเครื่องส่งสัญญาณ FM ของคุณหรือไม่? แน่นอนว่าคุณสามารถเพิกเฉยได้เกือบตลอดเวลา แต่เราทุกคนรู้ดีว่าเพลงคันทรี่ที่ไหลเข้าและออกจากตัวคุณเพื่อเพลิดเพลินกับพอดคาสต์ของคุณกำลังทำให้คุณเสียสติอย่างช้าๆ คำตอบ: เพิ่มโทรศัพท