สารบัญ:
วีดีโอ: DIY VR Treadmill- Basy3 FPGA-Digilent Contest: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
คุณต้องการสร้างลู่วิ่ง VR ที่คุณสามารถเรียกใช้แอปพลิเคชันเดสก์ท็อปและเกมของคุณหรือไม่? ถ้าอย่างนั้นคุณมาถูกที่แล้ว!
ในเกมทั่วไป คุณใช้เมาส์และคีย์บอร์ดเพื่อโต้ตอบกับสิ่งแวดล้อม ดังนั้น เราจำเป็นต้องส่งสัญญาณแบบเดียวกับเมาส์และคีย์บอร์ด เพื่อที่จะไม่มีปัญหาความเข้ากันได้ระหว่างลู่วิ่งของเรากับเกม แทนที่จะแยกอุปกรณ์เหล่านี้ออกจากกัน เราจะสร้างอุปกรณ์ของเราเองซึ่งสามารถจำลองอุปกรณ์เหล่านี้ได้ใกล้เคียงที่สุด
สำหรับอินพุตของเมาส์ เราจะใช้ดิสก์ที่มีสไลซ์ที่เป็นสื่อกระแสไฟฟ้าและไม่นำไฟฟ้าสลับกัน โดยที่สายไฟสองเส้นที่มีการออฟเซ็ตเล็ก ๆ จะเลื่อนไปมา บอร์ดจะอ่านสัญญาณที่มาจากสายไฟทำให้เรามีชุดค่าผสมสี่ชุด: 00, 11, 10, 01 ซึ่งเราแปลได้โดยตรงในการเคลื่อนที่ซ้าย-ขวา
สำหรับการเคลื่อนขึ้นลง แทนที่จะเป็นดิสก์ เราจะใช้เพลตที่มีรูปแบบเดียวกันคือ 0 และ 1
เป็นอินพุตสำหรับโมดูลที่จำลองแป้นพิมพ์ เราจะมีสวิตช์วางอยู่บนข้อต่อของแกนที่จะยึดสายรัดไว้ เมื่อคุณก้าวไปในทิศทางใด แกนจะงอเล็กน้อย จึงเป็นการเปิดสวิตช์
(โปรดทราบว่าโครงการยังอยู่ในระหว่างดำเนินการและสามารถปรับปรุงได้ เลยรอคำแนะนำที่สามารถทำให้ดีขึ้นได้)
ขั้นตอนที่ 1: ฐาน
ฐานควรมีจุดศูนย์ถ่วงต่ำ ดังนั้นจึงจำเป็นต้องใช้วัสดุที่มีน้ำหนักมาก ในกรณีของฉัน ฉันใช้ปูนปลาสเตอร์และจานเสาอากาศเพื่อทำแม่พิมพ์เว้า แต่สามารถใช้วิธีการอื่นได้ (เช่น ลูกบอลโยคะ) หลังจากที่แม่พิมพ์แห้ง จะถูกวางลงบนดิสก์สองแผ่นที่มีเส้นผ่านศูนย์กลางเดียวกันซึ่งทำจากไม้ MDF หรือวัสดุที่คล้ายกัน จะมีการแนะนำตัวเว้นวรรคระหว่างดิสก์ MDF สองแผ่น ระหว่างดิสก์เหล่านี้จะวางโปรไฟล์สามเหลี่ยมซึ่งมีลูกปืนอยู่ที่ขอบ แบริ่งอีกชุดหนึ่งจะถูกวางตั้งฉากกับจุดยอดของสามเหลี่ยมและสัมผัสกับดิสก์ที่ด้านบน เพื่อความแม่นยำที่ดีขึ้น สามารถใช้แบริ่งได้มากขึ้น แท่งไม้จะถูกวางบนจุดยอดจุดใดจุดหนึ่ง ดังแสดงในภาพที่สาม คันนี้ถือสายรัดที่ผู้เล่นจะถูกวางไว้
แกนภายนอกแบบตายตัวอีกอันหนึ่งใช้เพื่อรองรับสายไฟและเป็นจุดอ้างอิงสำหรับการเคลื่อนที่แบบหมุน
ขั้นตอนที่ 2: 2 การจัดการอินพุต
จากมุมมองของกล่องดำ อุปกรณ์จะมีอินพุตต่อไปนี้: การเชื่อมต่อ 4 จุดสำหรับตัวนับเมาส์ x, y การเชื่อมต่อ 2 จุดสำหรับปุ่มเมาส์ และ 4 จุดสำหรับปุ่มลูกศร เอาต์พุตแสดงด้วย 4 พิน: 2 สำหรับการเชื่อมต่อเมาส์ PS2 และอีก 2 สำหรับการเชื่อมต่อคีย์บอร์ด PS2 สำหรับคำอธิบายโดยละเอียดเพิ่มเติมของโปรโตคอล PS2 คุณสามารถตรวจสอบไซต์ต่อไปนี้:
เป็นอินพุตสำหรับบอร์ด ฉันเลือกหมุดดิจิทัล JB(1 downto 0) พิจารณาลำดับ …11001100… อ่านสองอินพุต เราสามารถแยกแยะระหว่างสถานะสามสถานะของตัวนับ:
1.นับขึ้น;
2.นับถอยหลัง;
3. บันทึกค่าปัจจุบัน
โมดูล Count_Type ทำเช่นนั้น หากมีการเปลี่ยนแปลงอินพุต โมดูลจะส่งข้อความที่เหมาะสมไปยังตัวนับ 8 บิต (ดำเนินการในไฟล์ 8_bit_count.vhd) ซึ่งจะเพิ่มหรือลบออกจากค่าปัจจุบัน เว้นแต่จะได้รับสัญญาณรีเซ็ต
แนวคิดเดียวกันนี้ใช้สำหรับการเคลื่อนไหวขึ้น-ลงของส่วนหัว แต่แทนที่จะเป็นดิสก์ ให้ใช้โปรไฟล์เชิงเส้นแบบเลื่อนที่มีรูปแบบ 0&1 สลับกันแบบเดียวกัน
ขั้นตอนที่ 3: การใช้งาน VHDL
ที่แนบมากับการนำเสนอเป็นโมดูลต่อไปนี้:
1. Count_Type: โมดูลนี้จัดการการถอดรหัสของสายอินพุตสองสายจากดิสก์หรือโปรไฟล์ที่อธิบายไว้ในขั้นตอนที่สอง
2. 8bit_count: โมดูลนี้แปลข้อความที่ถอดรหัสจาก Count_Type และเพิ่มหรือลดจำนวนตัวนับ
3. 3bytepacket: โมดูลนี้จัดการสถานะของปุ่มซ้ายและขวาและจัดรูปแบบข้อมูลเพื่อให้สามารถแนะนำในแพ็คเก็ตข้อมูล 3 ไบต์ที่ใช้ในโปรโตคอล PS2
4.clk12khz: โมดูลนี้ให้นาฬิกา 12khz เฉพาะสำหรับโปรโตคอล PS2 ซึ่งส่วนประกอบและกระบวนการบางอย่างทำงาน
5. MessageManager: โมดูลนี้ส่งแพ็กเก็ตข้อมูล 3 ไบต์ ตีความและให้การตอบสนองที่เหมาะสม เป็นการตอบกลับข้อความจากพีซี
6. PS2Interface: โมดูลนี้เชื่อมต่อโปรโตคอลการสื่อสารระหว่างอุปกรณ์และโฮสต์ (PC) (โมดูลนี้ต้องการการดีบักและการประเมินใหม่อย่างละเอียดเพื่อให้ทำงานได้อย่างถูกต้อง)
แนะนำ:
FPGA Cyclone IV DueProLogic ควบคุมกล้อง Raspberry Pi: 5 ขั้นตอน
FPGA Cyclone IV DueProLogic ควบคุมกล้อง Raspberry Pi: แม้ว่า FPGA DueProLogic จะได้รับการออกแบบอย่างเป็นทางการสำหรับ Arduino แต่เราจะทำให้ FPGA และ Raspberry Pi 4B สื่อสารกันได้ มีการใช้งานสามงานในบทช่วยสอนนี้: (A) กดปุ่มสองปุ่มบนพร้อมกัน FPGA เพื่อพลิกมุมของ
FPGA Cyclone IV DueProLogic - ปุ่มกดและไฟ LED: 5 ขั้นตอน
FPGA Cyclone IV DueProLogic - ปุ่มกดและไฟ LED: ในบทช่วยสอนนี้ เราจะใช้ FPGA เพื่อควบคุมวงจร LED ภายนอก เราจะใช้งานต่อไปนี้ (A) ใช้ปุ่มกดบน FPGA Cyclone IV DuePrologic เพื่อควบคุม LED (B) Flash LED บน & ปิดเป็นระยะVideo demo Lab
FPGA Cyclone IV DueProLogic ควบคุมเซอร์โวมอเตอร์: 4 ขั้นตอน
FPGA Cyclone IV DueProLogic ควบคุมเซอร์โวมอเตอร์: ในบทช่วยสอนนี้ เราจะเขียนโค้ด Verilog เพื่อควบคุมเซอร์โวมอเตอร์ เซอร์โว SG-90 ผลิตโดย Waveshare เมื่อคุณซื้อเซอร์โวมอเตอร์ คุณอาจได้รับแผ่นข้อมูลที่แสดงแรงดันไฟฟ้าขณะทำงาน แรงบิดสูงสุด และ Pu
Mojo FPGA Development Board Shield: 3 ขั้นตอน
Mojo FPGA Development Board Shield: เชื่อมต่อบอร์ดพัฒนา Mojo ของคุณกับอินพุตภายนอกด้วย Shield นี้ บอร์ดพัฒนา Mojo คืออะไร? บอร์ดพัฒนา Mojo เป็นบอร์ดสำหรับพัฒนาที่ใช้ Xilinx spartan 3 FPGA กระดานทำโดย Alchitry FPGA มีประโยชน์มาก
Make:NYC Badge Contest จากเครื่องพิมพ์ GameBoy เก่า: 14 ขั้นตอน (พร้อมรูปภาพ)
Make:NYC Badge Contest Entry จากเครื่องพิมพ์ GameBoy เก่า: สวัสดีทุกคน นี่คือช็อตที่สองของฉันที่ Instructable.. เป็นคนใจดี.. ดังนั้นการประชุม Make:NYC ในท้องถิ่นจึงมีการประกวดป้ายสำหรับการประชุมครั้งที่สอง .. (ลิงก์ที่นี่) สาระสำคัญของการแข่งขันคือการทำป้ายชื่อ/ตราสัญลักษณ์ที่สวมใส่ได้ของวัสดุบางอย่าง