Arduino kontrollerad LED musik ljusshow av Mark (4 / 5 steg)
Steg 4: kod
*** Initierar Spectrum Shield stiften och läsningen frekvensen från SparkFun *** \\
https://learn.Sparkfun.com/tutorials/Spectrum-Shi...
Mark
#define STROBE 4
#define återställa 6
#define DC_One A0
#define DC_Two A1
#define LED_LIGHT_TREBLE 9
#define LED_LIGHT_MID 8
#define LED_LIGHT_BASS 7
int LEDLights [] = {7,8,9}.
int frequenciesOne [7].
int frequenciesTwo [7].
void setup() {
Serial.BEGIN(9600);
pinMode (STROBE, OUTPUT);
pinMode (RESET, OUTPUT);
pinMode (DC_One, indata);
pinMode (DC_Two, indata);
digitalWrite (STROBE, hög);
digitalWrite (RESET, hög);
pinMode (LED_LIGHT_TREBLE, OUTPUT);
pinMode (LED_LIGHT_MID, OUTPUT);
pinMode (LED_LIGHT_BASS, OUTPUT);
digitalWrite (STROBE, låg); Delay(1);
digitalWrite (RESET, hög); Delay(1);
digitalWrite (STROBE, hög); Delay(1);
digitalWrite (STROBE, låg); Delay(1);
digitalWrite (RESET, låg);
}
denna funktion gör LED dim när Parallax ljud effekt sensorn en 1 signal och sedan tillbaka till sin //original ljusstyrka.
void loop() {
Read_Frequencies();
Graph_Frequencies();
Delay(50);
}
/ *** Dra frquencies från Spectrum sköld *** /
void Read_Frequencies() {
Läs frekvenser för varje band
för (int freqAmp = 0; freqAmp < 7; freqAmp ++) {
frequenciesOne [freqAmp] = analogRead(DC_One);
frequenciesTwo [freqAmp] = analogRead(DC_Two);
digitalWrite (STROBE, hög);
digitalWrite (STROBE, låg);
}
}
void Graph_Frequencies() {
int theDelay = 20;
int bassThreshold = 150;
int midThreshold = 200.
int trebleThreshold = 200.
för (int jag = 0; jag < 7; i ++) {
om (jag == 0) {
om (frequenciesTwo [i] > bassThreshold) {
digitalWrite (LEDLights [0], hög);
} else om (frequenciesOne [i] > bassThreshold) {
digitalWrite (LEDLights [0], hög);
} annat {
digitalWrite (LEDLights [0], låg);
}
Delay(theDelay);
digitalWrite (LEDLights [0], låg);
}
om (jag == 3) {
om (frequenciesTwo [i] > midThreshold) {
digitalWrite (LEDLights [1], hög);
} else om (frequenciesOne [i] > midThreshold) {
digitalWrite (LEDLights [1], hög);
} annat {
digitalWrite (LEDLights [1], låg);
}
Delay(theDelay);
digitalWrite (LEDLights [1], låg);
}
om (jag == 6) {
om (frequenciesTwo [i] > trebleThreshold) {
digitalWrite (LEDLights [2], hög);
} else om (frequenciesOne [i] > trebleThreshold) {
digitalWrite (LEDLights [2], hög);
} annat {
digitalWrite (LEDLights [2], låg);
}
Delay(theDelay);
digitalWrite (LEDLights [2], låg);
}
}
}