// EPOCH PROJECT#16: "PLOTTING AUDIO WAVEFORMS" // IN THIS PROJECT WE'LL MEASURE LEVEL OF SOUND DETECTED BY THE MICROPHONE. WE'LL PRINT THE DATA TO BOTH THE SERIAL MONITOR AND DATA PLOTTER // CONNECTIONS: // PLACE A JUMPER ON THE MICROPHONE JUMPER. THIS WILL SHORT THE "MIC" MICROPHONE OUTPUT TO THE "A0(A)" A0 LINE ON CHIP-A int sound = 0; // WE'LL STORE OUR SOUND SAMPLING DATA IN THIS INTEGER void setup() { Serial.begin(9600); // INITIALIZE THE SERIAL MONITOR/PLOTTER } void loop() { sound = analogRead(0); // TAKE A SAMPLE FROM THE MICROPHONE AND PLACE IT IN sound Serial.println(sound); // PRINT THE SAMPLE DATA TO THE SERIAL MONITOR AND SKIP TO THE NEXT LINE (HENCE THE ln AT THE END OF THE PRINT COMMAND) // delay(10); // THIS DELAY IS COMMENTED OUT FOR NOW. READ THE NOTES BELOW. } // THAT'S IT! LOAD THE PROGRAM, AND OPEN THE SERIAL MONITOR OR PLOTTER // NOTES // WHEN YOU OPEN THE SERIAL MONITOR, YOU'LL SEE THE DATA PRINT OVER AND OVER AGAIN. WHEN THERE'S NO NOISE, YOU'LL SEE VALUES BETWEEN 0 AND 20 (CLOSE TO 0V). START MAKING NOISE, AND YOU'LL SEE THESE NUMBERS JUMP // NOW OPEN THE PLOTTER AND DO THE SAME THING. YOU'LL SEE A PRIMITIVE VIEW OF WHAT THE SOUND WAVEFORM LOOKS LIKE. NOICE THAT THE SCALE IS ALWAYS CHANGING DEPENDING ON HOW MUCH NOISE IS BEING PICKED UP // TRY COMMENTING THE 10ms DELAY BACK IN AND WATCH HOW THE SERIAL PLOTTER RESPONSE. TRY MAKING THE DELAY EVEN LONGER. REMEMBER, YOU'LL LEARN MORE BY EXPERIMENTING!