Arduino jul ljus med musik Sync
#define SENSOR_PIN A0 / / analog ingångsstift för musik
void showScenario(int);
utlösa nästa scenario när musik amplitud > tröskel
öka tröskeln för att minska känslighet
minska tröskelvärdet för att öka känslighet
int tröskel = 5;
debouncing - filtrera ut i rad utlösare som är för nära
tillsammans för att sakta ner animeringen. minska detta värde
att göra det mer känsliga för kortare beat intervall
int minBeatInterval = 1000;
int threshCrossed = 0;
int scenario = 1;
int cnt = 32768;
int tree1 = 6;
int tree2 = 7.
int tree3 = 8;
int tree4 = 9;
int tree5 = 2;
int tree6 = 3;
int tree7 = 4;
int tree8 = 5;
void setup()
{
pinMode (tree1, produktionen);
pinMode (tree2, produktionen);
pinMode (tree3, produktionen);
pinMode (tree4, produktionen);
pinMode (tree5, produktionen);
pinMode (tree6, produktionen);
pinMode (tree7, produktionen);
pinMode (tree8, produktionen);
digitalWrite(tree1,HIGH);
Delay(1000);
digitalWrite(tree2,HIGH);
Delay(1000);
digitalWrite(tree3,HIGH);
Delay(1000);
digitalWrite(tree4,HIGH);
Delay(1000);
digitalWrite(tree5,HIGH);
Delay(1000);
digitalWrite(tree6,HIGH);
Delay(1000);
digitalWrite(tree7,HIGH);
Delay(1000);
digitalWrite(tree8,HIGH);
Delay(1000);
digitalWrite(tree1,LOW);
digitalWrite(tree2,LOW);
digitalWrite(tree3,LOW);
digitalWrite(tree4,LOW);
digitalWrite(tree5,LOW);
digitalWrite(tree6,LOW);
digitalWrite(tree7,LOW);
digitalWrite(tree8,LOW);
Serial.BEGIN(9600);
}
void showScenario (int s) {
int theScenario;
theScenario = s;
om (theScenario == 1) {
digitalWrite (tree1, låg);
digitalWrite (tree8, låg);
digitalWrite (tree1, hög);
digitalWrite (tree3, hög);
}
om (theScenario == 2) {
digitalWrite (tree1, låg);
digitalWrite (tree3, låg);
digitalWrite (tree6, hög);
digitalWrite (tree8, hög);
}
om (theScenario == 3) {
digitalWrite (tree6, låg);
digitalWrite (tree8, låg);
digitalWrite (tree3, hög);
digitalWrite (tree4, hög);
}
om (theScenario == 4) {
digitalWrite (tree3, låg);
digitalWrite (tree4, låg);
digitalWrite (tree5, hög);
digitalWrite (tree6, hög);
}
om (theScenario == 5)
{digitalWrite (tree5, låg);
digitalWrite (tree6, låg);
digitalWrite (tree3, hög);
digitalWrite (tree4, hög);
}
om (theScenario == 6) {
digitalWrite (tree3, låg);
digitalWrite (tree4, låg);
digitalWrite (tree5, hög);
digitalWrite (tree6, hög);
}
om (theScenario == 7) {
digitalWrite (tree5, låg);
digitalWrite (tree6, låg);
digitalWrite (tree1, hög);
digitalWrite (tree3, hög);
}
om (theScenario == 8) {
digitalWrite (tree1, låg);
digitalWrite (tree3, låg);
digitalWrite (tree2, hög);
digitalWrite (tree4, hög);
}
om (theScenario == 9) {
digitalWrite (tree2, låg);
digitalWrite (tree4, låg);
digitalWrite (tree3, hög);
digitalWrite (tree5, hög);
}
om (theScenario == 10) {
digitalWrite (tree3, låg);
digitalWrite (tree5, låg);
digitalWrite (tree4, hög);
digitalWrite (tree6, hög);
}
om (theScenario == 11) {
digitalWrite (tree4, låg);
digitalWrite (tree6, låg);
digitalWrite (tree5, hög);
digitalWrite (tree7, hög);
}
om (theScenario == 12) {
digitalWrite (tree5, låg);
digitalWrite (tree7, låg);
digitalWrite (tree6, hög);
digitalWrite (tree8, hög);
}
om (theScenario == 13) {
digitalWrite (tree6, låg);
digitalWrite (tree8, låg);
digitalWrite (tree1, hög);
digitalWrite (tree4, hög);
}
om (theScenario == 14) {
digitalWrite (tree1, låg);
digitalWrite (tree4, låg);
digitalWrite (tree5, hög);
digitalWrite (tree8, hög);
}
om (theScenario == 15) {
digitalWrite (tree5, låg);
digitalWrite (tree8, låg);
digitalWrite (tree2, hög);
digitalWrite (tree4, hög);
}
om (theScenario == 16) {
digitalWrite (tree2, låg);
digitalWrite (tree4, låg);
digitalWrite (tree5, hög);
digitalWrite (tree7, hög);
}
om (theScenario == 17) {
digitalWrite (tree5, låg);
digitalWrite (tree7, låg);
digitalWrite (tree1, hög);
}
om (theScenario == 18) {
digitalWrite (tree1, låg);
digitalWrite (tree2, hög);
}
om (theScenario == 19) {
digitalWrite (tree2, låg);
digitalWrite (tree3, hög);
}
om (theScenario == 20) {
digitalWrite (tree3, låg);
digitalWrite (tree2, hög);
digitalWrite (tree4, hög);
}
om (theScenario == 21) {
digitalWrite (tree2, låg);
digitalWrite (tree4, låg);
digitalWrite (tree3, hög);
}
om (theScenario == 22) {
digitalWrite (tree3, låg);
digitalWrite (tree4, hög);
}
om (theScenario == 23) {
digitalWrite (tree4, låg);
digitalWrite (tree3, hög);
digitalWrite (tree5, hög);
}
om (theScenario == 24) {
digitalWrite (tree3, låg);
digitalWrite (tree5, låg);
digitalWrite (tree4, hög);
}
om (theScenario == 25) {
digitalWrite (tree4, låg);
digitalWrite (tree5, hög);
}
om (theScenario == 26) {
digitalWrite (tree5, låg);
digitalWrite (tree4, hög);
digitalWrite (tree6, hög);
}
om (theScenario == 27) {
digitalWrite (tree4, låg);
digitalWrite (tree6, låg);
digitalWrite (tree5, hög);
}
om (theScenario == 28) {
digitalWrite (tree5, låg);
digitalWrite (tree6, hög);
}
om (theScenario == 29) {
digitalWrite (tree6, låg);
digitalWrite (tree5, hög);
digitalWrite (tree7, hög);
}
om (theScenario == 30) {
digitalWrite (tree5, låg);
digitalWrite (tree7, låg);
digitalWrite (tree6, hög);
}
om (theScenario == 31) {
digitalWrite (tree6, låg);
digitalWrite (tree7, hög);
}
om (theScenario == 32) {
digitalWrite (tree7, låg);
digitalWrite (tree8, hög);
}
om (theScenario == 33) {
digitalWrite (tree8, låg);
digitalWrite (tree4, hög);
digitalWrite (tree5, hög);
}
om (theScenario == 34) {
digitalWrite (tree4, låg);
digitalWrite (tree5, låg);
digitalWrite (tree3, hög);
digitalWrite (tree6, hög);
}
om (theScenario == 35) {
digitalWrite (tree3, låg);
digitalWrite (tree6, låg);
digitalWrite (tree2, hög);
digitalWrite (tree7, hög);
}
om (theScenario == 36) {
digitalWrite (tree2, låg);
digitalWrite (tree7, låg);
digitalWrite (tree1, hög);
digitalWrite (tree8, hög);
}
om (theScenario == 37) {
digitalWrite (tree1, låg);
digitalWrite (tree8, låg);
digitalWrite (tree4, hög);
digitalWrite (tree5, hög);
}
om (theScenario == 38) {
digitalWrite (tree4, låg);
digitalWrite (tree5, låg);
digitalWrite (tree3, hög);
digitalWrite (tree6, hög);
}
om (theScenario == 39) {
digitalWrite (tree3, låg);
digitalWrite (tree6, låg);
digitalWrite (tree2, hög);
digitalWrite (tree7, hög);
}
om (theScenario == 40) {
digitalWrite (tree2, låg);
digitalWrite (tree7, låg);
digitalWrite (tree1, hög);
digitalWrite (tree8, hög);
}
} void loop() {
int sensorValue = analogRead(SENSOR_PIN);
CNT ++;
om (sensorValue > tröskel) {
om (! threshCrossed & & (cnt > minBeatInterval)) {
showScenario(scenario);
scenariot ++;
}
om (scenario > 40) {
scenariot = 1;
}
threshCrossed = 1;
CNT = 0;
}
om (sensorValue < tröskel) {
threshCrossed = 0;
}
}