Paso 4: El Arduino sketch - parte dos
Para el segundo ejemplo, hemos utilizado varios colores:// -----------------------------------------------------------------------------------------------------------
Freetronics CUBE4: y analizador de espectro MSGEQ7
MSGEQ7 estrobo en A4, reset en D5, señal en A0
ahora en colores!
#include "SPI.h"
#include "Cube.h"
Cubo del cubo;
int res = 5; reajuste de pernos en D5
int a la izquierda [7]; almacenar los valores de la banda en estos arreglos de discos
int grupo;
adicional de int = 0;
void setup()
{
pinMode (res, salida); RESET
pinMode (A4, salida); luz estroboscópica
digitalWrite(res,LOW);
digitalWrite(A4,HIGH);
Cube.Begin (-1, 115200);
Serial.Begin(9600);
}
void readMSGEQ7()
Función para leer Ecualizadores de 7 bandas
{
digitalWrite (res, HIGH);
digitalWrite (res, LOW);
para (banda = 0; banda < 7; banda ++)
{
digitalWrite(A4,LOW); pin de Strobe en el escudo - comienza el IC hasta la siguiente banda
delayMicroseconds(30); //
izquierda [band] = analogRead(0) + adicional; almacenar lectura de banda
digitalWrite(A4,HIGH);
}
}
void loop()
{
readMSGEQ7();
para (banda = 0; banda < 7; banda ++)
{
div cada banda fuerza en cuatro capas, cada banda entonces una de las diagonales impares
banda uno ~ 63 Hz
Si (a la izquierda [0] > = 768) {}
Cube.set (3,3,3, rojo);
}
otra cosa
Si (a la izquierda [0] > = 512) {}
Cube.set (3,3,2, amarillo);
}
otra cosa
Si (a la izquierda [0] > = 256) {}
Cube.set (3,3,1, amarillo);
}
otra cosa
Si (a la izquierda [0] > = 0) {}
Cube.set (3,3,0, azul);
}
banda dos ~ 160 Hz
Si (a la izquierda [1] > = 768)
{
Cube.set (3,2,3, rojo);
Cube.set (2,3,3, rojo);
}
otra cosa
Si (a la izquierda [1] > = 512)
{
Cube.set (3,2,2, amarillo);
Cube.set (2,3,2, amarillo);
}
otra cosa
Si (a la izquierda [1] > = 256)
{
Cube.set (3,2,1, amarillo);
Cube.set (2,3,1, amarillo);
}
otra cosa
Si (a la izquierda [1] > = 0)
{
Cube.set (3,2,0, azul);
Cube.set (2,3,0, azul);
}
banda tres ~ 400 Hz
Si (a la izquierda [2] > = 768)
{
Cube.set (3,1,3, rojo);
Cube.set (2,2,3, rojo);
Cube.set (1,3,3, rojo);
}
otra cosa
Si (a la izquierda [2] > = 512)
{
Cube.set (3,1,2, amarillo);
Cube.set (2,2,2, amarillo);
Cube.set (1,3,2, amarillo);
}
otra cosa
Si (a la izquierda [2] > = 256)
{
Cube.set (3,1,1, amarillo);
Cube.set (2,2,1, amarillo);
Cube.set (1,3,1, amarillo);
}
otra cosa
Si (a la izquierda [2] > = 0)
{
Cube.set (3,1,0, azul);
Cube.set (2,2,0, azul);
Cube.set (1,3,0, azul);
}
banda cuatro ~ 1 kHz
Si (a la izquierda [3] > = 768)
{
Cube.set (3,0,3, rojo);
Cube.set (2,1,3, rojo);
Cube.set (1,2,3, rojo);
Cube.set (0,3,3, rojo);
}
otra cosa
Si (a la izquierda [3] > = 512)
{
Cube.set (3,0,2, amarillo);
Cube.set (2,1,2, amarillo);
Cube.set (1,2,2-Trimethylpropyl, amarillo);
Cube.set (0,3,2, amarillo);
}
otra cosa
Si (a la izquierda [3] > = 256)
{
Cube.set (3,0,1, amarillo);
Cube.set (2,1,1, amarillo);
Cube.set (1,2,1, amarillo);
Cube.set (0,3,1, amarillo);
}
otra cosa
Si (a la izquierda [3] > = 0)
{
Cube.set (3,0,0, azul);
Cube.set (2,1,0, azul);
Cube.set (1,2,0, azul);
Cube.set (0,3,0, azul);
}
banda de cinco ~ 2.5 kHz
Si (a la izquierda [4] > = 768)
{
Cube.set (2,0,3, rojo);
Cube.set (1,1,3, rojo);
Cube.set (0.2.3, rojo);
}
otra cosa
Si (a la izquierda [4] > = 512)
{
Cube.set (2,0,2, amarillo);
Cube.set (1.1.2, amarillo);
Cube.set (0,2,2, amarillo);
}
otra cosa
Si (a la izquierda [4] > = 256)
{
Cube.set (2,0,1, amarillo);
Cube.set (1,1,1, amarillo);
Cube.set (0,2,1, amarillo);
}
otra cosa
Si (a la izquierda [4] > = 0)
{
Cube.set (2,0,0, azul);
Cube.set (1,1,0, azul);
Cube.set (0,2,0, azul);
}
banda de seis ~ 6,25 kHz
Si (a la izquierda [5] > = 768)
{
Cube.set (1,0,3, rojo);
Cube.set (0,1,3, rojo);
}
otra cosa
Si (a la izquierda [5] > = 512)
{
Cube.set (1,0,2, amarillo);
Cube.set (0,1,2, amarillo);
}
otra cosa
Si (a la izquierda [5] > = 256)
{
Cube.set (1,0,1, amarillo);
Cube.set (0,1,1, amarillo);
}
otra cosa
Si (a la izquierda [5] > = 0)
{
Cube.set (1.0.0, azul);
Cube.set (0.1.0, azul);
}
banda 7 ~ 16 kHz
Si (a la izquierda [6] > = 768)
{
Cube.set (0,0,3, rojo);
}
otra cosa
Si (a la izquierda [6] > = 512)
{
Cube.set (0,0,2, amarillo);
}
otra cosa
Si (a la izquierda [6] > = 256)
{
Cube.set (0.0.1, amarillo);
}
otra cosa
Si (a la izquierda [6] > = 0)
{
Cube.set (0,0,0, azul);
}
}
ahora claro el cubo, o si es demasiado lento - repetir el proceso pero apagar LEDs
Cube.All(Black);
}
// -----------------------------------------------------------------------------------------------------------
... y el segundo video de demostración:
Un poco de ruido viene a través en el analizador de espectro, probablemente debido a que la cosa entera está sin protección. El anterior prototipo utiliza el escudo de Arduino desde el tutorial que no tienen este problema, así que si eres entusiasta tal vez haga su propio encargo PCB para este proyecto.
Conclusión
Bueno eso fue algo diferente esperamos que lo hayan disfrutado y puede encontrar uso para el circuito. MSGEQ7 es un práctico IC y con imaginación se puede crear una variedad de exhibiciones influenciado musicalmente. Y mientras estás aquí, ¿te interesa aprender más sobre Arduino? Luego pedir mi nuevo libro "Taller de Arduino" de la prensa de almidón No.