Índice:
- Etapa 1: Requisitos
- Etapa 2: HARDWARE
- Etapa 3: SOFTWARE
- Etapa 4: CÓDIGO PRINCIPAL
- Etapa 5: CÓDIGOS DE TESTE
- Etapa 6: CONTROLES DE JOGO
- Etapa 7: CONFIGURANDO
Vídeo: Traje de realidade virtual usando Arduino: 7 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Eu criei este projeto para jogar jogos de computador normais em RV total. Este projeto emula seus movimentos ao pressionar ou segurar as teclas do seu teclado
Exemplo - quando você avança, a ação de pressionar a tecla 'w' é emulada.
Eu emulei o jogo Call of Duty 4: Modern Warfare, mas não escolha jogos que tenham recuo ao atirar porque isso vai mudar a posição padrão do mouse
Etapa 1: Requisitos
Os requisitos são-
Há uma lista cheia de coisas que você precisa para fazer este terno
Sensores de toque-5
Sensor de força-1
GPU 6050-4
(ou)
GPU 6050-2 e acelerômetro - 2
Óculos Vr
Telefone habilitado para Vr
PC
Ponto de acesso WiFi
Uma arma de brinquedo
Um jogo para PC (usei Call of Duty- Modern Warfare 1)
Fios da placa de pão (macho-fêmea)
ARDUINO LEONARDO-2
Sheild Auton - 2
Fonte de energia (lipo)
Fios arco-íris
Etapa 2: HARDWARE
* reload_pin, shoot_pin, night vision_pin, grenade_pin, arma change_pin são sensores de toque. aim_pin é o sensor de força e o mouse é emulado por MPU6050 outros sensores são acelerômetro (postura, movimento 1 e 2)
1.1) SOLDAGEM
SOLDER MPU 6050, acelerômetro, sensor de toque e sensor de força com os fios
1.2) FIAÇÃO
Para MPU 6050-
Pin 2- SDA
Pino 3 - SCL
GND - GND
5v - PWR / VCC
Para movement_pin1-
Pino A1- eixo x
GND-GND
5v - PWR / VCC
Para movement_pin2-
Pino A2- eixo x
GND-GND
5v - PWR / VCC
Para posture_pin-
Pino A0- eixo x
GND-GND
5v - PWR / VCC
para weapon_pin -
sig-5v
GND-GND
5v - PWR / VCC
Para Reload_pin -
pin12 - 5v
GND-GND
5v - PWR / VCC
Para Nightvision_pin -
pino 10 - 5v
GND-GND
5v - PWR / VCC
Para shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR / VCC
Para aim_pin -
Pino 8 - 5v
5v - PWR / VCC
1.3) FIOS DE SOLDA
Solde os fios da placa de pão com os fios do arco-íris
1.4) ISOLAMENTO
Prenda os fios com fita isolante no local onde você soldou para evitar curto-circuitos
Etapa 3: SOFTWARE
Usei um aplicativo chamado 'Remotr' da Play Store para transmitir o vídeo do laptop para o telefone
2.1) REMOTR-
Instale o aplicativo REMOTR em seu computador e crie uma conta
Aqui está o link-
remotrapp.com/#download
Instale o aplicativo REMOTR em seu smartphone
2.2) TRANSMISSÃO DE VÍDEO
Primeiro conecte o computador e a mesma rede WiFi e insira sua conta REMOTR em ambos os dispositivos
agora adicione manualmente o jogo que deseja transmitir no software
agora o aplicativo mostrará o computador como administrador clique nele para iniciar o streaming
Para transmitir em VR, ative o modo VR em seu smartphone
Se você não consegue entender Verifique este link para informações detalhadas
remotrapp.com/en/howto
Etapa 4: CÓDIGO PRINCIPAL
O código para este projeto não é difícil ou complexo, mas longo
Aqui está o código, basta copiá-lo e colá-lo em seu arquivo Arduino
ARDUINO
LEONARDO Mouse-
Referi Gabry295. Este código do mouse é baseado em sua cabeça Mouse instrutível
#incluir
#incluir
#incluir
#incluir
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
enquanto (1);
}
pinMode (7, INPUT);
pinMode (8, INPUT);
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300) / 200; // Coloquei -300 e +490, pois meu mpu6050 mostra esses valores quando não está movendo o cheque
vy = - (gz + 490) / 200; // verifique o código do mouse de cabeça por Gabry295 para mais detalhes sobre esses valores
Mouse.move (vx, vy);
atraso (20);
while (shoot_pin == HIGH);
{
Mouse.click ();
}
while (aim_pin == HIGH);
{
Mouse.click ();
}
}
Teclado leonardo
#incluir
int Grenade;
int weapon_pin;
int reload_pin;
int movement1_pin;
int movement2_pin;
int posture_pin;
char nightvision_pin;
void setup ()
{
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (9, INPUT);
pinMode (10, INPUT);
pinMode (11, INPUT);
pinMode (12, INPUT);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Keyboard.begin ();
}
void loop ()
{
Grenade_pin = digitalRead (8);
gun_pin = digitalRead (9);
motion1_pin = analogRead (A1);
motion2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
if (granada == HIGH)
{
Keyboard.press ('g');
}
enquanto (weapon_pin == HIGH)
{
Keyboard.press ('q');
}
enquanto (reload_pin == HIGH)
{
Keyboard.press ('r');
}
while (movement1_pin> 340 && movement1_pin <420)
{
Keyboard.press ('w');
}
enquanto (movimento1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
while (movement2_pin> 340 && movement2_pin <420)
{
Keyboard.press ('w');
}
enquanto (movimento2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
enquanto (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
enquanto (posture_pin> 420)
{
Keyboard.press ('l');
}
enquanto (posture_pin <340)
{
Keyboard.press ('z');
}
while (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Etapa 5: CÓDIGOS DE TESTE
Aqui estão alguns códigos divididos do código principal de acordo com a função
TIROTEIO-
#incluir
int x;
void setup () {
pinMode (8, INPUT);
Mouse.begin ();
}
void loop () {
x = leitura digital (8);
if (x == HIGH)
{
Mouse.click ('g');
}
}
VISANDO-
#incluir
#incluir
#incluir
#incluir
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
enquanto (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx + 300) / 200; // "+300" porque o eixo x do giroscópio fornece valores de aproximadamente -350 enquanto ele não está se movendo. Altere este valor se você obtiver algo diferente usando o código TEST, chacking se houver valores distantes de zero.
vy = - (gz_-100) / 200; // o mesmo aqui sobre "-100"
RELOAD-
#incluir
int x;
void setup () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
if (x == HIGH)
{
Keyboard.press ('r');
}
outro
{
Keyboard.release ('r');
}
}
NIGHT VISIO #include
int x;
void setup () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = leitura digital (8);
if (x == HIGH)
{
Keyboard.press ('g');
}
outro
{
Keyboard.release ('g');
}
}
CROUCH AND PROONE-
#incluir
int y;
void setup () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
void loop () {
y = leitura analógica (A0);
if (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
else if (y> 260 && y <310)
{
Keyboard.press ('c');
}
else if (y> 310)
{
Keyboard.press ('p');
}
}
Etapa 6: CONTROLES DE JOGO
mude os controles do jogo como segue
agachar - x
inclinado - eu
troca de arma - q
sprint - p
levantar / pular - z
visão noturna - n
movimento para frente - w
granada - g
Etapa 7: CONFIGURANDO
Finalmente chegamos à última etapa agora colocar o arduino
pranchas em uma caixa e coloque-as no saco
Agora conecte o micro USB do arduino às portas USB do laptop e conecte os sensores conforme indicado acima
* marcas de seta nas imagens acima representam a direção que o sensor deve estar voltado
Se você tiver alguma dúvida, não hesite em deixar um comentário e não se esqueça de compartilhar sua experiência
É isso obrigado e
TCHAU.
Recomendado:
Realidade virtual no Raspberry Pi com BeYourHero !: 19 etapas (com imagens)
Realidade Virtual no Raspberry Pi com BeYourHero !: Bem-vindo ao " Be Your Hero " projeto! Espero que você esteja pronto para entrar na próxima geração de imersão em Realidade Virtual! Este projeto lhe dará controle total por gestos de qualquer Herói virtual que você goste com um simples conjunto de dispositivos baratos usando
Carro RC controlado por realidade virtual: 9 etapas
Carro RC controlado por realidade virtual: Você já quis ser encolhido e pilotar uma nave como a Innerspace ou a Fantastic Voyage? Bem, acho que isso é o mais próximo que você vai chegar em curto prazo! Aqui está o argumento: Um carro de controle remoto da vida real pilotado por um comunicador de realidade virtual
Se recuperar ! Jogo de realidade virtual usando Arduino e Acclerometer: 9 etapas
Se recuperar ! Jogo de realidade virtual usando Arduino e acclerômetro: Neste tutorial, criaremos um jogo de realidade virtual usando Arduino e acclerômetro
Óculos de realidade virtual Raspberry Pi DIY: 9 etapas (com imagens)
Óculos de proteção DIY Raspberry Pi: AVISO LEGAL! Devido ao fato de que o Raspberry Pi Zero não é um computador muito potente, o rácio de fotogramas neste é extremamente baixo (abaixo de 10 fps) o que pode ser prejudicial para os olhos. Estes óculos de realidade virtual são construídos com o Raspberry Pi Zero, o que os torna
Realidade virtual móvel usando processamento para Android (TfCD): 7 etapas (com imagens)
Realidade virtual móvel usando processamento para Android (TfCD): a realidade virtual (VR) é uma das novas tecnologias que podem ser interessantes em produtos futuros. Tem muitas oportunidades e você nem precisa de óculos de realidade virtual caros (Oculus Rift). Pode parecer muito difícil de fazer você mesmo, mas o básico é