Arduino - juego el Piezo

jugar el Piezo.
El objetivo de este proyecto es generar música a través de movimiento gracias a los acelerómetros.

-Acelerómetro de 3 ejes 1
-1 tarjeta de arduino
-1 altavoz
-capaz de desafiar el sonido de la mierda del altavoz a 1 canciones

El código es básico: se aplica al ritmo de la canción y antes de cada paso de tiempo, el guante detecta la dirección de la gravedad y elige una de las tres notas de la canción.

El código está a continuación.

Se puede ver el video en Youtube.

Recibir noticias y actualizaciones en mi página. Actualmente estoy recaudando fondos contra el cáncer, por favor done!

/*
28 de diciembre de 2012 - Sebastien RUBRECHT
Intente reproducir una música con un altavoz de mierda, con la esperanza de que "cool" compensará "la basura".
La música es "Dónde está mi mente" de los duendecillos, que es realmente fácil de jugar.
*/

#define AUTO 0 / automática / modo: Si 1, la música se reproduce automáticamente.

Pernos de
const int analogInPinX = 0;  Clavija de entrada analógica pin primera de acelerómetro acoplado al
const int analogInPinY = 1;  Clavija de entrada analógica de segundo pasador de acelerómetro acoplado al
const int analogInPinZ = 2;  Clavija de entrada analógica tercer pin de acelerómetro acoplado al
const int tone1Pin = 9;  señal de salida de tono

const int highPin1 = 11;  Alimentación V 5
const int highPin2 = 12;  Alimentación V 5
const int lowPin1 = 5; para uno de la tierra 2 acelerómetro.
const int lowPin2 = 6; para uno de la tierra 2 acelerómetro.

const int ledOKPinGnd = 8;  para aceptar el perno de tierra
const int ledOKPinH = 10; 5 Alimentación V PIN OK
const int ledNOKPinGnd = 2; para NOK Pin
const int ledNOKPinH = 4;  5 Alimentación V PIN NOK

valores constantes
const float freq_rediese0 = 38.9;//frequency de un Re agudo en Hz, para la octava 0
const float freq_mi0 = 41.2;//frequency de Mi en Hz, para la octava 0
const float freq_soldiese0 = 51.9;//frequency de un Sol sostenido en Hz, para la octava 0

parámetros definidos por el usuario constante
const int octava = 4; número de //octave. Ten cuidado, debajo de 2(low) y por encima de 6 (aguda), se pone muy feo
const int temps = 380; //number de milisegundos para 1 nota musical. 380 es el ritmo real, pero comenzando con 600 es más fácil de aprender

variables
Float freq_rediese = freq_rediese0 * pow (2, octava); frecuencia de un Re agudo en Hz, para la octava retenida
Float freq_mi = freq_mi0 * pow (2, octava); //frequency de Mi en Hz, para la octava retenida
Float freq_soldiese = freq_soldiese0 * pow (2, octava); //frequency de un Sol sostenido en Hz, para la octava retenida

int noire; //time de una nota negra
croche int; //temps de una nota de corchea
frecuencia del flotador; //frequency jugado

int sensorValue1;        valor leído de pin primera de acelerómetro
int sensorValue2;        valor leído desde el segundo pasador de acelerómetro
int sensorValue3;        valor leído desde el segundo pasador de acelerómetro

void setup() {}
pinMode (tone1Pin, salida);

pinMode (highPin1, salida);
pinMode (highPin2, salida);
pinMode (lowPin1, salida);
pinMode (lowPin2, salida);

pinMode (ledOKPinGnd, salida);
pinMode (ledOKPinH, salida);
pinMode (ledNOKPinGnd, salida);
pinMode (ledNOKPinH, salida);

digitalWrite (lowPin1, bajo);
digitalWrite (lowPin2, bajo);
digitalWrite (highPin1, HIGH);
digitalWrite (highPin2, HIGH);

digitalWrite (ledOKPinGnd, bajo);
digitalWrite (ledNOKPinGnd, bajo);
}

void loop() {}
Noire = temps;
Croche = temps/2;

Dónde está mi mente"es 4 * (1 mi + 1sol #); 2 * (1re # + 1sol #); 2 * (mi 1 + 1/2 mi + 1 / 2re #).
para (int j = 0; j < 4; j ++) //4 * (1 mi + 1sol #)
{
frecuencia = acqNote(freq_mi); Obtiene la dirección de la aceleración más alta del sensor y devuelve el assofrequency. La teórica buena es a Mi.
Nota (frecuencia, noire); / / reproduce la frecuencia volvió a la línea anterior durante 1 hora "noire".
frecuencia = acqNote(freq_soldiese);
Nota (frecuencia, noire);
}
para (int j = 0; j < 2; j ++) //2 * (1re # + 1sol #);
{
frecuencia = acqNote(freq_rediese);
Nota (frecuencia, noire);
frecuencia = acqNote(freq_soldiese);
Nota (frecuencia, noire);
}
para (int j = 0; j < 2; j ++) / / 2 * (mi 1 + 1/2 mi + 1 / 2re #)
{
frecuencia = acqNote(freq_mi);
Nota (frecuencia, noire);
frecuencia = acqNote(freq_mi);
Nota (frecuencia, croche);
frecuencia = acqNote(freq_rediese);
Nota (frecuencia, croche);
}
}

Nota nula (freq, del flotador duración int)
{
La función de "Nota" juega una nota con frecuencia "freq" (Hz) "durante" (ms)

conversión de la frecuencia en un período de semi
doble semiperiod_micros =1/(double(freq)) * 1000000 * 0,5;

largo duree=long(duration);
sin firmar largo un = millis();
mientras que (millis() < (a + donde))
{
digitalWrite (tone1Pin, HIGH);
delayMicroseconds(int(semiperiod_micros));
digitalWrite (tone1Pin, bajo);
delayMicroseconds(int(semiperiod_micros));
}
Para separar las notas (suena mejor), pequeños retrasos.
Si (duración > 300)
{delay(15);}
otra cosa
{delay(7);}
}

Float acqNote(float freq_ref) {}

"acqNote" obtiene la aceleración en las 3 direcciones del sensor, selecciona el más alto y devuelve la frecuencia asociada.
Si coincide con la teórica buena frecuencia "freq_ref", enciende el verde, otro rojo led.

freq del flotador;

Lee los ambos valores de entrada analógicos:
sensorValue1 = analogRead(analogInPinX);
sensorValue2 = analogRead(analogInPinY);
sensorValue3 = analogRead(analogInPinZ);

Devuelve el índice del máximo de 3 valores
Si ((max(max(sensorValue1,sensorValue2),sensorValue3))==sensorValue1) {}
Freq = freq_rediese;
}
else if ((max(max(sensorValue1,sensorValue2),sensorValue3))==sensorValue2) {}
Freq = freq_mi;
}
Else {}
Freq = freq_soldiese;
}

el verde se enciende led si la frecuencia es la teórica buena, otra cosa el rojo se.
Si (freq == freq_ref) {}
digitalWrite(ledOKPinH,HIGH);
digitalWrite(ledNOKPinH,LOW);
}
Else {}
digitalWrite(ledOKPinH,LOW);
digitalWrite(ledNOKPinH,HIGH);
}
Si {} (AUTO)
volver freq_ref;
}
Else {}
volver freq;
}

};

Artículos Relacionados

Botón de Arduino juego

Botón de Arduino juego

Este es un juego de LED de dos jugadores.¡ Mira el video.Paso 1: Lista de piezas1 nano x Arduino2 x botónresistencia 12 x 220 ohmios5 x LED rojo (su deseo)5 x LED verde (su deseo)1 x protoboard o placa perforada, como usted prefiera1 Cable de x USBy
Arduino - juego de memoria

Arduino - juego de memoria

Un simpel-juego de memoria utilizando el Arduino Uno.Paso 1: Paso 1: piezas y herramientas4 botones4 LED1 registro de desplazamiento 74HC5951 Piezo2 (tal vez uno más grande) protoboard1 Arduino Uno1 220 Ω Res.Paso 2: Paso 2: consejosIntente poner el
Arduino juego Arcade de disparos

Arduino juego Arcade de disparos

Hola amigos,Bienvenido a mi campo de tiro.Este instructable es trata de hacer tu propio juego de disparos dentro de su presupuesto. Esta configuración me costo unos 15$ (1000INR)El proyecto es ahora de la versión alpha. El juego y animaciones, ven en
Red de Arduino juego

Red de Arduino juego

Hay varios arduino basado juego-pad como Arduboy, Gameby Gamebuino. Puede hacer y jugar estos juego-pad. Estos son sólo un solo jugador pero recuerden que también puede hacer y el arduino red juego!!!!Este documento muestra cómo construir el juego de
Asteroide de Arduino juego

Asteroide de Arduino juego

Este es un juego de Arduino.Lo que usted necesita1. arduino uno o mega2. arduino software3. 2 con el potenciómetro4. acelerómetro de 6 pines5. un montón de alambre6. protoboard7. 16 x 2 pantalla de arduino aprobadoPaso 1: Todo lo que necesitas hacer
Arduino + juego de fábrica de Rover

Arduino + juego de fábrica de Rover

en este Instructable va a dar usted instrucciones paso a paso sobre cómo interfaz del Arduino, un controlador de Motor (L293D), y un ordenador portátil para hacer un Wifi controlado rover puede conducir alrededor de su casa o trabajar desde cualquier
Presión de LED Arduino juego

Presión de LED Arduino juego

Este es el primer proyecto de Arduino que he creado yo mismo. Yo tenía un montón de LEDS y un sensor de presión, así que pensé que haría un pequeño juego. Cuanto más se apriete el sensor de presión, el enciende para arriba en una fila LEDS más. Si en
Arduino juegos Stick héroe

Arduino juegos Stick héroe

¿Eres un fanático del juego? ¿Quieren al comienzo de la gran lista de puntuación? Si su respuesta es sí, que estás en el lugar correcto.¿Todo esto se logra con usted sentado inactivo y el teléfono haciendo el hablar? Sí se puede hacer y le mostraremo
Arduino juego no paso de la manzana blanca"

Arduino juego no paso de la manzana blanca"

Hola todo el mundo!En este tutorial te mostraré mi robot rápido-hecho que puede jugar en el teléfono. Yo estaba haciendo esto para la escuela sólo para demostración, este proyecto aún necesita mejoras en hardware y el programa tiene algunos fallos, e
Tarjetas RFID de Arduino (juego que empareja)

Tarjetas RFID de Arduino (juego que empareja)

¿Quieren una manera lujo aprender con sus hijos a estudiar para el examen? Con un escudo de RFIDuino, una pila de tarjetas flash y un montón de etiquetas RFID, puede hacer un sistema de tarjeta de memoria flash que da retroalimentación y refuerzo al
LED Arduino juego

LED Arduino juego

este es mi juego de led que te voy a mostrar cómo hacer.Paso 1: Lo que usted necesita You needArduino unoMini USB a USB estándarMac o windowsProtoboardLEDInterruptor del tacto4 x 33 ohm + 1 x 10kohm resistenciasCables de puentePaso 2: Cómo la placa d
Bastante Simple Simon - la evolución de un juego de Arduino

Bastante Simple Simon - la evolución de un juego de Arduino

Aviso importante: versión Final (es decir, relevante) es el último paso de este instructable.Si usted quiere construir a un Simón, que es la versión recomendada.El resto de la serie de pasos esta la evolución de un juego de escueto para LED 13 y seri
Juego de Split-Flap basados en Arduino

Juego de Split-Flap basados en Arduino

tenemos una gran tradición de vacaciones holandés llamada sinterklaas (5 de diciembre, esto es lo que la Santa de Estados Unidos se basa en). Para los mayores "no creyentes" hacemos sorpresas. El propósito es comprar un pequeño regalo pero hacer
Juego de Tetris de matriz de LED bicolor basados en Arduino

Juego de Tetris de matriz de LED bicolor basados en Arduino

Uno de la electrónica DIY kit jolliFactory vino para arriba con es el Kit del módulo de Bi-color LED matriz conductor. Este módulo está diseñado para ser capaz de cadena así que usted puede encadenar los módulos juntos al número de módulos que necesa