Table des matières:
- Étape 1: Exigences
- Étape 2: MATÉRIEL
- Étape 3: LOGICIEL
- Étape 4: CODE PRINCIPAL
- Étape 5: TESTER LES CODES
- Étape 6: COMMANDES DE JEU
- Étape 7: CONFIGURATION
Vidéo: Costume de réalité virtuelle utilisant Arduino: 7 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
J'ai créé ce projet pour jouer à des jeux informatiques normaux en VR complet. Ce projet émule vos mouvements en appuyant ou en maintenant les touches de votre clavier
Exemple - lorsque vous avancez, l'action d'appuyer sur la touche « w » est émulée.
J'ai émulé le jeu Call of Duty 4: Modern Warfare mais ne choisissez pas les jeux qui ont du recul lors du tir car cela changera la position par défaut de la souris
Étape 1: Exigences
Les exigences sont-
Il y a une liste pleine de choses dont vous avez besoin pour faire ce costume
Capteurs tactiles-5
Capteur de force-1
GPU 6050 - 4
(ou)
GPU 6050 - 2 & Accéléromètre - 2
lunettes de réalité virtuelle
Téléphone compatible VR
ordinateur
Borne wifi
Un pistolet jouet
Un jeu pc (j'ai utilisé Call of Duty - Modern Warfare 1)
Fils de planche à pain (Mâle-Femelle)
ARDUINO LEONARDO-2
Bouclier Auton - 2
Source d'alimentation (lipo)
Fils arc-en-ciel
Étape 2: MATÉRIEL
*reload_pin, shoot_pin, night vision_pin, grenade_pin, Weapon change_pin sont des capteurs tactiles. aim_pin est un capteur de force et la souris est émulée par MPU6050 d'autres capteurs sont un accéléromètre (posture, mouvement1 & 2)
1.1) SOUDURE
SOUDURE MPU 6050, accéléromètre, capteur tactile et capteur de force avec les fils
1.2) CABLAGE
Pour MPU 6050-
Broche 2- SDA
Broche 3- SCL
GND - GND
5v - PWR/VCC
Pour mouvement_pin1-
Broche A1- axe x
GND-GND
5v - PWR/VCC
Pour mouvement_pin2-
Broche A2- axe x
GND-GND
5v - PWR/VCC
Pour posture_pin-
Broche A0- axe x
GND-GND
5v - PWR/VCC
pour arme_pin -
sig-5v
GND-GND
5v - PWR/VCC
Pour Reload_pin -
broche12 – 5v
GND-GND
5v - PWR/VCC
Pour Nightvision_pin -
broche 10 - 5v
GND-GND
5v - PWR/VCC
Pour shoot_pin –
Broche 7 – 5v
GND-GND
5v - PWR/VCC
Pour aim_pin –
Broche 8 - 5v
5v - PWR/VCC
1.3) FILS À SOUDER
Soudez les fils de la planche à pain avec les fils arc-en-ciel
1.4) ISOLATION
Collez les fils avec le ruban isolant à l'endroit où vous avez soudé pour éviter les courts-circuits
Étape 3: LOGICIEL
J'ai utilisé une application appelée "Remotr" de Play Store pour diffuser la vidéo de l'ordinateur portable vers le téléphone
2.1) TÉLÉCOMMANDE-
Installez l'application REMOTR sur votre ordinateur et créez un compte
Voici le lien-
remotrapp.com/#download
Installez l'application REMOTR sur votre smartphone
2.2) STREAMING VIDÉO
Connectez d'abord l'ordinateur et le même réseau WiFi et entrez votre compte REMOTR dans les deux appareils
ajoutez maintenant manuellement le jeu que vous souhaitez diffuser dans le logiciel
maintenant, l'application affichera l'ordinateur en tant qu'administrateur, cliquez dessus pour commencer à diffuser
Pour diffuser en VR, activez le mode vr sur votre smartphone
Si vous ne comprenez pas, consultez ce lien pour des informations détaillées
remotrapp.com/en/howto
Étape 4: CODE PRINCIPAL
Le code de ce projet n'est ni difficile ni complexe mais long
Voici le code il suffit de le copier et de le coller dans votre fichier arduino
ARDUINO
LEONARDO Souris-
J'ai référé Gabry295. Ce code de souris est basé sur sa tête Mouse instructable
#comprendre
#comprendre
#comprendre
#comprendre
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup() {
Serial.begin(9600);
Souris.begin();
Fil.begin();
mpu.initialize();
si (!mpu.testConnection()) {
tandis que (1);
}
pinMode(7, ENTRÉE);
pinMode(8, ENTREE);
}
boucle vide() {
shoot_pin = digitalRead (7);
aim_pin = digitalRead(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx-300)/200; // J'ai mis -300 et +490 car mon mpu6050 affiche ces valeurs lorsqu'il ne bouge pas.
vy = -(gz+490)/200; // vérifier le code de head mouse by Gabry295 pour plus de détails sur ces valeurs
Mouse.move(vx, vy);
retard(20);
while(shoot_pin == HAUT);
{
Clic de souris();
}
while(aim_pin == HAUT);
{
Clic de souris();
}
}
Clavier Léonard
#comprendre
int Grenade;
int arm_pin;
int reload_pin;
int mouvement1_pin;
int mouvement2_pin;
int posture_pin;
char nightvision_pin;
void setup()
{
pinMode(7, ENTRÉE);
pinMode(8, ENTREE);
pinMode(9, ENTRÉE);
pinMode(10, ENTRÉE);
pinMode(11, ENTREE);
pinMode(12, ENTRÉE);
pinMode (A0, ENTREE);
pinMode (A1, ENTREE);
Keyboard.begin();
}
boucle vide()
{
Grenade_pin=digitalRead(8);
arme_pin = digitalRead(9);
mouvement1_pin = analogRead(A1);
mouvement2_pin = analogRead(A2);
posture_pin = analogRead(A0);
reload_pin = digitalRead(12);
nightvision_pin = digitalRead(10);
si(grenade==ÉLEVÉ)
{
Keyboard.press('g');
}
tandis que (weapon_pin == HAUT)
{
Keyboard.press('q');
}
while(reload_pin == HAUT)
{
Keyboard.press('r');
}
tandis que (mouvement1_pin>340&&movement1_pin<420)
{
Keyboard.press('w');
}
tandis que (mouvement1_pin>420)
{
Keyboard.press('w');
Keyboard.press('p');
}
tandis que (mouvement2_pin>340&&movement2_pin<420)
{
Keyboard.press('w');
}
tandis que (movement2_pin>420)
{
Keyboard.press('p');
Keyboard.press('w');
}
tandis que (posture_pin>340&&posture_pin<420)
{
Keyboard.press('c');
}
tandis que (posture_pin>420)
{
Keyboard.press('l');
}
tandis que (posture_pin<340)
{
Keyboard.press('z');
}
tandis que (nightvision_pin==HIGH)
{
Keyboard.press('n');
}
}
}
Étape 5: TESTER LES CODES
Voici les quelques codes séparés du code principal selon la fonction
TOURNAGE-
#comprendre
entier x;
void setup() {
pinMode(8, ENTREE);
Souris.begin();
}
boucle vide() {
x=digitalRead(8);
si(x==ÉLEVÉ)
{
Mouse.click('g');
}
}
VISÉE-
#comprendre
#comprendre
#comprendre
#comprendre
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup() {
Serial.begin(9600);
Souris.begin();
Fil.begin();
mpu.initialize();
si (!mpu.testConnection()) {
tandis que (1);
}
}
boucle vide() {
shoot_pin = digitalRead (7);
aim_pin = digitalRead(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx+300)/200; // "+300" car l'axe x du gyroscope donne des valeurs d'environ -350 alors qu'il ne bouge pas. Modifiez cette valeur si vous obtenez quelque chose de différent en utilisant le code TEST, en vérifiant s'il y a des valeurs loin de zéro.
vy = -(gz_-100)/200; // idem ici à propos de "-100"
RECHARGEMENT-
#comprendre
entier x;
void setup() {
pinMode(8, ENTRÉE);
Keyboard.begin();
}
boucle vide() {
x=digitalRead(8);
si(x==ÉLEVÉ)
{
Keyboard.press('r');
}
autre
{
Keyboard.release('r');
}
}
VISIO DE NUIT #include
entier x;
void setup() {
pinMode(8, ENTREE);
Keyboard.begin();
}
boucle vide() {
x=digitalRead(8);
si(x==ÉLEVÉ)
{
Keyboard.press('g');
}
autre
{
Keyboard.release('g');
}
}
accroupi et couché-
#comprendre
int y;
void setup() {
pinMode (A0, ENTREE);
Serial.begin(9600);
}
boucle vide() {
y=analogiqueLecture(A0);
si(y<260)
{
Keyboard.release('c');
Keyboard.release('p');
}
sinon si(y>260&&y<310)
{
Keyboard.press('c');
}
sinon si(y>310)
{
Keyboard.press('p');
}
}
Étape 6: COMMANDES DE JEU
modifiez les commandes du jeu comme suit
accroupi - x
enclin - l
changement d'arme - q
sprint - p
se tenir debout/sauter - z
vision nocturne - m
mouvement vers l'avant - w
grenade - g
Étape 7: CONFIGURATION
Enfin, nous sommes arrivés à la dernière étape maintenant mettre l'arduino
planches dans une boîte et glissez-le dans le sac
Connectez maintenant le micro USB de l'arduino aux ports USB de l'ordinateur portable, connectez maintenant les capteurs comme indiqué ci-dessus
*les flèches dans les images ci-dessus représentent la direction dans laquelle le capteur doit faire face
Si vous avez des doutes n'hésitez pas à laisser un commentaire et n'oubliez pas de partager votre expérience
Voilà merci et
AU REVOIR.
Conseillé:
Système de suivi des mouvements de la tête pour la réalité virtuelle : 8 étapes
Système de suivi des mouvements de la tête pour VR : Je m'appelle Sam KODO. Dans ce tuto, je vais vous apprendre étape par étape comment utiliser les capteurs Arduino IMU pour créer un système de suivi de la tête pour la VR. Dans ce projet, vous aurez besoin de : - Un écran LCD HDMI :https://www.amazon.com/Elecrow-Capacitive-interfac…- Un
Réalité virtuelle sur Raspberry Pi avec BeYourHero ! : 19 étapes (avec photos)
Réalité virtuelle sur Raspberry Pi avec BeYourHero ! : Bienvenue sur "Be Your Hero" projet ! J'espère que vous êtes prêt à entrer dans la prochaine génération d'immersion en réalité virtuelle ! Ce projet vous donnera un contrôle gestuel total de n'importe quel héros virtuel que vous aimez avec un ensemble simple d'appareils peu coûteux utilisant se
Rebondir ! Jeu de réalité virtuelle utilisant Arduino et accéléromètre : 9 étapes
Rebondir ! Jeu de réalité virtuelle utilisant Arduino et accleromètre : dans ce tutoriel, nous allons créer un jeu de réalité virtuelle utilisant Arduino et accleromètre
Lunettes de réalité virtuelle et mixte : 15 étapes (avec photos)
Lunettes de réalité virtuelle et mixte : Introduction : Au cours du cours de master Technologie pour la conception de concepts, il nous a été demandé d'explorer une technologie émergente qui convient à notre projet principal et de tester cette technologie en réalisant un prototype. Les technologies que nous avons choisies sont à la fois Virtual reali
Réalité virtuelle mobile utilisant le traitement pour Android (TfCD) : 7 étapes (avec images)
Réalité virtuelle mobile utilisant le traitement pour Android (TfCD) : La réalité virtuelle (VR) est l'une des nouvelles technologies qui pourraient être intéressantes pour les futurs produits. Il a beaucoup d'opportunités et vous n'avez même pas besoin de lunettes VR chères (Oculus Rift). Cela peut sembler très difficile à faire soi-même, mais les bases sont