Светомузыка на основе преобразования Фурье.
Описание
Программа ардуино для светомузыки.
#define LOG_OUT 1
#define FFT_N 128
#include
#define MIC_PIN A0
#define RED_LED 2
#define BLUE_LED 3
#define GREEN_LED 4
#define YELLOW_LED 5
#define FREQ_LOW_FFT 20
#define FREQ_MIDDLE_FFT 30
#define FREQ_HIGH_FFT 60
#define FREQ_LOW_LEVEL 38
#define FREQ_MIDDLE_LEVEL 18
#define FREQ_HIGH_LEVEL 15
void setup()
{
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
pinMode(GREEN_LED , OUTPUT);
pinMode(YELLOW_LED, OUTPUT);
}
void loop()
{
for (int i = 0 ; i ﹤ FFT_N; i++) {
int sample = analogRead(MIC_PIN) - 511;
if(sample ﹤ 5 && sample ﹥ -5) {
sample = 0;
}
fft_input[i++] = sample;
fft_input[i] = 0;
}
fft_window();
fft_reorder();
fft_run();
fft_mag_log();
if (fft_log_out[FREQ_LOW_FFT] ﹥ FREQ_LOW_LEVEL) {
digitalWrite(RED_LED, HIGH);
} else {
digitalWrite(RED_LED, LOW);
}
if (fft_log_out[FREQ_MIDDLE_FFT] ﹥ FREQ_MIDDLE_LEVEL) { digitalWrite(GREEN_LED, HIGH);
digitalWrite(YELLOW_LED, LOW);
} else {
digitalWrite(GREEN_LED, LOW);
digitalWrite(YELLOW_LED, HIGH);
}
if (fft_log_out[FREQ_HIGH_FFT] ﹥ FREQ_HIGH_LEVEL) {
digitalWrite(BLUE_LED, HIGH);
} else {
digitalWrite(BLUE_LED, LOW);
}
}
Автор

Похожие видео

25-06-2025

Ремонт магнитной стойки.

В разборе Авиационный блок КЗСП

Автоматическая роботизированная сварка

Поездка в СПБ, завод Балтика_2

Процессы разработки Cabal Premium Glass

Сварка черной стали, труба - HUGONG EXTREMIG 200 LCD
