Arduino Play (micro)music Without Shield
by ninuxi in Circuits > Arduino
3497 Views, 19 Favorites, 0 Comments
Arduino Play (micro)music Without Shield
![imminstr1.jpg](/proxy/?url=https://content.instructables.com/F7N/HDFL/I38SB0VT/F7NHDFLI38SB0VT.jpg&filename=imminstr1.jpg)
micromusic, 8 bit music, arduino music!
About
![imminstr2.jpg](/proxy/?url=https://content.instructables.com/F2L/TUPT/I38SB1RQ/F2LTUPTI38SB1RQ.jpg&filename=imminstr2.jpg)
For a project of an art collective, I made a music-playing with Arduino. Music begins with ultrasonic sensor.
Code
The code for the music you write by hand, play by ear!
My code is a little part from the Carmen of Bizet
//Antonio Mainenti http://soundobject.eu/ Credit: Melo
#define trigPin 7 // pin trig #define echoPin 6 //pin echo #define buzzer 9 // buzzer or output int variabile; //repeats 4 times the first part int freq = 294; //D int freq2 = 440; //A int freq3 = 698; //F int freq4 = 440; //A int freq5 = 294; //D int freq6 = 587; //D int freq7 = 554; //C# int freq8= 523; //C int freq9= 494; //B int freq10= 466; //A# int durata = 7000; //duration of notes int durata2 = 500; int durata3 = 70; int durata4 = 3000; int durata5 = 1000; int durata6 = 100; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(buzzer, OUTPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; for(variabile=0; variabile<4; variabile++) // repetition { if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq, durata); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq2, durata2); //tone(pin, frequency, duration) } delay(200); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq3, durata3); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq4, durata4); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq5, durata5); //tone(pin, frequency, duration) } delay(500); } //second part if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq6, durata5); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq7, durata5); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq8, durata6); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq8, durata6); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq8, durata2); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq9, durata5); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq10, durata); //tone(pin, frequency, duration) } delay(500); if (distance > 100 || distance <= 0){ Serial.println("Out of range"); noTone(buzzer); } else { Serial.print(distance); Serial.println(" cm"); tone (buzzer, freq2, durata); //tone(pin, frequency, duration) } delay(1000); }
Pin, Arduino and Sensor
![schema ultrasuoni.jpg](/proxy/?url=https://content.instructables.com/FBN/FGVE/I38SB8F1/FBNFGVEI38SB8F1.jpg&filename=schema ultrasuoni.jpg)
ultrasonic sensor:
VCC----- 5V
TRIG-----pin7
ECHO-----pin6
OUT
GND----gnd
audio out:
arduino pin9----10k resistor-----out
gnd----4,7k resistor----out
Frequencies
![Frecuencias de las notas del piano.jpg](/proxy/?url=https://content.instructables.com/FN1/OYAY/I38SB7F1/FN1OYAYI38SB7F1.jpg&filename=Frecuencias de las notas del piano.jpg)
one note, one frequency.
for example:
A4= 440
one note, one duration
Finally
![arduino carmen](/proxy/?url=https://content.instructables.com/FQP/YFVQ/I38SB7V4/FQPYFVQI38SB7V4.jpg&filename=arduino carmen)