Concept:
Our Arduino project combines an ultrasonic distance measurement sensor, a switch button, and a buzzer to create an interactive music instrument. The ultrasonic sensor, consisting of a trig pin (connected to pin 10) and an echo pin (connected to pin 11), is utilized to measure the distance between the sensor and an object. The setup initializes the pins and sets up serial communication. In the loop function, the sensor is triggered to emit ultrasonic waves, and the duration of the wave’s round trip is measured. The distance is then calculated in centimeters based on the speed of sound. Additionally, a switch button connected to analog pin A0 turns on the music when I press the switch button.
Code:
int trig = 10; int echo = 11; long duration; long distance; int force; void setup() { pinMode(echo, INPUT); pinMode(trig, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(trig, LOW); //triggers on/off and then reads data delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); duration = pulseIn(echo, HIGH); distance = (duration / 2) * .0344; //344 m/s = speed of sound. We're converting into cm int notes[7] = {261, 294, 329, 349, 392, 440, 494}; //Putting several notes in an array // mid C D E F G A B force = analogRead(A0); //defining force as FSR data if (distance < 0 || distance > 50 || force < 100) { //if not presed and not in front noTone(12); //dont play music } else if ((force > 100)) { //if pressed int sound = map(distance, 0, 50, 0, 6); //map distance to the array of notes tone(12, notes[sound]); //call a certain note depending on distance } }
Circuit:
We used this video to properly correct out codes and build the circuit:
Watch how we did it here: MusicInsturment