সুচিপত্র:
- ধাপ 1: প্রয়োজনীয়তা
- ধাপ 2: হার্ডওয়্যার
- ধাপ 3: সফটওয়্যার
- ধাপ 4: প্রধান কোড
- ধাপ 5: পরীক্ষা কোড
- ধাপ 6: গেম নিয়ন্ত্রণ
- ধাপ 7: সেট আপ করা
ভিডিও: Arduino ব্যবহার করে ভার্চুয়াল রিয়েলিটি স্যুট: 7 টি ধাপ (ছবি সহ)
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
আমি সম্পূর্ণ ভিআর -এ সাধারণ কম্পিউটার গেম খেলতে এই প্রকল্পটি তৈরি করেছি। এই প্রকল্পটি আপনার কীবোর্ডের চাবিগুলি টিপে বা ধরে রাখার জন্য আপনার চলাচলকে অনুকরণ করে
উদাহরণ- যখন আপনি এগিয়ে যান তখন কী 'w' চাপার ক্রিয়া অনুকরণ করা হয়।
আমি কল অফ ডিউটি 4: মডার্ন ওয়ারফেয়ারের নকল করেছি কিন্তু শুটিংয়ের সময় পিছিয়ে থাকা গেমগুলি বেছে নেবেন না কারণ এটি মাউসের ডিফল্ট অবস্থান পরিবর্তন করবে
ধাপ 1: প্রয়োজনীয়তা
প্রয়োজনীয়তা হল-
এই স্যুটটি তৈরি করতে আপনার প্রয়োজনীয় জিনিসগুলির একটি তালিকা রয়েছে
টাচ সেন্সর -5
ফোর্স সেন্সর -১
জিপিইউ 6050 - 4
(অথবা)
জিপিইউ 6050 - 2 এবং অ্যাকসিলেরোমিটার - 2
ভিআর চশমা
ভিআর সক্ষম ফোন
পিসি
ওয়াইফাই হটস্পট
একটি খেলনা বন্দুক
একটি পিসি গেম (আমি কল অফ ডিউটি ব্যবহার করেছি- মডার্ন ওয়ারফেয়ার ১)
রুটি বোর্ডের তার (পুরুষ-মহিলা)
আরডুইনো লিওনার্ডো -২
অটোন শিল্ড - 2
শক্তির উৎস (লিপো)
রংধনুর তার
ধাপ 2: হার্ডওয়্যার
*পুনরায় লোড_পিন, শুট_পিন, নাইট ভিশন_পিন, গ্রেনেড_পিন, অস্ত্র পরিবর্তন_পিন স্পর্শ সেন্সর। aim_pin হল ফোর্স সেন্সর এবং এমপিইউ 6050 দ্বারা মাউস অনুকরণ করা হয় অন্য সেন্সরগুলি অ্যাকসিলরোমিটার (অঙ্গবিন্যাস, আন্দোলন 1 এবং 2)
1.1) বিক্রয়
SOLDER MPU 6050, Accelerometer, Touch Sensor & force sensor with wires
1.2) ওয়্যারিং
MPU 6050- এর জন্য
পিন 2- এসডিএ
পিন 3- এসসিএল
GND - GND
5v - PWR/VCC
আন্দোলন_পিন 1- এর জন্য
পিন A1- x অক্ষ
GND-GND
5v - PWR/VCC
আন্দোলন_পিন 2- এর জন্য
পিন A2- x অক্ষ
GND-GND
5v - PWR/VCC
ভঙ্গি_পিনের জন্য-
পিন A0- x অক্ষ
GND-GND
5v - PWR/VCC
অস্ত্র_পিনের জন্য -
sig-5v
GND-GND
5v - PWR/VCC
রিলোড_পিনের জন্য -
পিন 12 - 5 ভি
GND-GND
5v - PWR/VCC
নাইটভিশন_পিনের জন্য -
পিন 10 - 5 ভি
GND-GND
5v - PWR/VCC
শুট_পিনের জন্য -
পিন 7 - 5 ভি
GND-GND
5v - PWR/VCC
Aim_pin- এর জন্য
পিন 8 - 5 ভি
5v - PWR/VCC
1.3) সোল্ডারিং ওয়্যার
রেনবোর্ডের তারের সাথে রুটি বোর্ডের তারগুলি বিক্রি করুন
1.4) ইনসুলেশন
শর্ট সার্কিট এড়ানোর জন্য যেখানে আপনি সোল্ডার করেছেন সেখানে ইনসুলেশন টেপ দিয়ে তারগুলি টেপ করুন
ধাপ 3: সফটওয়্যার
আমি ল্যাপটপ থেকে ফোনে ভিডিও কাস্ট করার জন্য প্লে স্টোর থেকে 'রিমোটর' নামে একটি অ্যাপ ব্যবহার করেছি
2.1) রিমোটর-
আপনার কম্পিউটারে REMOTR অ্যাপ্লিকেশন ইনস্টল করুন এবং একটি অ্যাকাউন্ট তৈরি করুন
এখানে লিঙ্কটি হল-
remotrapp.com/#download
আপনার স্মার্টফোনে REMOTR অ্যাপটি ইনস্টল করুন
2.2) ভিডিও স্ট্রিমিং
প্রথমে কম্পিউটার এবং একই ওয়াইফাই নেটওয়ার্ক উভয়কে সংযুক্ত করুন এবং উভয় ডিভাইসে আপনার REMOTR অ্যাকাউন্টটি প্রবেশ করুন
এখন সফটওয়্যারে আপনি যে গেমটি স্ট্রিম করতে চান তা ম্যানুয়ালি যোগ করুন
এখন অ্যাপটি কম্পিউটারকে অ্যাডমিন হিসেবে দেখাবে স্ট্রিমিং শুরু করতে ক্লিক করুন
ভিআর স্ট্রিম করতে আপনার স্মার্টফোনে ভিআর মোড সক্ষম করুন
যদি আপনি বুঝতে না পারেন তবে বিস্তারিত তথ্যের জন্য এই লিঙ্কটি দেখুন
remotrapp.com/en/howto
ধাপ 4: প্রধান কোড
এই প্রকল্পের কোডটি কঠিন বা জটিল নয় কিন্তু একটি দীর্ঘ
এখানে কোডটি কেবল এটি অনুলিপি করুন এবং আপনার arduino ফাইলে পেস্ট করুন
আরডুইনো
লিওনার্ডো মাউস-
আমি Gabry295 reffered করেছি। এই মাউস কোডটি তার মাউস নির্দেশের উপর ভিত্তি করে
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t কুড়াল, ay, az, gx, gy, gz;
int vx, vy;
অকার্যকর সেটআপ() {
Serial.begin (9600);
মাউস। শুরু ();
Wire.begin ();
mpu.initialize ();
যদি (! mpu.testConnection ()) {
যখন (1);
}
পিনমোড (7, ইনপুট);
পিনমোড (8, ইনপুট);
}
অকার্যকর লুপ () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // আমি -300 এবং +490 রেখেছি আমার mpu6050 হিসাবে এই মানগুলি দেখান যখন চেকটি সরানো হয় না
vy = -(gz+490)/200; // এই মানগুলির আরো বিস্তারিত জানার জন্য Gabry295 এর হেড মাউসের কোডটি পরীক্ষা করুন
Mouse.move (vx, vy);
বিলম্ব (20);
যখন (shoot_pin == উচ্চ);
{
মাউস.ক্লিক ();
}
যখন (aim_pin == উচ্চ);
{
মাউস.ক্লিক ();
}
}
লিওনার্দো কীবোর্ড
#অন্তর্ভুক্ত
int গ্রেনেড;
int weapon_pin;
int reload_pin;
int movement1_pin;
int movement2_pin;
int posture_pin;
char nightvision_pin;
অকার্যকর সেটআপ()
{
পিনমোড (7, ইনপুট);
পিনমোড (8, ইনপুট);
পিনমোড (9, ইনপুট);
পিনমোড (10, ইনপুট);
পিনমোড (11, ইনপুট);
পিনমোড (12, ইনপুট);
পিনমোড (A0, INPUT);
পিনমোড (এ 1, ইনপুট);
Keyboard.begin ();
}
অকার্যকর লুপ ()
{
গ্রেনেড_পিন = ডিজিটাল রিড (8);
অস্ত্র_পিন = ডিজিটাল রিড (9);
movement1_pin = analogRead (A1);
movement2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
যদি (গ্রেনেড == উচ্চ)
{
Keyboard.press ('g');
}
যখন (অস্ত্র_পিন == উচ্চ)
{
Keyboard.press ('q');
}
যখন (reload_pin == উচ্চ)
{
Keyboard.press ('r');
}
যখন (movement1_pin> 340 && movement1_pin <420)
{
Keyboard.press ('w');
}
যখন (movement1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
যখন (movement2_pin> 340 && movement2_pin <420)
{
Keyboard.press ('w');
}
যখন (movement2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
যখন (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
যখন (ভঙ্গি_পিন> 420)
{
Keyboard.press ('l');
}
যখন (ভঙ্গি_পিন <340)
{
Keyboard.press ('z');
}
যখন (nightvision_pin == উচ্চ)
{
Keyboard.press ('n');
}
}
}
ধাপ 5: পরীক্ষা কোড
এখানে ফাংশন অনুযায়ী প্রধান কোড থেকে কয়েকটি কোড বিভক্ত করা হয়েছে
শুটিং-
#অন্তর্ভুক্ত
int x;
অকার্যকর সেটআপ() {
পিনমোড (8, ইনপুট);
মাউস। শুরু ();
}
অকার্যকর লুপ () {
x = ডিজিটাল রিড (8);
যদি (x == উচ্চ)
{
মাউস.ক্লিক ('g');
}
}
লক্ষ্য-
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
MPU6050 mpu;
int16_t কুড়াল, ay, az, gx, gy, gz;
int vx, vy;
অকার্যকর সেটআপ() {
Serial.begin (9600);
মাউস। শুরু ();
Wire.begin ();
mpu.initialize ();
যদি (! mpu.testConnection ()) {
যখন (1);
}
}
অকার্যকর লুপ () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300" কারণ জাইরোস্কোপের x অক্ষ -350 এর মান দেয় যখন এটি চলমান থাকে না। এই মান পরিবর্তন করুন যদি আপনি টেস্ট কোড ব্যবহার করে ভিন্ন কিছু পান, যদি শূন্য থেকে অনেক বেশি মান থাকে তবে চেকিং করুন।
vy = -(gz_ -100)/200; // এখানে "-100" সম্পর্কে একই
পুনরায় লোড হচ্ছে-
#অন্তর্ভুক্ত
int x;
অকার্যকর সেটআপ() {
পিনমোড (8, ইনপুট);
Keyboard.begin ();
}
অকার্যকর লুপ () {
x = ডিজিটাল রিড (8);
যদি (x == উচ্চ)
{
Keyboard.press ('r');
}
অন্য
{
Keyboard.release ('r');
}
}
নাইট ভিসিও #অন্তর্ভুক্ত
int x;
অকার্যকর সেটআপ() {
পিনমোড (8, ইনপুট);
Keyboard.begin ();
}
অকার্যকর লুপ () {
x = ডিজিটাল রিড (8);
যদি (x == উচ্চ)
{
Keyboard.press ('g');
}
অন্য
{
Keyboard.release ('g');
}
}
ক্রাউচ এবং প্রন-
#অন্তর্ভুক্ত
int y;
অকার্যকর সেটআপ() {
পিনমোড (A0, INPUT);
Serial.begin (9600);
}
অকার্যকর লুপ () {
y = analogRead (A0);
যদি (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
অন্যথায় যদি (y> 260 && y <310)
{
Keyboard.press ('c');
}
অন্যথায় যদি (y> 310)
{
Keyboard.press ('p');
}
}
ধাপ 6: গেম নিয়ন্ত্রণ
নিম্নরূপ গেম নিয়ন্ত্রণ পরিবর্তন করুন
ক্রাউচ - এক্স
প্রবণ - ঠ
অস্ত্র পরিবর্তন - q
স্প্রিন্ট - পি
স্ট্যান্ড/লাফ - z
রাতের দৃষ্টি - এন
এগিয়ে চলা - w
গ্রেনেড - ছ
ধাপ 7: সেট আপ করা
অবশেষে আমরা শেষ ধাপে এসেছি এখন arduino রাখুন
একটি বাক্সে বোর্ড এবং এটি ব্যাগ মধ্যে স্লিপ
এখন আরডুইনোর মাইক্রো ইউএসবিকে ল্যাপটপের ইউএসবি পোর্টের সাথে সংযুক্ত করুন এখন উপরের নির্দেশ অনুসারে সেন্সরগুলিকে সংযুক্ত করুন
*উপরের ছবিতে তীর চিহ্নগুলি সেন্সরকে যে দিকে মুখ করতে হবে তা নির্দেশ করে
যদি আপনার কোন সন্দেহ থাকে তবে একটি মন্তব্য করতে দ্বিধা করবেন না এবং আপনার অভিজ্ঞতা শেয়ার করতে ভুলবেন না
এটাই আপনাকে ধন্যবাদ এবং
বাই।
প্রস্তাবিত:
ভার্চুয়াল রিয়েলিটি নিয়ন্ত্রিত আরসি গাড়ি: 9 টি ধাপ
ভার্চুয়াল রিয়েলিটি নিয়ন্ত্রিত আরসি গাড়ি: আপনি কি কখনও সঙ্কুচিত হয়ে ইনারস্পেস বা ফ্যান্টাস্টিক ভয়েজের মতো একটি ক্রাফট চালাতে চেয়েছিলেন? আচ্ছা, আমি মনে করি এটি যতটা আপনি সংক্ষিপ্ত নোটিশে পেতে যাচ্ছেন ততটা কাছাকাছি
ফিরে আসা ! ভার্চুয়াল রিয়েলিটি গেম Arduino এবং Acclerometer ব্যবহার করে: 9 টি ধাপ
ফিরে আসা ! Arduino এবং Acclerometer ব্যবহার করে ভার্চুয়াল রিয়েলিটি গেম: এই টিউটোরিয়ালে আমরা Arduino এবং Acclerometer ব্যবহার করে একটি ভার্চুয়াল রিয়েলিটি গেম তৈরি করব
ভার্চুয়াল রিয়েলিটি হেডসেট-গুগল কার্ডবোর্ড: Ste টি ধাপ
ভার্চুয়াল রিয়েলিটি হেডসেট-গুগল কার্ডবোর্ড: হাই বন্ধুরা এখানে গুগল কার্ডবোর্ড কীভাবে তৈরি করবেন তার একটি সহজ টিউটোরিয়াল, একটি বাড়িতে তৈরি ভার্চুয়াল রিয়েলিটি হেডসেট। এই হেডসেটে একটি হরর মুভি দেখা খুব ভালো হবে
Arduino ব্যবহার করে DIY স্মার্ট অগমেন্টেড রিয়েলিটি চশমা: 7 টি ধাপ
আরডুইনো ব্যবহার করে DIY স্মার্ট অগমেন্টেড রিয়েলিটি চশমা: প্রযুক্তি যেমন দ্রুত বৃদ্ধি পাচ্ছে এবং মানুষের জীবনের সকল ক্ষেত্রে নিজেকে একীভূত করছে, ডিজাইনার এবং ডেভেলপাররা মানুষকে প্রযুক্তির আরও আনন্দদায়ক অভিজ্ঞতা দেওয়ার চেষ্টা করেছেন। জীবনকে সহজ করে তোলার লক্ষ্যে প্রযুক্তির একটি প্রবণতা হল পরিধান
অ্যান্ড্রয়েডের জন্য প্রসেসিং ব্যবহার করে মোবাইল ভার্চুয়াল বাস্তবতা (TfCD): 7 টি ধাপ (ছবি সহ)
অ্যান্ড্রয়েডের জন্য প্রসেসিং ব্যবহার করে মোবাইল ভার্চুয়াল রিয়েলিটি (টিএফসিডি): ভার্চুয়াল রিয়েলিটি (ভিআর) হল নতুন প্রযুক্তিগুলির মধ্যে একটি যা আকর্ষণীয় হতে পারে ভবিষ্যতের পণ্য। এটির অনেক সুযোগ রয়েছে এবং আপনার ব্যয়বহুল ভিআর চশমারও দরকার নেই (অকুলাস রিফ্ট)। এটি নিজেকে করা খুব কঠিন মনে হতে পারে, তবে মূল বিষয়গুলি হল