Paso 4: El código
Aquí está el código como en Arduino 1.0.1
//
Sincronización de Beat
Un dispositivo de visualiztion de música.
Creado por
Carl Smith
penguinmagic
//
#include < fix_fft.h >
led de int [] = {5,6,7,8,9,10,11,12};
int x = 0;
char la im [128], datos [128];
char data_avgs [14];
int i = 0, val;
#define AUDIOPIN 3
void setup()
{
para (int i = 0; i < 8; i ++)
{
pinMode (led [i], salida);
}
Serial.Begin(9600);
}
void loop()
{
para (i = 0; i < 128; i ++) {}
Val = analogRead(AUDIOPIN);
datos [i] = val;
im [i] = 0;
};
fix_fft(Data,IM,7,0);
para (i = 0; i < 64; i ++) {}
datos [i] = sqrt (datos [i] * datos [i] + im [i] * im[i]); Esto obtiene el valor absoluto de los valores de la
matriz, por lo que sólo tratamos con números positivos
};
promedio bares juntos
para (i = 0; i < 14; i ++) {}
data_avgs [i] = datos [me * 4] + datos [i * 4 + 1] + datos [me * 4 + 2] + datos [i * 4 + 3]; medio de Junta
data_avgs [i] = mapa (data_avgs [i], 0, 0, 30, 9); reasignación de valores para LoL
}
int valor = data_avgs [0]; //0 para bajo
ledArray(value);
}
void ledArray(int input)
{
//
Si (entrada > 8)
{
para (int i = 0; i < 8; i ++)
{
digitalWrite (led [i], HIGH);
}
}
else if (entrada > 7)
{
para (int i = 0; i < 7; i ++)
{
digitalWrite (led [i], HIGH);
}
para (int i = 7; i < 8; i ++)
{
digitalWrite (led [i], LOW);
}
}
else if (entrada > 6)
{
para (int i = 0; i < 6; i ++)
{
digitalWrite (led [i], HIGH);
}
para (int i = 6; i < 8; i ++)
{
digitalWrite (led [i], LOW);
}
}
else if (entrada > 5)
{
para (int i = 0; i < 5; i ++)
{
digitalWrite (led [i], HIGH);
}
para (int i = 5; i < 8; i ++)
{
digitalWrite (led [i], LOW);
}
}
else if (entrada > 4)
{
para (int i = 0; i < 4; i ++)
{
digitalWrite (led [i], HIGH);
}
para (int i = 4; i < 8; i ++)
{
digitalWrite (led [i], LOW);
}
}
else if (entrada > 3)
{
para (int i = 0; i < 3; i ++)
{
digitalWrite (led [i], HIGH);
}
para (int i = 3; i < 8; i ++)
{
digitalWrite (led [i], LOW);
}
}
else if (entrada > 2)
{
para (int i = 0; i < 2; i ++)
{
digitalWrite (led [i], HIGH);
}
para (int i = 2; i < 8; i ++)
{
digitalWrite (led [i], LOW);
}
}
else if (entrada > 1)
{
para (int i = 0; i < 1; i ++)
{
digitalWrite (led [i], HIGH);
}
para (int i = 1; i < 8; i ++)
{
digitalWrite (led [i], LOW);
}
}
otra cosa
{
para (int i = 0; i < 8; i ++)
{
digitalWrite (led [i], LOW);
}
}
}