สารบัญ:
- ขั้นตอนที่ 1: วัสดุ
- เครื่องมือ
- วัสดุ
- ขั้นตอนที่ 2: ทำเพลท
- ขั้นตอนที่ 3: สร้างตัวเชื่อมต่อ
- ขั้นตอนที่ 4: สร้างวงจร
- ขั้นตอนที่ 5: เสร็จสิ้นและแนบตัวเชื่อมต่อ
- ขั้นตอนที่ 6: เชื่อมต่อและอัปโหลดรหัส
- ขั้นตอนที่ 7: ทำสิ่งที่เจ๋ง
- ขั้นตอนที่ 8: รูปแบบและหมายเหตุ
- รูปแบบต่างๆ
- หมายเหตุ
วีดีโอ: DIY 3D Controller: 8 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:09
สร้างอินเทอร์เฟซ 3 มิติโดยใช้ตัวต้านทาน 6 ตัว อะลูมิเนียมฟอยล์ และ Arduino รับสิ่งนั้น Wii. Update: คำอธิบายโดยละเอียดเพิ่มเติมของโครงการนี้มีให้ในนิตยสาร Make การปฏิบัติตามคำแนะนำของพวกเขาอาจง่ายกว่า และฉันคิดว่าโค้ดของพวกเขาเป็นปัจจุบันมากกว่า เป้าหมายพื้นฐานที่นี่คือการสร้างระบบตรวจจับตำแหน่งมือแบบ 3 มิติที่คนส่วนใหญ่สามารถสร้างได้ ในขณะที่ยังคงรักษาลักษณะการทำงานบางอย่างไว้ หากต้องการทราบแนวคิดเกี่ยวกับแอปพลิเคชันที่เป็นไปได้ โปรดดูวิดีโอสาธิต หากคุณคิดว่าคุณสามารถสร้างสิ่งที่ง่ายกว่าและแม่นยำกว่า หรือซับซ้อนกว่าและแม่นยำกว่าเล็กน้อย ให้แบ่งปันความคิดเห็น!อินเทอร์เฟซ 3 มิติ DIY: Tic Tac Toe จาก Kyle McDonald บน Vimeo
ขั้นตอนที่ 1: วัสดุ
เครื่องมือ
- Arduino
- กำลังประมวลผล
- เครื่องตัดลวด
- หัวแร้ง
- เครื่องตัดกล่อง
วัสดุ
- (3) ตัวต้านทาน 270k
- (3) ตัวต้านทาน 10k
- ประสาน
- ลวด
- อลูมิเนียมฟอยล์
- กระดาษแข็ง
ไม่จำเป็น:
- เทป (เช่น สก๊อต)
- ลวดชีลด์ (เช่น: สายโคแอกเชียล, ~3')
- (3) คลิปจระเข้
- ส่วนหัว 3 ขา
- ซิปรูด
- ท่อหดหรือกาวร้อน
ขั้นตอนที่ 2: ทำเพลท
เซ็นเซอร์นี้จะทำงานโดยใช้วงจร RC แบบง่าย โดยแต่ละระยะการตรวจจับวงจรจะอยู่ในมิติเดียว ฉันพบว่าวิธีที่ง่ายที่สุดในการจัดเพลต capacitive สามแผ่นเพื่อจุดประสงค์นี้อยู่ที่มุมของลูกบาศก์ ฉันตัดมุมของกล่องกระดาษแข็งเป็นลูกบาศก์ขนาด 8.5 นิ้ว แล้วตัดอลูมิเนียมฟอยล์บางส่วนให้เป็นสี่เหลี่ยมเล็กๆ ที่มีขนาดเล็กกว่าเล็กน้อย เทปที่มุมช่วยให้เข้าที่ อย่าพันเทปไว้ทั้งเส้น เราจำเป็นต้องใช้ ภายหลังสำหรับติดคลิปจระเข้
ขั้นตอนที่ 3: สร้างตัวเชื่อมต่อ
ในการเชื่อมต่อ Arduino กับเพลต เราจำเป็นต้องมีลวดหุ้มฉนวน หากลวดไม่ได้หุ้มฉนวน สายไฟจะทำหน้าที่เป็นส่วนหนึ่งของตัวเก็บประจุอย่างชัดเจนยิ่งขึ้น นอกจากนี้ ฉันยังพบว่าคลิปจระเข้ช่วยให้เชื่อมต่อสิ่งต่างๆ กับอะลูมิเนียมได้ง่ายมากๆ แต่อาจมีวิธีอื่นๆ อีกมากเช่นกัน
- ตัดสายเคเบิลหุ้มฉนวนสามความยาวเท่ากัน ฉันเลือกประมาณ 12" ยิ่งสั้นยิ่งดี สายโคแอกเชียลใช้งานได้ แต่ยิ่งเบา/ยืดหยุ่นได้ยิ่งดี
- ตัดครึ่งนิ้วสุดท้ายหรือประมาณนั้นเพื่อเปิดเผยเกราะและนิ้วสุดท้ายเพื่อเปิดเผยลวด
- บิดคลิปจระเข้เข้ากับสายไฟเข้ากับสายไฟแล้วประสานเข้าด้วยกัน
- ใส่ท่อหดด้วยความร้อนหรือกาวร้อนเพื่อเก็บสิ่งของเข้าด้วยกัน
ขั้นตอนที่ 4: สร้างวงจร
"วงจร" เป็นเพียงตัวต้านทานสองตัวต่ออลูมิเนียมหนึ่งชิ้น เพื่อให้เข้าใจว่าเหตุใดจึงอยู่ที่นั่น การรู้ว่าเรากำลังทำอะไรกับ Arduino สิ่งที่เราจะทำกับพินแต่ละอันตามลำดับคือ:
- ตั้งค่าพินเป็นโหมดเอาต์พุต
- เขียนดิจิตอล "ต่ำ" ไปที่พิน ซึ่งหมายความว่าทั้งสองด้านของตัวเก็บประจุต่อสายดินและจะคายประจุ
- ตั้งค่าพินเป็นโหมดอินพุต
- นับระยะเวลาที่ตัวเก็บประจุจะชาร์จโดยรอให้พิน "สูง" ขึ้นอยู่กับค่าของตัวเก็บประจุและตัวต้านทานสองตัว เนื่องจากตัวต้านทานได้รับการแก้ไข การเปลี่ยนแปลงในความจุจะสามารถวัดได้ ระยะห่างจากพื้นดิน (มือของคุณ) จะเป็นตัวแปรหลักที่ทำให้เกิดความจุ
ตัวต้านทาน 270k ให้แรงดันไฟฟ้าเพื่อชาร์จตัวเก็บประจุ ยิ่งค่าน้อยเท่าไหร่ ก็ยิ่งชาร์จได้เร็วเท่านั้น ตัวต้านทาน 10k ส่งผลต่อเวลาเช่นกัน แต่ฉันไม่เข้าใจบทบาทของมันอย่างสมบูรณ์ เราจะสร้างวงจรนี้ที่ฐานของเส้นลวดแต่ละเส้น
- บัดกรีตัวต้านทาน 10k ไปที่ปลายลวดตรงข้ามกับคลิปจระเข้
- ประสานตัวต้านทาน 270k ระหว่างตัวป้องกันและลวด (แผ่น) เราจะป้องกันลวดด้วย 5 V เดียวกันกับที่เราใช้เพื่อชาร์จตัวเก็บประจุ
ขั้นตอนที่ 5: เสร็จสิ้นและแนบตัวเชื่อมต่อ
เมื่อตัวเชื่อมต่อ 3 ตัวเสร็จสิ้น คุณอาจต้องการเพิ่มท่อหดแบบใช้ความร้อนหรือกาวร้อนเพื่อหุ้มฉนวนจากกันและกัน เนื่องจากคุณจะต้องบัดกรีส่วนป้องกัน/5 V จุดเข้าด้วยกัน
สำหรับฉัน การเชื่อมตัวเชื่อมต่อนอกสุดทั้งสองเข้าด้วยกันนั้นง่ายที่สุด แล้วเพิ่มตัวเชื่อมต่อที่สามเข้าไป เมื่อคุณบัดกรีตัวเชื่อมต่อทั้งสามแล้ว ให้เพิ่มสายที่สี่เพื่อจ่ายแผงป้องกัน/5 V.
ขั้นตอนที่ 6: เชื่อมต่อและอัปโหลดรหัส
- เสียบขั้วต่อเข้ากับ Arduino (พิน 8, 9 และ 10)
- ติดคลิปจระเข้ลงบนจาน (8:x:left, 9:y:bottom, 10:z:right)
- ให้พลังงานโดยเสียบสายที่สี่ (สายสีแดงของฉัน) เข้ากับ 5 V. ของ Arduino
- เสียบ Arduino เริ่มสภาพแวดล้อม Arduino
- อัปโหลดรหัสไปที่บอร์ด (หมายเหตุ: หากคุณอยู่นอกอเมริกาเหนือ คุณอาจต้องเปลี่ยน #define mains เป็น 50 แทนที่จะเป็น 60)
แนบรหัส Arduino เป็น Interface3D.ino และแนบรหัสประมวลผลเป็น TicTacToe3D.zip
ขั้นตอนที่ 7: ทำสิ่งที่เจ๋ง
หากคุณดูที่หน้าต่างอนุกรมในสภาพแวดล้อม Arduino คุณจะสังเกตเห็นว่ามีการคายพิกัด 3 มิติดิบที่ 115200 บอด ที่ประมาณ 10 Hz = 60Hz / (2 รอบเต็ม * 3 เซ็นเซอร์) โค้ดนี้จะทำการวัดให้มากที่สุดเท่าที่จะเป็นไปได้บนเซ็นเซอร์แต่ละตัวในช่วงสองรอบของความถี่ของกำลังไฟฟ้าหลัก (ซึ่งมีความเสถียรอย่างน่าประหลาดใจ) เพื่อยกเลิกการคัปปลิ้ง สิ่งแรกที่ฉันทำกับสิ่งนี้คือสร้าง 3D Tic อย่างง่าย อินเทอร์เฟซ Tac Toe หากคุณต้องการเริ่มต้นด้วยการสาธิตการทำงาน โค้ดมีให้ที่นี่ เพียงวางโฟลเดอร์ "TicTacToe3D" ในโฟลเดอร์การประมวลผลภาพสเก็ตช์ของคุณ สิ่งที่เป็นประโยชน์สามประการที่โค้ด Tic Tac Toe แสดงให้เห็น:
- ทำให้ข้อมูลดิบเป็นเส้นตรง เวลาในการชาร์จเป็นไปตามกฎกำลังที่สัมพันธ์กับระยะทางจริง ๆ ดังนั้นคุณต้องหารากที่สองของหนึ่งตลอดเวลา (เช่น ระยะทาง ~= sqrt(1/ครั้ง))
- ทำให้ข้อมูลเป็นปกติ เมื่อคุณเริ่มร่างภาพ ให้กดปุ่มซ้ายของเมาส์ค้างไว้ขณะเคลื่อนมือไปรอบๆ เพื่อกำหนดขอบเขตของพื้นที่ที่คุณต้องการใช้งาน
- การเพิ่ม "โมเมนตัม" ให้กับข้อมูลเพื่อลดความกระวนกระวายใจ
ในทางปฏิบัติ โดยใช้การตั้งค่านี้กับอลูมิเนียมฟอยล์ ฉันจะได้รับขนาดฟอยล์ที่ใหญ่ที่สุด (ชิ้นที่ใหญ่ที่สุดที่ฉันเคยทดสอบคือ 1.5 ตารางฟุต)
ขั้นตอนที่ 8: รูปแบบและหมายเหตุ
รูปแบบต่างๆ
- สร้างเซ็นเซอร์ขนาดใหญ่
- ปรับตัวต้านทานและโค้ดให้เหมาะสมสำหรับสิ่งที่สั่นอย่างรวดเร็ว และใช้เป็นปิ๊กอัพ/ไมโครโฟน
- อาจมีเทคนิคอื่นๆ ในการแยกระบบออกจาก AC hum (ตัวเก็บประจุขนาดใหญ่ระหว่างเพลตกับพื้น?)
- ฉันได้ทดลองกับการป้องกันเพลตที่ด้านล่าง แต่ดูเหมือนว่าจะสร้างปัญหาเท่านั้น
- สร้างตัวเลือกสี RGB หรือ HSB
- ควบคุมพารามิเตอร์วิดีโอหรือเพลง ลำดับจังหวะหรือทำนอง
- พื้นผิวขนาดใหญ่โค้งงอเล็กน้อยพร้อมแผ่นหลายแผ่น + โปรเจ็กเตอร์ = อินเทอร์เฟซ "รายงานส่วนน้อย"
หมายเหตุ
สนามเด็กเล่น Arduino มีบทความสองบทความเกี่ยวกับการตรวจจับการสัมผัสแบบ capacitive (CapSense และ CapacitiveSensor) ในท้ายที่สุด ฉันไปกับการผกผันของการออกแบบที่ฉันพบในสำเนา "Physical Computing" (Sullivan/Igoe) ของเพื่อนที่อธิบายวิธีใช้ RCtime (วงจรมีตัวเก็บประจุและตัวต้านทานหนึ่งตัวคงที่ และวัดค่าของ a โพเทนชิโอมิเตอร์) จับเวลาไมโครวินาทีได้สำเร็จโดยใช้โค้ดที่ปรับให้เหมาะสมเล็กน้อยจากฟอรัม Arduino อีกครั้ง: จากการเริ่มต้นที่ตันของแผนผัง theremin ฉันไม่เข้าใจอย่างสมบูรณ์ฉันตระหนักดีว่ามีวิธีที่ดีกว่าในการตรวจจับระยะทางแบบ capacitive แต่ฉันต้องการทำสิ่งที่เรียบง่ายที่สุดเท่าที่จะเป็นไปได้ซึ่งยังคงใช้งานได้ หากคุณมีการออกแบบที่เรียบง่ายและใช้งานได้จริง ให้โพสต์ไว้ในความคิดเห็น! ขอบคุณ Dane Kouttron ที่อดทนต่อคำถามเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์พื้นฐานทั้งหมดของฉัน และช่วยให้ฉันเข้าใจว่าวงจรเฮเทอโรไดน์เรมินแบบง่ายๆ ทำงานอย่างไร (เดิมที ฉันจะใช้สิ่งเหล่านี้ -- และ ถ้าปรับให้ถูกก็น่าจะแม่นยำกว่า)
รางวัลที่หนึ่งในการประกวดหนังสือผู้สอน
แนะนำ:
DIY STEP/DIR LASER GALVO CONTROLLER: 5 ขั้นตอน (พร้อมรูปภาพ)
DIY STEP/DIR LASER GALVO CONTROLLER: สวัสดี ในคำแนะนำนี้ ฉันต้องการแสดงให้คุณเห็นว่าคุณสามารถสร้างอินเทอร์เฟซ step / dir ของคุณเองสำหรับเครื่องสแกนเลเซอร์ galvo มาตรฐาน ILDA ได้อย่างไร อย่างที่คุณอาจทราบ ฉันก็เป็นผู้ประดิษฐ์ "DIY-SLS-3D-Printer" และ "JRLS 1000 DIY SLS-3D-P
DIY Keyboard Controller สำหรับ MAME และ Virtual Pinball: 4 ขั้นตอน (พร้อมรูปภาพ)
DIY Keyboard Controller สำหรับ MAME และ Virtual Pinball: ชุดคำสั่งนี้ให้คุณสร้างคอนโทรลเลอร์คีย์บอร์ดของคุณเองโดยใช้คีย์บอร์ดเก่าในราคาลวด บัดกรี และเศษไม้ ตัวควบคุมเหล่านี้ถูกใช้ในโครงการ MAME และ Virtual Pinball ของฉัน .See Virtual Pinball Inst
DIY Minecraft Pickaxe Controller: 4 ขั้นตอน (พร้อมรูปภาพ)
DIY Minecraft Pickaxe Controller: ฉันมีชิ้นส่วนอยู่รอบๆ เพื่อทำสิ่งนี้มาเกือบปีแล้ว และในที่สุดก็มีเวลาลงมือทำมัน สิ่งที่เรามีที่นี่คือตัวควบคุมเกม USB (HID) ที่เสียบเข้ากับเครื่องใดๆ ที่มี USB และทำหน้าที่เป็นแป้นพิมพ์/เมาส์/จอยสติ๊ก มี
DIY Arduino ควบคุม Multiwii Flight Controller: 7 ขั้นตอน (พร้อมรูปภาพ)
DIY Arduino ควบคุม Multiwii Flight Controller: โปรเจ็กต์นี้คือการสร้างบอร์ดลอจิกโดรน multicopter ที่ใช้งานได้หลากหลายแต่กำหนดเองตาม Arduino และ Multiwii
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 ขั้นตอน (พร้อมรูปภาพ)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): ฉันลอก ryan97128 ออกจากการออกแบบของเขาสำหรับ Nintendo Controller MP3 เวอร์ชัน 2.0 และฉันได้ยินมาว่าเขาได้แนวคิดมาจาก Morte_Moya ที่ฉลาดทั้งหมด ดังนั้นฉันจึงรับเครดิตไม่ได้ อัจฉริยะทั้งหมดของพวกเขา ฉันแค่ต้องการเพิ่มความสะดวกสบายและเติมเงิน -