Mục lục:
Video: DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Bạn có muốn xây dựng một Máy chạy bộ VR để bạn có thể chạy các ứng dụng và trò chơi trên máy tính để bàn của mình không? Vậy bạn đã đến đúng chỗ!
Trong các trò chơi thông thường, bạn sử dụng chuột và bàn phím để tương tác với môi trường. Do đó, chúng tôi cần gửi cùng một loại tín hiệu như chuột và bàn phím để không có vấn đề tương thích giữa Máy chạy bộ của chúng tôi và trò chơi. Thay vì tách các thiết bị này ra, chúng tôi sẽ tạo ra thiết bị của riêng mình có thể mô phỏng chúng gần nhất có thể.
Đối với đầu vào chuột, chúng tôi sẽ sử dụng một đĩa có các lát dẫn điện và không dẫn điện xen kẽ, trên đó hai dây dẫn, với độ lệch nhỏ, sẽ trượt. Bo mạch sẽ đọc các tín hiệu đến từ các dây, cho chúng ta một trong bốn tổ hợp: 00, 11, 10, 01, mà chúng ta có thể dịch trực tiếp theo chuyển động trái-phải.
Đối với chuyển động lên xuống, thay vì đĩa, chúng ta sẽ sử dụng một đĩa có cùng kiểu số 0 và số 1.
Là đầu vào cho mô-đun mô phỏng bàn phím, chúng tôi sẽ có các công tắc được đặt trên khớp của một thanh sẽ giữ dây nịt. Khi bạn bước theo bất kỳ hướng nào, thanh sẽ hơi uốn cong, do đó sẽ mở công tắc.
(Hãy nhớ rằng dự án vẫn đang được tiến hành và có thể được cải thiện, vì vậy tôi đang chờ bất kỳ lời khuyên nào có thể làm cho nó tốt hơn)
Bước 1: Cơ sở
Đế phải có trọng tâm thấp, do đó cần sử dụng vật liệu nặng. Trong trường hợp của tôi, tôi đã sử dụng thạch cao và một đĩa ăng-ten để làm khuôn lõm, nhưng có thể sử dụng các phương tiện khác (ví dụ: bóng tập yoga). Sau khi khuôn khô, nó sẽ được đặt trên hai đĩa có cùng đường kính làm từ MDF hoặc một vật liệu tương tự. Một miếng đệm sẽ được giới thiệu giữa hai đĩa MDF. Giữa các đĩa này, một mặt cắt hình tam giác sẽ được đặt, có các ổ trục ở các cạnh. Một bộ ổ trục khác sẽ được đặt vuông góc với các đỉnh của tam giác và tiếp tuyến với đĩa, trên đỉnh. Để có độ chính xác tốt hơn, có thể sử dụng nhiều vòng bi hơn. Một thanh sẽ được đặt trên một trong các đỉnh, như trong hình thứ ba. Thanh này giữ dây nịt mà người chơi sẽ được đặt.
Một thanh cố định bên ngoài khác được sử dụng để đỡ dây và cũng là điểm tham chiếu cho chuyển động quay.
Bước 2: 2 Quản lý đầu vào
Theo quan điểm hộp đen, thiết bị sẽ có các đầu vào sau: 4 kết nối cho bộ đếm chuột x, y, 2 kết nối cho các nút chuột và 4 kết nối cho các phím mũi tên. Đầu ra được thể hiện bằng 4 chân: 2 cho kết nối PS2 chuột và 2 chân khác cho kết nối PS2 bàn phím. Để có mô tả chi tiết hơn về giao thức PS2, bạn có thể kiểm tra trang web sau:
Là đầu vào cho bảng, tôi đã chọn chân kỹ thuật số JB (1 downto 0). Xem xét chuỗi… 11001100…, đọc trên hai đầu vào, chúng ta có thể phân biệt giữa ba trạng thái của bộ đếm:
1. đếm lên;
2. đếm xuống;
3. Lưu giá trị hiện tại;
Mô-đun Count_Type thực hiện chính xác điều đó. Nếu có sự thay đổi trong đầu vào, thì mô-đun sẽ gửi một thông báo thích hợp đến bộ đếm 8 bit (được triển khai trong tệp 8_bit_count.vhd), bộ đếm này sẽ thêm hoặc trừ giá trị hiện tại, trừ khi nhận được tín hiệu đặt lại.
Ý tưởng tương tự được sử dụng cho chuyển động lên xuống của đầu, nhưng thay vì đĩa, một cấu hình tuyến tính trượt với cùng một mẫu 0 & 1 xen kẽ sẽ được sử dụng.
Bước 3: Triển khai VHDL
Đính kèm với bản trình bày là các mô-đun sau:
1. Count_Type: mô-đun này xử lý việc giải mã hai dây đầu vào từ đĩa hoặc cấu hình, được mô tả trong bước thứ hai;
2. 8bit_count: mô-đun này diễn giải thông điệp được giải mã từ Count_Type và tăng hoặc giảm bộ đếm;
3. 3bytepacket: mô-đun này quản lý trạng thái của các nút trái và phải và định dạng dữ liệu để nó có thể được đưa vào gói dữ liệu 3 byte được sử dụng trong giao thức PS2;
4.clk12khz: mô-đun này cung cấp xung nhịp 12khz cụ thể cho giao thức PS2 mà trên đó các thành phần và quy trình nhất định hoạt động;
5. MessageManager: mô-đun này gửi gói dữ liệu 3 byte, diễn giải nó và đưa ra phản hồi thích hợp, như trả lời một tin nhắn từ PC.
6. PS2Interface: mô-đun này giao tiếp giao thức truyền thông giữa thiết bị và máy chủ (PC) (mô-đun này cần một số gỡ lỗi và đánh giá lại kỹ lưỡng để hoạt động bình thường).
Đề xuất:
FPGA Cyclone IV DueProLogic Controls Máy ảnh Raspberry Pi: 5 bước
FPGA Cyclone IV DueProLogic Controls Máy ảnh Raspberry Pi: Mặc dù FPGA DueProLogic được thiết kế chính thức cho Arduino, chúng tôi sẽ làm cho FPGA và Raspberry Pi 4B có thể truyền thông. Ba tác vụ được thực hiện trong hướng dẫn này: (A) Nhấn đồng thời hai nút nhấn trên FPGA để lật góc của
FPGA Cyclone IV DueProLogic - Nút nhấn & đèn LED: 5 bước
FPGA Cyclone IV DueProLogic - Nút nhấn & đèn LED: Trong hướng dẫn này, chúng ta sẽ sử dụng FPGA để điều khiển mạch đèn LED bên ngoài. Chúng tôi sẽ thực hiện các tác vụ sau (A) Sử dụng các nút nhấn trên FPGA Cyclone IV DuePrologic để điều khiển đèn LED. (B) Bật đèn LED flash & tắt định kỳ Lab demo video
FPGA Cyclone IV DueProLogic điều khiển Động cơ Servo: 4 bước
FPGA Cyclone IV DueProLogic Controls Servo Motor: Trong hướng dẫn này, chúng ta sẽ viết mã Verilog để điều khiển động cơ servo. Servo SG-90 được sản xuất bởi Waveshare. Khi bạn mua động cơ servo, bạn có thể nhận được một biểu dữ liệu liệt kê điện áp hoạt động, mô-men xoắn cực đại và Pu
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Mojo FPGA Development Board Shield: 3 bước
Mojo FPGA Development Board Shield: Kết nối bảng phát triển Mojo của bạn với các đầu vào bên ngoài bằng tấm chắn này. Bảng phát triển Mojo là gì? Bảng phát triển Mojo là một bảng phát triển dựa trên Xilinx spartan 3 FPGA. Bảng được thực hiện bởi Alchitry. FPGA rất hữu ích