সুচিপত্র:
ভিডিও: DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
আপনি কি একটি ভিআর ট্রেডমিল তৈরি করতে চান যার উপর আপনি আপনার ডেস্কটপ অ্যাপ্লিকেশন এবং গেমগুলি চালাতে পারেন? তারপর আপনি সঠিক জায়গায় এসেছেন!
প্রচলিত গেমগুলিতে আপনি মাউস এবং কীবোর্ড ব্যবহার করে পরিবেশের সাথে যোগাযোগ করেন। অতএব, আমাদের মাউস এবং কীবোর্ডের মতো একই ধরণের সংকেত পাঠাতে হবে যাতে আমাদের ট্রেডমিল এবং গেমের মধ্যে কোনও সামঞ্জস্যের সমস্যা না থাকে। এই ডিভাইসগুলিকে আলাদা করার পরিবর্তে, আমরা আমাদের নিজস্ব ডিভাইস তৈরি করব যা তাদের যতটা সম্ভব অনুকরণ করতে পারে।
মাউস ইনপুটগুলির জন্য আমরা বিকল্প পরিবাহী এবং অ-পরিবাহী স্লাইস সহ একটি ডিস্ক ব্যবহার করব, যার উপর দুটি অফ, একটি ছোট অফসেট সহ স্লাইড হবে। বোর্ড তারগুলি থেকে আসা সংকেতগুলি পড়বে, আমাদের চারটি সংমিশ্রণের মধ্যে একটি দেবে: 00, 11, 10, 01, যা আমরা সরাসরি বাম-ডান আন্দোলনে অনুবাদ করতে পারি।
আপ-ডাউন আন্দোলনের জন্য, একটি ডিস্কের পরিবর্তে, আমরা 0 এবং 1 এর একই প্যাটার্নের একটি প্লেট ব্যবহার করব।
কীবোর্ডকে অনুকরণকারী মডিউলের ইনপুট হিসাবে, আমাদের একটি রডের যৌথের উপর সুইচ থাকবে যা জোতা ধরে রাখবে। যখন আপনি কোন দিকে পা রাখবেন, রডটি সামান্য বাঁকবে, এইভাবে সুইচটি খুলবে।
(মনে রাখবেন যে প্রকল্পটি এখনও চলছে এবং উন্নত করা যেতে পারে, তাই আমি এমন কোনও পরামর্শের জন্য অপেক্ষা করছি যা এটি আরও ভাল করতে পারে)
ধাপ 1: বেস
বেসের মাধ্যাকর্ষণ কেন্দ্র কম হওয়া উচিত, এইভাবে একটি ভারী উপাদান ব্যবহার করা প্রয়োজন। আমার ক্ষেত্রে, আমি একটি অবতল ছাঁচ তৈরি করতে প্লাস্টার এবং একটি অ্যান্টেনা ডিস্ক ব্যবহার করেছি, কিন্তু অন্যান্য উপায় ব্যবহার করা যেতে পারে (উদা yoga যোগ বল)। ছাঁচ শুকানোর পরে, এটি MDF বা অনুরূপ উপাদান থেকে তৈরি একই ব্যাসের দুটি ডিস্কের উপর স্থাপন করা হবে। দুটি MDF ডিস্কের মধ্যে একটি স্পেসার চালু করা হবে। এই ডিস্কগুলির মধ্যে, একটি ত্রিভুজ প্রোফাইল স্থাপন করা হবে, যার প্রান্তে বিয়ারিং রয়েছে। বিয়ারিংগুলির আরেকটি সেট ত্রিভুজের শীর্ষবিন্দুতে লম্ব এবং ডিস্কে স্পর্শক, উপরে থাকবে। ভাল নির্ভুলতার জন্য, আরও বিয়ারিং ব্যবহার করা যেতে পারে। শিরোনামগুলির একটিতে একটি রড স্থাপন করা হবে, যেমনটি তৃতীয় ছবিতে দেখানো হয়েছে। এই রডটি জোতা ধারণ করে যেখানে খেলোয়াড়কে স্থাপন করা হবে।
আরেকটি নির্দিষ্ট বাহ্যিক রড তারের সমর্থন এবং ঘূর্ণন আন্দোলনের জন্য একটি রেফারেন্স পয়েন্ট হিসাবে ব্যবহৃত হয়।
ধাপ 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 ইন্টারফেস: এই মডিউলটি ডিভাইস এবং হোস্ট (পিসি) এর মধ্যে যোগাযোগ প্রোটোকলকে ইন্টারফেস করে (এই মডিউলটি সঠিকভাবে কাজ করার জন্য কিছু ডিবাগিং এবং একটি পুঙ্খানুপুঙ্খ পুনর্মূল্যায়ন প্রয়োজন)।
প্রস্তাবিত:
FPGA সাইক্লোন IV ডিউপ্রোলজিক কন্ট্রোল রাস্পবেরি পাই ক্যামেরা: 5 টি ধাপ
FPGA সাইক্লোন IV ডিউপ্রোলজিক কন্ট্রোল রাস্পবেরি পাই ক্যামেরা: FPGA DueProLogic আনুষ্ঠানিকভাবে Arduino এর জন্য ডিজাইন করা সত্ত্বেও, আমরা FPGA এবং রাস্পবেরি পাই 4B যোগাযোগযোগ্য করতে যাচ্ছি। এফপিজিএ কোণটি উল্টাতে
একটি FPGA থেকে যেকোনো সেন্সর তৈরি করুন: 4 টি ধাপ
এফপিজিএ থেকে যেকোনো সেন্সর তৈরি করুন: বেশিরভাগ নির্মাতারা তাদের জীবনে অন্তত একবার থার্মোমিটার তৈরির চেষ্টা করেছিলেন, হয়তো তাদের বাড়িতে যা আছে তা যথেষ্ট স্মার্ট নয়, অথবা হয়তো তারা মনে করে যে তারা পরবর্তী নেস্ট তৈরি করতে পারে। তবুও, এক পর্যায়ে তাদের রাজ্যের সাথে একটি মাইক্রোকন্ট্রোলার ছিল
FPGA রিঅ্যাকশন গেম: ১০ টি ধাপ
FPGA রিঅ্যাকশন গেম: সামার রাদারফোর্ড এবং রেজিতা সোয়েতান্দারের দ্বারা
একটি সস্তা ব্রেডবোর্ড FPGA হিসাবে Arduino: 5 টি ধাপ (ছবি সহ)
একটি সস্তা ব্রেডবোর্ড FPGA হিসাবে Arduino: হার্ডওয়্যার লজিক সার্কিট ডিজাইন করা মজাদার হতে পারে। এটি করার পুরাতন স্কুল পদ্ধতিটি ছিল NAND গেট দিয়ে, একটি রুটি বোর্ডে, জাম্পার তার দিয়ে তারযুক্ত। এটি এখনও সম্ভব, কিন্তু গেটের সংখ্যা হাত থেকে বেরিয়ে যাওয়ার আগে খুব বেশি সময় লাগে না। একটি নতুন বিকল্প
PmodWiFi FPGA ড্রাইভার: 9 টি ধাপ
PmodWiFi FPGA ড্রাইভার: এটি তাদের জন্য একটি নির্দেশযোগ্য যারা FPGA বোর্ডের সাথে Pmod WiFi ব্যবহার করতে চান