Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Faça você mesmo skate de realidade virtual

Componentes e suprimentos

Arduino UNO
× 1
Dispositivo Android
× 1
VR Headset Google Cardboard
× 1
Fios de jumpers (genérico)
× 1
GY-521 MPU-6050 GY-521 MPU-6050 Módulo de giroscópio de 3 eixos + acelerômetro para Arduino
× 1

Aplicativos e serviços online

Google Cardboard VR SDKs

Sobre este projeto


Este é um projeto muito divertido e fácil que pode ser feito em cerca de uma hora. Na parte inferior do skate está um acelerômetro / giroscópio com uma placa Arduino que transmite o movimento angular da placa via Bluetooth para um pequeno jogo de RV que fiz no Unity para telefones Android. Então, quando você liga seu Arduino e o bluetooth se conecta ao seu telefone, você começa a seguir em frente. Incline-se para a esquerda e vá para a esquerda, incline-se para a direita e vá para a direita. Levante as rodas dianteiras e seu personagem vai pular. Isso só funciona para telefones Android e seu telefone deve ser compatível com o Google Cardboard. Então, se você tem um skate velho por aí, transforme-o em um snowboard de realidade virtual. Veja como:





Você precisará de:


Um fone de ouvido de realidade virtual estilo Google Cardboard.

Um skate.

4 bolas de tênis (para não rolar)

Um Arduino Leonardo (ou Uno)

Alguns fios de ligação

Um mini breadboard

Um módulo Bluetooth HC-06

Um acelerômetro / giroscópio MPU-6050

Uma bateria de 9 V com caixa de bateria que tem um botão liga / desliga e um plugue cilíndrico (para alimentar a placa Arduino)

Um ferro de solda e talvez uma pistola de cola quente

O aplicativo Android, o código do Arduino e a lista de peças com links podem ser encontrados aqui:

http://wirebeings.com/virtual-reality-skateboard.html





Etapa 1:Crie seu dispositivo / transmissor / entrada / coisa Arduino


Monte seu dispositivo conforme mostrado na imagem acima.

Você precisará soldar os pinos do cabeçote no MPU-6050; se o seu ferro de solda for novo e a ponta estiver limpa, isso pode ser feito em cerca de 11 segundos. Se a ponta do seu ferro de soldar estiver suja e velha, isso rapidamente se tornará a coisa mais difícil que você já fez (falando por experiência própria).

Certifique-se de que a orientação de tudo é exatamente como mostrado nas imagens acima para que você não precise entrar no código e editar nada.

Anexe tudo ao seu skate EXATAMENTE como mostrado (na verdade, apenas certifique-se de que o MPU6050 esteja voltado para a mesma direção da imagem)

Aqui eu colei a caixa da bateria na placa com cola quente e aparafusei a placa do Arduino. Usei um quadro da velha escola porque um quadro mais amplo é melhor para os propósitos desta experiência. É muito difícil equilibrar em uma placa enquanto está na realidade virtual.

NOTA:O Leonardo funciona muito melhor para isso ... porém ...

Se você estiver usando um Arduino Uno, todas as conexões são iguais, exceto:

SDA vai para A4 e SCL vai para A5





Etapa 2:Carregue o código do Arduino em seu dispositivo / transmissor / item de entrada

  IMPORTANTE:Desconecte os pinos RX e TX antes de enviar o código para sua placa.  





Etapa 3:Quase pronto! Baixe o aplicativo para o seu telefone!


Siga este link e baixe o aplicativo para o seu telefone.

App de skate / snowboard de realidade virtual Google Cardboard

Você precisará acessar suas configurações de segurança e permitir que aplicativos de desenvolvedores desconhecidos sejam instalados.

Certifique-se de emparelhar o módulo Bluetooth com o seu telefone, não altere o nome padrão (HC-06). A senha deve ser 1234.

Notas:

Este é meu primeiro Unity Game ... então é bem básico.

Se um número suficiente de pessoas fizer isso, posso tentar fazer um jogo de snowboard melhor ou fazer um jogo de skate de verdade, dependendo do que eu solicitar.

Quando ligar o seu dispositivo Arduino, certifique-se de que o skate está apoiado no chão e, em seguida, abra o aplicativo. Assim que o Bluetooth se conectar, você entrará.

Se o Bluetooth for desconectado, reinicie o aplicativo (ele está configurado para conectar no início do aplicativo apenas, por enquanto).

Código

  • Código Arduino
Código Arduino Arduino
 #include "I2Cdev.h" #include "MPU6050_6Axis_MotionApps20.h" #if I2CDEV_IMPLEMENTATION ==I2CDEV_ARDUINO_WIRE #include "Wire.h" # endifMPU6050 mpu; bool dmpReady =false; uint8_t mpuIntStatus; uint8_t devStatus; uint16_t packetSize; uint16_t fifoCount; uint8_t fifoBuffer [64]; Quaternion q; VectorInt16 aa; VectorInt16 aaReal; VectorInt16 aaWorld; Gravidade VectorFloat; float euler [3]; float ypr [3]; bool volátil mpuInterrupt =false; void setup () {#if I2CDEV_IMPLEMENTATION ==I2CDEV_ARDUINO_WIRE Wire.begin (); TWBR =24; #elif I2CDEV_IMPLEMENTATION ==I2CDEV_BUILTIN_FASTWIRE Fastwire ::setup (400, true); #endif Serial.begin (9600); // Para uso com Arduino Uno Serial1.begin (9600); // Para uso com Leonardo Serial.println (F ("Inicializando dispositivos I2C ...")); mpu.initialize (); Serial.println (F ("Testando conexões de dispositivos ...")); Serial.println (mpu.testConnection ()? F ("MPU6050 conexão bem-sucedida"):F ("MPU6050 conexão falhou")); Serial.println (F ("Inicializando DMP ...")); devStatus =mpu.dmpInitialize (); mpu.setXGyroOffset (220); mpu.setYGyroOffset (76); mpu.setZGyroOffset (-85); mpu.setZAccelOffset (1788); if (devStatus ==0) {Serial.println (F ("Ativando DMP ...")); mpu.setDMPEnabled (true); Serial.println (F ("Ativando a detecção de interrupção (interrupção externa do Arduino 0) ...")); attachInterrupt (0, dmpDataReady, RISING); mpuIntStatus =mpu.getIntStatus (); Serial.println (F ("DMP pronto! Aguardando a primeira interrupção ...")); dmpReady =true; packetSize =mpu.dmpGetFIFOPacketSize (); } else {Serial.print (F ("Falha na inicialização DMP (código")); Serial.print (devStatus); Serial.println (F (")")); }} void sendData (int x, int y, int z) {if (z <-10) {// encaminhar Serial1.write ("f"); // Escreve para Leonardo Serial1.write (10); // Parar o bit Serial.write ("f"); // Grava em Uno Serial.write (10); // Stop bit} else if (z> 0) {// backward Serial1.write ("b"); Serial1.write (10); Serial.write ("b"); Serial.write (10); } else if (y> 5) {// Para tornar o valor mais sensível, altere o valor para 4 ou menos // right Serial1.write ("r"); Serial1.write (10); Serial.write ("r"); Serial.write (10); } else if (y <-5) {// Para fazer uma alteração mais sensível para -4 ou maior // esquerda Serial1.write ("l"); Serial1.write (10); Serial.write ("l"); Serial.write (10); } else // parar Serial1.write ("s"); Serial1.write (10); Serial.write ("s"); Serial.write (10); } void loop () {if (! dmpReady) return; mpuInterrupt =false; mpuIntStatus =mpu.getIntStatus (); fifoCount =mpu.getFIFOCount (); if ((mpuIntStatus &0x10) || fifoCount ==1024) {mpu.resetFIFO (); Serial.println (F ("FIFO Overflow")); } else if (mpuIntStatus &0x02) {while (fifoCount  

Esquemas


Processo de manufatura

  1. DIY LUMAZOID Arduino Music Visualiser
  2. Capturando as gotas de água com Arduino
  3. Faça você mesmo voltímetro usando Arduino e Smartphone
  4. JX Wave Generator
  5. J.A.R.V.I.S com DIY Arc Reactor
  6. Faça você mesmo Arduino RADIONICS Tratamento MMachine
  7. Simulador de corrida de movimento 2D DIY
  8. Módulo Arduino + GPS - Notificador de Destino
  9. ArduRadio AlarmClock
  10. Virtual Arduino Tennis