CODE 7.6 | 자동차 후방 감지기 만들기
| 01 | int trigPin = 4; // 초음파 센서의 Trig 핀 |
| 02 | int echoPin = 3; // 초음파 센서의 Echo 핀 |
| 03 | int buzzerPin = 2; // 피에조 부저를 연결한 디지털 핀 |
| 04 | |
| 05 | void setup() { |
| 06 | pinMode(trigPin, OUTPUT); // Trig 핀을 출력 모드로 설정 |
| 07 | pinMode(echoPin, INPUT); // Echo 핀을 입력 모드로 설정 |
| 08 | pinMode(buzzerPin, OUTPUT); // 부저 핀을 출력 모드로 설정 |
| 09 | } |
| 10 | |
| 11 | void loop() { |
| 12 | // Trig 핀으로 10마이크로초 동안 초음파 신호 발생 |
| 13 | digitalWrite(trigPin, LOW); |
| 14 | delayMicroseconds(2); |
| 15 | digitalWrite(trigPin, HIGH); |
| 16 | delayMicroseconds(10); |
| 17 | digitalWrite(trigPin, LOW); |
| 18 | |
| 19 | // Echo 핀으로 초음파가 되돌아오는 시간 측정 |
| 20 | long duration = pulseIn(echoPin, HIGH); |
| 21 | |
| 22 | // 측정된 시간을 거리(cm)로 변환 |
| 23 | long distance = duration * 0.034 / 2; |
| 24 | |
| 25 | // 거리가 15cm 이하이면 경고 작동 |
| 26 | if (distance > 0 && distance <= 15) { |
| 27 | tone(buzzerPin, 1000); // 1000Hz 소리 발생 |
| 28 | } |
| 29 | // 거리가 15cm를 초과하면 경고 중지 |
| 30 | else { |
| 31 | noTone(buzzerPin); // 소리 끄기 |
| 32 | } |
| 33 | |
| 34 | delay(100); // 0.1초 대기 후 다시 측정 |
| 35 | } |
댓글 없음:
댓글 쓰기