Aumentada la Hyper-realidad guante (5 / 8 paso)

Paso 5: Arduino, protector de la onda de conocer.

"Hola protector de la onda. Mi mi tienen una perilla de volumen agradable "..." Oh! Oh, gracias señor italiano de suave hablar..."

Lo siento, que estoy divagando.

Aquí está lo que no vamos a mostrar: tres horas de soldadura! Lo grande acerca de Lady Ada y sus gloriosos productos es que son baratas y vienen con instrucciones muy buenas! Además, la dama, mantiene el coste por no montar los tableros y a su vez, se aprende a soldar como un robot! Qué es una mierda, la ruta de acceso de soldadura como un robot es afín el paseo de Dante tuvo con Virgilio.

No seas skerd! Soldar es una habilidad!

La siguiente cosa a hacer es seguir el tutorial "USE IT" en el protector de la onda para aprender cómo a... uh... usarlo. Trata usando la tarjeta FORMATTER y tarjeta SD, los archivos a la tarjeta y obtener el código! Nuestro código está publicado a continuación. ESTO ES PEDIR MUCHO DE UN NUEVO USUARIO DE ARDUINO!!!!!! No se desanime si no va sin problemas. No para nosotros tampoco.

Código: Abajo aquí, copiar y pegar en el IDE de Arduino.

#include "FatReader.h"
#include "SdReader.h"
#include
#include "WaveUtil.h"
#include "WaveHC.h"

Tarjeta SdReader; Este objeto contiene la información de la tarjeta
FatVolume vol; Contiene la información de la partición en la tarjeta
FatReader raíz; Esto contiene la información para el sistema de archivos en la tarjeta
FatReader f; Esto contiene la información del archivo estamos jugando
Ola WaveHC; Este es el único objeto (audio) de la onda, puesto que sólo jugaremos uno a la vez
dirLevel de uint8_t; aplicar sangría a nivel de nombres de archivo/dir (para prettyIndent)
dirBuf de dir_t; buffer para directorio lecturas

void setUsUpTheCard(void) {}
pinMode (2, salida);
pinMode (3, salida);
pinMode (4, salida);
pinMode (5, salida);

Si (! card.init(true)) {//play con spi de 4 MHz si 8MHz no funciona para usted
Si (! card.init()) {//play con spi de 8 MHz (por defecto más rápido!)
putstring_nl ("tarjeta init. no se pudo!"); Algo salió mal, permite imprimir por qué
sdErrorCheck();
while(1); entonces 'detener': ¡ no!
}
Ahora buscaremos una partición FAT!
parte de uint8_t;
para (parte = 0; parte < 5; parte ++) {/ / tenemos hasta 5 ranuras en
Si (vol.init (tarjeta, parte))
rotura; encontró uno, permite la libertad bajo fianza
}
Si (parte == 5) {/ / si terminamos por no encontrar uno :(
putstring_nl ("No válida partición FAT!");
sdErrorCheck(); Algo salió mal, permite imprimir por qué
while(1); entonces 'detener': ¡ no!
}
Intente abrir el directorio raíz
Si (! {root.openRoot(vol))}
putstring_nl ("no se puede abrir raíz dir!"); Algo salió mal,
while(1); entonces 'detener': ¡ no!
}
¡ UF! Llegamos pasado las partes difíciles.
putstring_nl ("archivos encontrados:");
dirLevel = 0;
Imprima todos los archivos en los directorios.
lsR(root);
}

/*
* lista recursivamente - desbordamiento de pila posible si subdirectorios anidados demasiado
*/
void lsR (FatReader & d)
{
int8_t r; indica el nivel de recursividad

mientras que ((r = d.readDir(dirBuf)) > 0) {/ / lee el siguiente archivo en el directorio
saltar subdirectorios. y...
Si (dirBuf.name[0] == '.')
continuar;

para (uint8_t i = 0; i < dirLevel; i ++)
Serial.Print(' '); Esto es para prettyIndent, poner espacios en el frente
printName(dirBuf); imprimir el nombre del archivo que acaba de
Serial.println(); y una nueva línea

Si (DIR_IS_SUBDIR(dirBuf)) {/ / va efectuar recursividad en cualquier direcory
FatReader s; hacer un nuevo objeto de directorio que contienen la información
dirLevel += 2; guión 2 espacios para futuras impresiones
Si (s.open (vol, dirBuf))
lsR(s); listar todos los archivos en este directorio ahora!
dirLevel-=2; eliminar la sangría extra
}
}
sdErrorCheck(); ¿Estamos haciendo OK?
}

/*
* imprimir campo de nombre de dir_t. La salida es 8.3 formato, así como sonido. WAV o nombre de archivo. DAT
*/
void printName (dir_t & dir)
{
para (uint8_t me = 0; i < 11; i ++) {/ / formato 8.3 tiene 8 + 3 = 11 letras en él
Si (dir.name[i] == ' ')
continuar; no imprimir ningún espacio en el nombre
Si (i == 8)
Serial.Print('.'); después de la carta 8, colocar un punto
Serial.Print(Dir.Name[i]); la cifra de n'th de impresión
}
Si (DIR_IS_SUBDIR(dir))
Serial.Print('/'); directorios get / al final
}

Reproduce un archivo completo de principio a fin sin pausa.
void playcomplete(char *name) {}
llamar a nuestro ayudante para buscar y reproducir este nombre
playfile(Name);
mientras (wave.isplaying) {}
no hacer nada durante la reproducción de su
}
su hecho reproduciendo
}

void playfile(char *name) {}
ver si el objeto ola está haciendo algo
Si (wave.isplaying) {/ / así que ya está reproduciendo algo, stop!
Wave.STOP(); Basta
}
Buscar en el directorio raíz y abre el archivo
Si (! f.open (raíz, nombre)) {}
putstring ("no puede abrir archivo"); Serial.Print(Name); retorno;
}
Leer bien el archivo y convertirlo en un objeto de onda
Si (! {wave.create(f))}
putstring_nl ("no un válido WAV"); retorno;
}

OK el tiempo para jugar! iniciar la reproducción
Wave.Play();
}

void sdErrorCheck(void)
{
Si (! card.errorCode()) retorno;
putstring ("error de E/S SD:");
Serial.Print(Card.ErrorCode(), hexagonal);
putstring (",");
Serial.println(Card.errorData(), hexagonal);
while(1);
}

/*************************************
TRATA LAS COSAS BUENAS ***
*************************************/

int tilt_port = 13; puerto digital sensor de la inclinación está en
int tilt_original; mantiene la posición de inicio del sensor de la inclinación
de acción del faux del acelerómetro

void setup() {}
Serial.Begin(9600);

pinMode (tilt_port, entrada);
int tilt_original = digitalRead(tilt_port);

setUsUpTheCard(); inicializar el protector de la onda
}

pulgar de int = 0;
puntero de int = 0;
int medio = 0;
anillo int = 0;
pinky de int = 0;
int tilt_waiting = 0;
int tilt_inmotion = 0;

rizado de int = 0;
int curled_previous = 0;

void loop() {}
pulgar de int = analogRead(A4);
puntero de int = analogRead(A3);
int medio = analogRead(A2);
anillo int = analogRead(A1);
pinky de int = analogRead(A0);

rizado = 0;

/*
* el pulgar parece ser b0rked
* al azar (?) pega en 0
* vamos a ignorarlo
*/
Si {} (pulgar > 120)
encrespada += 1;
}
Si {} (puntero > 150)
encrespada += 10;
}
/*
dedo medio está aparentemente siempre en
* vamos a ignorarlo
*/
Si (media > 130) {}
encrespada += 100;
}
Si {} (anillo > 170)
+= rizado 1000;
}
Si {} (pinky > 120)
+= rizado 10000;
}

Si (rizado > = 11100) {}
tilt_check ("PUNCH", "PUNCH. WAV");
} else {}
tilt_check ("Arma", "la pistola. WAV");
}
/*
Si (rizado == 0) {}
Karate CHOP!
tilt_check ("Picar", "CHOP. WAV");
} else if (rizado == 1000 + 10000) {}
PISTOLA
tilt_check ("Arma", "la pistola. WAV");
} else if (rizado == 9999) {}
SPIIIIIDEY-HOMBRE
tilt_check ("SPIDEY", "SPIDEY. WAV");
} else if (rizado == 10 + 1000 + 10000) {}
PUÑO DE
tilt_check ("PUNCH", "PUNCH. WAV");
}
*/
Serial.Print ("pulgar:"); Serial.println(Thumb);
Serial.Print ("puntero:"); Serial.println(Pointer);
Serial.Print ("media:"); Serial.println(Middle);
Serial.Print ("anillo:"); Serial.println(Ring);
Serial.Print ("pinky:"); Serial.println(Pinky);
Serial.Print ("rizado:"); Serial.println(Curled);
Serial.println("");
Delay(15);
}

void reset_check (int reset = 0) {}
Si (reset || encrespado! = curled_previous) {}
tilt_waiting = 0;
tilt_inmotion = 0;
curled_previous = rizado;
}
}

void tilt_check (String mensaje, char * nombre) {}
reset_check();
inclinación de int = digitalRead(tilt_port);
Serial.println(Tilt);
Si (! tilt_waiting) {}
tilt_waiting = 1;
tilt_original = inclinación;
} else {}
Si (inclinación! = tilt_original) {}
tilt_inmotion = 1;
}
Si (tilt_inmotion & & tilt == tilt_original) {}
Serial.println(Message);
Serial.println(FileName);
playcomplete(FileName);
reset_check(1);
}
}
}

Artículos Relacionados

Aumentada de la realidad y Kinect: aumentar el cráneo y la máscara de hierro el hombre

Aumentada de la realidad y Kinect: aumentar el cráneo y la máscara de hierro el hombre

Este es un simple, muy fácil de seguir el tutorial. Para esto se necesita:PCSensor Kinect de Microsoft para Windows (utilizado primera Kinect para XBOX 360)Paso 1: Descarga de Software, controladores y códigoDescargar: Descargar e instalar procesamie
Captar las ondas gravitacionales: Robots de realidad aumentada enseñar fundamentos de física para niños y adultos

Captar las ondas gravitacionales: Robots de realidad aumentada enseñar fundamentos de física para niños y adultos

Hacer invisible de las ondas gravitacionales, ondas de radio, ondas de sonido, etc., abarcable y más comprensible con la robótica de AR (realidad aumentada) mediante un sencillo dispositivo inventado en la edad de 12, en 1974. Este dispositivo es tan
Casco de realidad de Intel Glass_Augmented - 1

Casco de realidad de Intel Glass_Augmented - 1

Hola los fabricantes y desarrolladores, soy nuevo con un otro instructivo mío. Esta vez, voy a comenzar una serie de instructivo para construir un marco completo.He estado trabajando con el Open source AR HuD para unos cuantos meses y subió con gafas
Sonido invisible y ondas de radio en su retina la impresión: realidad con perfecta alineación aumentada

Sonido invisible y ondas de radio en su retina la impresión: realidad con perfecta alineación aumentada

S.W.I.M. (máquina de impresión de onda secuencial) puede ver invisibles si no las ondas de sonido y radio ondas, impresas en su retina, fotográficos o lente/cámara.Esto es debido a algo llamado Phenomenological o realidad aumentada fenoménica, es dec
Realidad aumentada fenomenal nos permite ver cómo las cosas nos miran!

Realidad aumentada fenomenal nos permite ver cómo las cosas nos miran!

En mi infancia descubrí un interesante fenómeno: si conectado una fuente de luz a un receptor de televisión suficientemente amplificada, y saludó la luz por delante de una cámara de vídeo, pude obtener la luz para funcionar como una pantalla 3D de re
Vidrio de Arduino - casco de realidad aumentada de código abierto

Vidrio de Arduino - casco de realidad aumentada de código abierto

¿Has pensado en conseguir un casco de realidad aumentada? ¿Fueron también asombró a la posibilidad de realidad aumentada y miró la etiqueta del precio con un corazón roto?Sí, yo también!Pero eso no me impide allí. Construí mi coraje y en su lugar, de
Tarjeta de Navidad de realidad aumentada (TfCD)

Tarjeta de Navidad de realidad aumentada (TfCD)

Que la Navidad sea inolvidable por impresionar a su familia con una tarjeta de Navidad futurista hecha en casa!Realidad aumentada (AR) es una tecnología impresionante y próxima. Permite añadir imágenes virtuales a la realidad a través de una pantalla
Aumentada realidad tutoriales (Pack Tutorial 8)

Aumentada realidad tutoriales (Pack Tutorial 8)

En estos tutoriales no doy ningún fondo en teoría está orientada al resultado como lograrlo! Después de lograr todos los 8 tutoriales muestras abajo (Ver todos los pasos) y experimentar con él, usted será capaz de hacer algo parecido en los 3 DEMOS s
Realidad aumentada en 3D de la unidad

Realidad aumentada en 3D de la unidad

En este tutorial, va ser que muestra cómo crear un mundo de realidad aumentada simple usando Vuforia SDK para unidad 3D. La razón de elegir el marco, era porque parecía fácil y es gratis. Vamos a empezar!Paso 1: requisitos previosAntes de construir s
Realidad aumentada del PACMAN, esquí entrenador concepto

Realidad aumentada del PACMAN, esquí entrenador concepto

¿ya formación para el próximo invierno Juegos Olímpicos? Genial, ahora Asegúrese de que tiene el sistema de entrenamiento más escandalosamente poco práctico. Prácticos ya que esto iba a ser una prueba de concepto y de su aspecto grande, pesado y goof
Realidad utilizando Unity3D y Vuforia – exportación de AR Android App para el aumento de dinero aumentada

Realidad utilizando Unity3D y Vuforia – exportación de AR Android App para el aumento de dinero aumentada

Para más tutoriales de realidad aumentada, visitan aquí:1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.Paso 1: Descargar todo abajo y siga las instrucciones en el videoDescargar # Unity3D (descargar e instalar, si no lo tienes ya) (archivo *.exe)Unity3D tamb
Realidad utilizando Unity3D y Vuforia para seguimiento objeto cilíndrico – Pepsi puede aumentada

Realidad utilizando Unity3D y Vuforia para seguimiento objeto cilíndrico – Pepsi puede aumentada

Para más tutoriales de realidad aumentada, visitan aquí:1.2.3.4.5.6.7.8.9.10.Paso 1: Descargar todo abajo y siga las instrucciones en el videoDescargar # Unity3D (descargar e instalar, si no lo tienes ya) (archivo *.exe)Unity3D también está disponibl
Utilizando Unity3D y Vuforia – seguimiento de Cuboid 3D de realidad aumentada

Utilizando Unity3D y Vuforia – seguimiento de Cuboid 3D de realidad aumentada

Para más tutoriales de realidad aumentada, visitan aquí:1.2.3.4.5.6.Paso 1: Descargar todo abajo y utilizar de acuerdo a VideoDescargar # Unity3D (descargar e instalar, si no lo tienes ya) (archivo *.exe)Unity3D también está disponible para descargar
Aumentada realidad Tutorial utilizando Unity3D y Vuforia para seguimiento y reconocimiento de texto

Aumentada realidad Tutorial utilizando Unity3D y Vuforia para seguimiento y reconocimiento de texto

Para más tutoriales de realidad aumentada, visitan aquí:1.2.3.4.5.6.7.8.Paso 1: Descargar todo abajo y siga las instrucciones en el videoDescargar # Unity3D (descargar e instalar, si no lo tienes ya) (archivo *.exe)Unity3D también está disponible par