아두이노, 초음파 센서 예제 2
글. 오상문 sualchi@daum.net
초음파센서 TRIG 핀은 아두이노 디지털 4번에 연결
초음파센서 ECHO 핀은 아두이누 디지털 3번에 연결
초음파센서 양극은 POWER 5V에 연결
초음파센서 음극은 GND에 연결
피에조 부저(스피커) 양극은 디지털 9번 핀
피에조 부저 음극(양극 반대쪽)은 GND 핀에 연결
[참고] 예제에 사용한 부저는 수동 부저입니다. (부저에는 능동 부저와 수동 부저가 있어요.)
/*
초음파 센서 참고 예제
초음파 TRIG 핀은 아두이노 디지털 4번에 연결
초음파 ECHO 핀은 아두이누 디지털 3번에 연결
초음파 양극은 POWER 5V에 연결
초음파 음극은 GND에 연결
피에조 부저(스피커) 양극은 디지털 9번 핀에 연결하고 반대쪽은 GND에 연결
*/
/*
초음파 센서 예제
*/
#define TRIG 4
#define ECHO 3
#define BUZ 9
unsigned long distance = 0;
void setup() {
Serial.begin(9600);
pinMode(BUZ, OUTPUT); // 피에조 부저 출력 설정
pinMode(TRIG, OUTPUT); // 초음파 출력 설정
pinMode(ECHO, INPUT); // 초음파 입력 설정
}
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
distance = pulseIn(ECHO, HIGH) / 29 / 2; // cm 단위로 변경
Serial.println( distance );
if (distance < 10) // 10cm보다 가까우면...
tone(BUZ, 330, 200); // 330Hz(미), 시간 0.2초
else if (distance < 20) // 20cm보다 가까우면...
tone(BUZ, 294, 200); // 294Hz(레)
else if (distance < 30) // 30cm보다 가까우면...
tone(BUZ, 262, 200); // 262Hz(도)
delay(300);
}
<이상>
'아두이노, 라즈베리파이' 카테고리의 다른 글
아두이노 회로 배치 디자인 프로그램 Fritzing(프리칭) 다운로드 (0) | 2018.06.28 |
---|---|
아두이노, 피에조 부저(스피커) 다루기 (0) | 2018.06.27 |
아두이노, 초음파 센서 예제 (0) | 2018.06.27 |
아두이노, 빨강 노랑 파랑 LED를 이용한 신호등 예제 (0) | 2018.06.26 |
아두이노, LED 색에 따른 적정 저항 (0) | 2018.06.26 |