(Created page with " * Test_ change a sound (octave) depends on distance_ 01.12.2021 arduino code reference : https://youtu.be/TcQfqZPUP58") |
No edit summary |
||
Line 1: | Line 1: | ||
// 초음파센서와 피에조 스피커. 거리에 따라 (4cm마다) 도레미파솔라시도(4 옥타브) 소리내기. | |||
int melody[28] = 131,147,165,175,196,220,247,// 도레미파솔라시 | |||
262,294,330,349,392,440,494,// 도레미파솔라시 | |||
523,587,659,698,784,881,988,// 도레미파솔라시 | |||
1047,1175,1319,1397,1568,1760,1976,// 도레미파솔라시 }; | |||
int TRIG = 3, ECHO = 4, speaker = 7; | |||
void setup() { | |||
Serial.begin(9600); | |||
pinMode(TRIG,OUTPUT); | |||
pinMode(ECHO,INPUT); | |||
pinMode(speaker, OUTPUT); } | |||
void loop() { | |||
float distance, duration; | |||
digitalWrite(TRIG, HIGH); | |||
delayMicroseconds(1); | |||
digitalWrite(TRIG,LOW); | |||
duration = pulseIn(ECHO,HIGH); | |||
distance = ((float)(duration*340)/10000)/2; | |||
Serial.println(distance); | |||
int i; | |||
if (distance <= ) { | |||
i=map(distance,0,32,0,7); | |||
tone (speaker, melody[i], 250); | |||
delay (300); | |||
} | |||
else { | |||
noTone(speaker); | |||
} | |||
} |
Latest revision as of 11:10, 1 December 2021
// 초음파센서와 피에조 스피커. 거리에 따라 (4cm마다) 도레미파솔라시도(4 옥타브) 소리내기.
int melody[28] = 131,147,165,175,196,220,247,// 도레미파솔라시
262,294,330,349,392,440,494,// 도레미파솔라시
523,587,659,698,784,881,988,// 도레미파솔라시
1047,1175,1319,1397,1568,1760,1976,// 도레미파솔라시 };
int TRIG = 3, ECHO = 4, speaker = 7;
void setup() {
Serial.begin(9600);
pinMode(TRIG,OUTPUT);
pinMode(ECHO,INPUT);
pinMode(speaker, OUTPUT); }
void loop() {
float distance, duration;
digitalWrite(TRIG, HIGH);
delayMicroseconds(1);
digitalWrite(TRIG,LOW);
duration = pulseIn(ECHO,HIGH);
distance = ((float)(duration*340)/10000)/2;
Serial.println(distance);
int i;
if (distance <= ) {
i=map(distance,0,32,0,7);
tone (speaker, melody[i], 250);
delay (300);
}
else {
noTone(speaker);
}
}