- 준비물
- 초음파 센서 1개
- piezo 스피커 1개 - 코드
- 영상
- 알게된 점
- delay를 통해 출력시간을 조절한다는 생각은 안해봤는데 신선하군.
//초음파센서 trig, echo핀 설정 const int distTrigPin = 2; const int distEchoPin = 3; const int piezoPin = 8; void setup() { pinMode(distTrigPin, OUTPUT); pinMode(distEchoPin, INPUT); } void loop() { //거리 측정 digitalWrite(distTrigPin, HIGH); delayMicroseconds(10); digitalWrite(distTrigPin, LOW); long duration = pulseIn(distEchoPin, HIGH); if (duration == 0) { return; } long distance = duration / 58.2; output1(distance); //delay를 통해 출력 시간 조절 // output2(distance); //그냥 if문 사용해서 조절 } void output1(long distance) { tone(piezoPin, 1000, 20); delay(20); noTone(piezoPin); //거리에 따라 piezo 스피커 출력 시간을 조절하기 위함 delay(2 * distance); } void output2(long distance) { if (distance < 10) { tone(piezoPin, 1000, 20); delay(40); } else if(distance < 20) { tone(piezoPin, 1000, 100); delay(200); } else if(distance < 20) { tone(piezoPin, 1000, 200); delay(400); } noTone(piezoPin); }
<영상1. delay를 통한 출력시간 조절>
<영상2. if문을 통한 출력시간 조절>
'프로그래밍 > Arduino' 카테고리의 다른 글
거리 값을 LCD에 표시하기 (0) | 2017.04.17 |
---|---|
주위 밝기 값을 LCD에 표시하기 (0) | 2017.04.17 |
거리에 따른 3색 LED 색 변경 (0) | 2017.04.14 |
주위 밝기에 따라 piezo 스피커 음 변경 (0) | 2017.04.13 |
주위 밝기에 따라 LED 빛 바꾸기 (0) | 2017.04.13 |