To my horror I recently turned 30. The experience was sweetened significantly by some great and thoughtful gifts, one of these being an Arduino Starter Kit.
It literally took me fifteen minutes from opening the box to playing a touch sensitive musical instrument that I built using a Softpot in a resistive divider and a magnetic buzzer. I was able to reuse the code from an example that comes with the Arduino environment, just modifying the frequency range I wanted the buzzer to work in. The code from the example Arduino sketch shown below is C and uses some very user friendly libraries for Arduino specific functions.
/*
Pitch follower
Plays a pitch that changes based on a changing analog input circuit:
* 8-ohm speaker on digital pin 8
* photoresistor on analog 0 to 5V
* 4.7K resistor on analog 0 to ground
created 21 Jan 2010
by Tom Igoe
http://arduino.cc/en/Tutorial/Tone2
*/
void setup() {
// initialize serial communications (for debugging only):
Serial.begin(9600);
}
void loop() {
// read the sensor:
int sensorReading = analogRead(0);
// print the sensor reading so you know its range
Serial.println(sensorReading);
// map the pitch to the range of the analog input.
// change the minimum and maximum input numbers below
// depending on the range your sensor's giving:
int thisPitch = map(sensorReading, 0, 1000, 50, 3000);
// play the pitch:
tone(8, thisPitch, 10);
}
The open source nature of the Arduino hardware and software allows amazingly rapid realisation of a project. The hard work done by others previously can be used as customisable building blocks, which can then be shared for use as the building blocks of the next project.
We live in exciting times!