Paso 3: código
int analogPin = 0; se conecta a la salida de la MSGEQ7, mide el valor de tensión para cada banda de frecuencia (0V-5V)
int strobePin = 2; conecta con el Pin de Strobe de los MSGEQ7, controla al multiplexor y así cambia entre las bandas de frecuencia
int resetPin = 3; se conecta al Pin de Reset de la MSGEQ7, controla al multiplexor y permite que se reinicie con la banda de frecuencia más baja
int LEDPlataforma = 9; se conecta a la compuerta de los MOSFET BUZ11 del LED rojo (bajo) y crea una señal PWM con un ciclo de deber variable que depende del valor máximo de las frecuencias bajas para controlar el brillo del LED rojo
LEDUFO int = 10; se conecta a la puerta de los MOSFET BUZ11 del LED verde (medio) y crea una señal PWM con un ciclo de deber variable que depende del valor máximo de las frecuencias medias para controlar el brillo del LED verde
int ledblue = 11; se conecta a la puerta de los MOSFET BUZ11 del LED azul (alto) y crea una señal PWM con un ciclo de deber variable que depende del valor máximo de las frecuencias altas para controlar el brillo de lo LED azul int spectrumValue [7]; Variable entera para almacenar los valores de 10 bit de las bandas de frecuencia
filtro int = 80; Siempre habrá algunos ruidos que recibirá el analogpin. Con este valor de filtro podemos pasar por alto los picos muy bajos de la salida de la MSGEQ7. Para ajustar este valor a tu gusto no dudes
void setup() {}
Serial.Begin(9600); necesarios para generar los valores de las bandas de frecuencias en el monitor serie pinMode (analogPin, entrada); define pin analógico A0 como entrada
pinMode (strobePin, salida); define el pin de strobe 2 como salida
pinMode (resetPin, salida); restablecer el pin 3 se define como salida
pinMode (LEDPlataforma, salida); LEDPlataforma pin 9 se define como salida
pinMode (ledblue, salida); ledblue pin 10 se define como salida
pinMode (LEDUFO, salida); LEDUFO pin 11 se define como salida
digitalWrite (resetPin, bajo);
digitalWrite (strobePin, HIGH); }
void loop() {}
digitalWrite (resetPin, HIGH);
digitalWrite (resetPin, bajo); cambiar de alto a bajo se inicia la salida de la mutliplexer desde el principio para (int i = 0; i < 7; i ++) {//for bucle pasa por este ciclo 7 veces para obtener los valores para cada frecuencia banda digitalWrite (strobePin, LOW); //puts pin de strobe bajo la banda de frecuencia de salida
delayMicroseconds(30); esperar hasta que puede medirse el valor de salida de MSGEQ7 spectrumValue[i]=analogRead(analogPin) (vea el diagrama de la distribución en la hoja de datos); poner valor DC analógico en el spectrumValue variable if (spectrumValue [i]