int trig = 2; // trig에 2를 대입
int echo = 3; // echo에 3을 대입
void setup() {
Serial.begin(9600); // 시리얼통신 시작, 통신속도는 9600
pinMode(trig, OUTPUT); // trig(2)핀을 출력모드로 설정
pinMode(echo, INPUT); // echo(3)핀을 입력모드로 설정
}
void loop() {
digitalWrite(trig, HIGH); //trig핀에 HIGH신호를 출력
delayMicroseconds(10); // 10마이크로초 동안 대기
digitalWrite(trig, LOW); // trig 핀에 LOW(0V)신호를 출력
int distance = pulseIn(echo, HIGH) * 34 / 2 / 1000;
Serial.print(distance); // distance를 시리얼 모니터에 출력
Serial.println("cm"); // 문자열 cm을 시리얼 모니터에 출력
delay(100);
}
int trig = 2; // trig에 2를 대입
int echo = 3; // echo에 3을 대입
void setup() {
Serial.begin(9600); // 시리얼통신 시작, 통신속도는 9600
pinMode(trig, OUTPUT); // trig(2)핀을 출력모드로 설정
pinMode(echo, INPUT); // echo(3)핀을 입력모드로 설정
pinMode(5, OUTPUT);
}
void loop() {
digitalWrite(trig, HIGH); //trig핀에 HIGH신호를 출력
delayMicroseconds(10); // 10마이크로초 동안 대기
digitalWrite(trig, LOW); // trig 핀에 LOW(0V)신호를 출력
int distance = pulseIn(echo, HIGH) * 34 / 2 / 1000;
if(distance <5){
tone(5, 1046.6); //도
delay(200); noTone(5); delay(200);
}else if(distance <15){
tone(5, 1174.6); //레
delay(200); noTone(5); delay(200);
}else if(distance <25){
tone(5, 1318.5); //미
delay(200); noTone(5); delay(200);
}else if(distance <35){
tone(5, 1397.0); //파
delay(200); noTone(5); delay(200);
}else if(distance <45){
tone(5, 1568.0); //솔
delay(200); noTone(5); delay(200);
}else if(distance <55){
tone(5, 1760); //라
delay(200); noTone(5); delay(200);
}else if(distance <65){
tone(5, 1975.5); //시
delay(200); noTone(5); delay(200);
}else if(distance <75){
tone(5, 2093.0); //도
delay(200); noTone(5); delay(200);
}else{
noTone(5); delay(200);
}
Serial.print(distance); // distance를 시리얼 모니터에 출력
Serial.println("cm"); // 문자열 cm을 시리얼 모니터에 출력
delay(100);
}
void setup() {
pinMode(5, OUTPUT); // 5번핀을 출력모드로 설정
}
void loop() {
tone(5, 1046.5); //도
delay(200); noTone(5); delay(200);
tone(5, 1244.5); //레
delay(200); noTone(5); delay(200);
tone(5, 1318.5); //미
delay(200); noTone(5); delay(200);
tone(5, 1397.0); //파
delay(200); noTone(5); delay(200);
}