my own design: LEDs responding light

    I wanted to make some LEDs reflect the beats of an audio. I used arduino duemilanove and programmed it on Arduino IDE (ran standard firmata) & processing (code below).

    import processing.serial.*; import ddf.minim.*; import ddf.minim.analysis.*; import cc.arduino.*; Minim minim; AudioPlayer song; BeatDetect beat; BeatListener bl; Arduino arduino; int ledPin = 12; // LED connected to digital pin 12 int ledPin2 = 8; // LED connected to digital pin 1 int ledPin3 = 2; // LED connected to digital pin 0 float kickSize, snareSize, hatSize; void setup() { size(512, 200, P3D); minim = new Minim(this); arduino = new Arduino(this, Arduino.list()[0], 57600); song = minim.loadFile("groove.mp3", 2048); song.play(); // a beat detection object that is FREQ_ENERGY mode that // expects buffers the length of song's buffer size // and samples captured at songs's sample rate beat = new BeatDetect(song.bufferSize(), song.sampleRate()); // set the sensitivity to 300 milliseconds // After a beat has been detected, the algorithm will wait for 300 milliseconds // before allowing another beat to be reported. You can use this to dampen the // algorithm if it is giving too many false-positives. The default value is 10, // which is essentially no damping. If you try to set the sensitivity to a negative value, // an error will be reported and it will be set to 10 instead. beat.setSensitivity(100); kickSize = snareSize = hatSize = 16; // make a new beat listener, so that we won't miss any buffers for the analysis bl = new BeatListener(beat, song); textFont(createFont("Helvetica", 16)); textAlign(CENTER); arduino.pinMode(ledPin, Arduino.OUTPUT); arduino.pinMode(ledPin2, Arduino.OUTPUT); arduino.pinMode(ledPin3, Arduino.OUTPUT); } void draw() { background(0); fill(255); if(beat.isKick()) { arduino.digitalWrite(ledPin, Arduino.HIGH); // set the LED on kickSize = 32; } if(beat.isSnare()) { arduino.digitalWrite(ledPin2, Arduino.HIGH); // set the LED on snareSize = 32; } if(beat.isHat()) { arduino.digitalWrite(ledPin3, Arduino.HIGH); // set the LED on hatSize = 32; } arduino.digitalWrite(ledPin, Arduino.LOW); // set the LED off arduino.digitalWrite(ledPin2, Arduino.LOW); // set the LED off arduino.digitalWrite(ledPin3, Arduino.LOW); // set the LED off textSize(kickSize); text("KICK", width/4, height/2); textSize(snareSize); text("SNARE", width/2, height/2); textSize(hatSize); text("HAT", 3*width/4, height/2); kickSize = constrain(kickSize * 0.95, 16, 32); snareSize = constrain(snareSize * 0.95, 16, 32); hatSize = constrain(hatSize * 0.95, 16, 32); } void stop() { // always close Minim audio classes when you are finished with them song.close(); // always stop Minim before exiting minim.stop(); // this closes the sketch super.stop(); }

    re-doing Neil's board:microphone input circuit

    my aim for this week is to add a microphone component into the bone conduction circuit I designed last week. First, in order to understand how microphones worked, I decided to make Neil's microphone example.

    After milling+populating the board, I have connected it to AVR isp for programming

    after flashing the board as below:

    I ran the python code to open up the input visualization

    then just played around with it by changing the amplitude and frequency of the input signal

    changin frequency

    changing amplitude