/* Numbering I use for my snowflake: 1 6 2 5 3 4 Connect sound sensor (KY-037) to Arduino... DO -> for digital output (ignore this) + -> 5V G -> GND A0 -> A0 for analog output The analog value changes IN BOTH directions when sound is detected. Keeping the analog value around 500 seems to maximize the effect of sound on analog value. "Loosening" the potentiometer screw (turning CCW) makes it less sensitive. That is, the analog value goes UP. Note that the analog value barely changes when sound is detected. Mine is much more sensitive to slightly blowing across the microphone than to very loud noises. It is quite sensitive to clapping! (c) 2018 Bradley Knockel */ // set the pin numbers! int const pin1 = 2; int const pin2 = 4; int const pin3 = 5; int const pin4 = 7; int const pin5 = 8; int const pin6 = 11; int const sensorPin = 0; // set analog pin to be A0 // set the volume thresholds int const t1 = 2; // at least 2! int const t2 = 4; int const t3 = 6; int const t4 = 8; int val1; int val2; void setup() { pinMode(pin1, OUTPUT); pinMode(pin2, OUTPUT); pinMode(pin3, OUTPUT); pinMode(pin4, OUTPUT); pinMode(pin5, OUTPUT); pinMode(pin6, OUTPUT); Serial.begin(9600); val2 = analogRead(sensorPin); } void loop(){ val1 = val2; val2 = analogRead(sensorPin); //Serial.println(val2); if ( abs(val1-val2) >= t4 ) { digitalWrite(pin1, HIGH); digitalWrite(pin6, HIGH); digitalWrite(pin2, HIGH); digitalWrite(pin5, HIGH); digitalWrite(pin3, HIGH); digitalWrite(pin4, HIGH); } else if ( abs(val1-val2) >= t3) { digitalWrite(pin1, LOW); digitalWrite(pin6, HIGH); digitalWrite(pin2, HIGH); digitalWrite(pin5, HIGH); digitalWrite(pin3, HIGH); digitalWrite(pin4, HIGH); } else if ( abs(val1-val2) >= t2) { digitalWrite(pin1, LOW); digitalWrite(pin6, LOW); digitalWrite(pin2, LOW); digitalWrite(pin5, HIGH); digitalWrite(pin3, HIGH); digitalWrite(pin4, HIGH); } else if ( abs(val1-val2) >= t1) { digitalWrite(pin1, LOW); digitalWrite(pin6, LOW); digitalWrite(pin2, LOW); digitalWrite(pin5, LOW); digitalWrite(pin3, LOW); digitalWrite(pin4, HIGH); } else { digitalWrite(pin1, LOW); digitalWrite(pin6, LOW); digitalWrite(pin2, LOW); digitalWrite(pin5, LOW); digitalWrite(pin3, LOW); digitalWrite(pin4, LOW); } }