Arduino spela (mikro) musik utan sköld (2 / 5 steg)
Steg 2: kod
Koden för den musik du skriver för hand, spela på gehör!
Min kod är en liten del från Carmen av Bizet
Antonio Mainenti http://soundobject.eu/ kredit: Melo
#define trigPin 7 / / pin trig
#define echoPin 6 //pin eko
#define summern 9 / / buzzer eller utdata
int variabile; upprepas 4 gånger den första delen
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 och Bull. C#
int freq8 = 523; C
int freq9 = 494; B
int freq10 = 466; A #
int durata = 7000; varaktighet av anteckningar
int durata2 = 500.
int durata3 = 70.
int durata4 = 3000;
int durata5 = 1000;
int durata6 = 100;
void setup() {
Serial.BEGIN (9600);
pinMode (trigPin, produktionen);
pinMode (echoPin, ingång);
pinMode (Summer, produktionen);
}
void loop() {
lång varaktighet, avstånd;
digitalWrite (trigPin, låg);
delayMicroseconds(2);
digitalWrite (trigPin, hög);
delayMicroseconds(10);
digitalWrite (trigPin, låg);
längd = pulseIn (echoPin, hög);
avståndet = (längd/2) / 29,1;
för (variabile = 0; variabile < 4; variabile ++)
upprepning
{
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq, durata);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq2, durata2);
tonen (pin, frekvens, varaktighet)
}
Delay(200);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq3, durata3);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq4, durata4);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq5, durata5);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
}
andra delen
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq6, durata5);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq7, durata5);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq8, durata6);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq8, durata6);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq8, durata2);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq9, durata5);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq10, durata);
tonen (pin, frekvens, varaktighet)
}
Delay(500);
om (avstånd > 100 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonar (Summer, freq2, durata);
tonen (pin, frekvens, varaktighet)
}
Delay(1000);
}