সুচিপত্র:

DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 ধাপ
DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 ধাপ

ভিডিও: DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 ধাপ

ভিডিও: DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 ধাপ
ভিডিও: Cheap DIY VR slidemill setup 2024, জুলাই
Anonim
DIY VR ট্রেডমিল- Basys3 FPGA-Digilent প্রতিযোগিতা
DIY VR ট্রেডমিল- Basys3 FPGA-Digilent প্রতিযোগিতা

আপনি কি একটি ভিআর ট্রেডমিল তৈরি করতে চান যার উপর আপনি আপনার ডেস্কটপ অ্যাপ্লিকেশন এবং গেমগুলি চালাতে পারেন? তারপর আপনি সঠিক জায়গায় এসেছেন!

প্রচলিত গেমগুলিতে আপনি মাউস এবং কীবোর্ড ব্যবহার করে পরিবেশের সাথে যোগাযোগ করেন। অতএব, আমাদের মাউস এবং কীবোর্ডের মতো একই ধরণের সংকেত পাঠাতে হবে যাতে আমাদের ট্রেডমিল এবং গেমের মধ্যে কোনও সামঞ্জস্যের সমস্যা না থাকে। এই ডিভাইসগুলিকে আলাদা করার পরিবর্তে, আমরা আমাদের নিজস্ব ডিভাইস তৈরি করব যা তাদের যতটা সম্ভব অনুকরণ করতে পারে।

মাউস ইনপুটগুলির জন্য আমরা বিকল্প পরিবাহী এবং অ-পরিবাহী স্লাইস সহ একটি ডিস্ক ব্যবহার করব, যার উপর দুটি অফ, একটি ছোট অফসেট সহ স্লাইড হবে। বোর্ড তারগুলি থেকে আসা সংকেতগুলি পড়বে, আমাদের চারটি সংমিশ্রণের মধ্যে একটি দেবে: 00, 11, 10, 01, যা আমরা সরাসরি বাম-ডান আন্দোলনে অনুবাদ করতে পারি।

আপ-ডাউন আন্দোলনের জন্য, একটি ডিস্কের পরিবর্তে, আমরা 0 এবং 1 এর একই প্যাটার্নের একটি প্লেট ব্যবহার করব।

কীবোর্ডকে অনুকরণকারী মডিউলের ইনপুট হিসাবে, আমাদের একটি রডের যৌথের উপর সুইচ থাকবে যা জোতা ধরে রাখবে। যখন আপনি কোন দিকে পা রাখবেন, রডটি সামান্য বাঁকবে, এইভাবে সুইচটি খুলবে।

(মনে রাখবেন যে প্রকল্পটি এখনও চলছে এবং উন্নত করা যেতে পারে, তাই আমি এমন কোনও পরামর্শের জন্য অপেক্ষা করছি যা এটি আরও ভাল করতে পারে)

ধাপ 1: বেস

ভিত্তি
ভিত্তি
ভিত্তি
ভিত্তি
ভিত্তি
ভিত্তি

বেসের মাধ্যাকর্ষণ কেন্দ্র কম হওয়া উচিত, এইভাবে একটি ভারী উপাদান ব্যবহার করা প্রয়োজন। আমার ক্ষেত্রে, আমি একটি অবতল ছাঁচ তৈরি করতে প্লাস্টার এবং একটি অ্যান্টেনা ডিস্ক ব্যবহার করেছি, কিন্তু অন্যান্য উপায় ব্যবহার করা যেতে পারে (উদা yoga যোগ বল)। ছাঁচ শুকানোর পরে, এটি MDF বা অনুরূপ উপাদান থেকে তৈরি একই ব্যাসের দুটি ডিস্কের উপর স্থাপন করা হবে। দুটি MDF ডিস্কের মধ্যে একটি স্পেসার চালু করা হবে। এই ডিস্কগুলির মধ্যে, একটি ত্রিভুজ প্রোফাইল স্থাপন করা হবে, যার প্রান্তে বিয়ারিং রয়েছে। বিয়ারিংগুলির আরেকটি সেট ত্রিভুজের শীর্ষবিন্দুতে লম্ব এবং ডিস্কে স্পর্শক, উপরে থাকবে। ভাল নির্ভুলতার জন্য, আরও বিয়ারিং ব্যবহার করা যেতে পারে। শিরোনামগুলির একটিতে একটি রড স্থাপন করা হবে, যেমনটি তৃতীয় ছবিতে দেখানো হয়েছে। এই রডটি জোতা ধারণ করে যেখানে খেলোয়াড়কে স্থাপন করা হবে।

আরেকটি নির্দিষ্ট বাহ্যিক রড তারের সমর্থন এবং ঘূর্ণন আন্দোলনের জন্য একটি রেফারেন্স পয়েন্ট হিসাবে ব্যবহৃত হয়।

ধাপ 2: 2 ইনপুট ম্যানেজমেন্ট

2 ইনপুট ব্যবস্থাপনা
2 ইনপুট ব্যবস্থাপনা
2 ইনপুট ব্যবস্থাপনা
2 ইনপুট ব্যবস্থাপনা
2 ইনপুট ব্যবস্থাপনা
2 ইনপুট ব্যবস্থাপনা

ব্ল্যাক-বক্স দৃষ্টিকোণ থেকে, ডিভাইসটিতে নিম্নলিখিত ইনপুট থাকবে: x, y মাউস কাউন্টারের জন্য 4 টি সংযোগ, মাউস বোতামের জন্য 2 টি সংযোগ এবং তীরচিহ্নের জন্য 4 টি সংযোগ। আউটপুট 4 পিন দ্বারা প্রতিনিধিত্ব করা হয়: মাউস PS2 সংযোগের জন্য 2 এবং কীবোর্ড PS2 সংযোগের জন্য অন্য 2। PS2 প্রোটোকলের আরও বিস্তারিত বিবরণের জন্য, আপনি নিম্নলিখিত সাইটটি পরীক্ষা করতে পারেন:

বোর্ডের ইনপুট হিসাবে, আমি JB (1 ডাউনটো 0) ডিজিটাল পিন বেছে নিয়েছি। ক্রম বিবেচনা করে… 11001100…, দুটি ইনপুট পড়ুন, আমরা কাউন্টারের তিনটি অবস্থার মধ্যে পার্থক্য করতে পারি:

1. গণনা;

2. গণনা নিচে;

3. বর্তমান মান সংরক্ষণ করুন;

Count_Type মডিউল ঠিক তাই করে। যদি ইনপুটে কোন পরিবর্তন হয়, তাহলে মডিউল 8 বিট কাউন্টারে একটি উপযুক্ত বার্তা পাঠায় (8_bit_count.vhd ফাইলে প্রয়োগ করা হয়), যা বর্তমান মান থেকে যোগ বা বিয়োগ করে, যদি না রিসেট সিগন্যাল পাওয়া যায়।

মাথার আপ-ডাউন মুভমেন্টের জন্য একই আইডিয়া ব্যবহার করা হয়, কিন্তু ডিস্কের পরিবর্তে একই বিকল্প 0 এবং 1 প্যাটার্ন সহ একটি স্লাইডিং লিনিয়ার প্রোফাইল ব্যবহার করা হবে।

ধাপ 3: ভিএইচডিএল বাস্তবায়ন

ভিএইচডিএল বাস্তবায়ন
ভিএইচডিএল বাস্তবায়ন

উপস্থাপনা সংযুক্ত নিম্নলিখিত মডিউল হয়:

1. কাউন্ট_ টাইপ: এই মডিউলটি ডিস্ক বা প্রোফাইল থেকে দুটি ইনপুট তারের ডিকোডিং পরিচালনা করে, দ্বিতীয় ধাপে বর্ণিত;

2. 8bit_count: এই মডিউলটি কাউন্ট_ টাইপ থেকে ডিকোড করা বার্তা এবং কাউন্টারগুলির বৃদ্ধি বা হ্রাসকে ব্যাখ্যা করে;

3. 3bytepacket: এই মডিউলটি বাম এবং ডান বোতামের অবস্থা পরিচালনা করে এবং ডেটা ফরম্যাট করে যাতে এটি PS2 প্রোটোকলে ব্যবহৃত 3 বাইট ডেটা প্যাকেটে চালু করা যায়;

4.clk12khz: এই মডিউলটি PS2 প্রোটোকলের জন্য নির্দিষ্ট 12khz এর একটি ঘড়ি দেয় যার উপর কিছু উপাদান এবং প্রক্রিয়া কাজ করে;

5. মেসেজ ম্যানেজার: এই মডিউলটি 3 বাইট ডেটা প্যাকেট পাঠায়, ব্যাখ্যা করে এবং পিসি থেকে একটি বার্তার উত্তর হিসাবে উপযুক্ত প্রতিক্রিয়া দেয়।

6. PS2 ইন্টারফেস: এই মডিউলটি ডিভাইস এবং হোস্ট (পিসি) এর মধ্যে যোগাযোগ প্রোটোকলকে ইন্টারফেস করে (এই মডিউলটি সঠিকভাবে কাজ করার জন্য কিছু ডিবাগিং এবং একটি পুঙ্খানুপুঙ্খ পুনর্মূল্যায়ন প্রয়োজন)।

প্রস্তাবিত: