반응형
초음파 센서란?
- 초음파를 발생시킨 후 그 초음파가 물체에 부딪혀서 돌아오는 시간을 계산하여 물체와의 거리를 알아내는 센서이다.
- 초음파를 발생시키는 TRIG 핀과 다시 돌아온 초음파를 받아들이는 ECHO 핀으로 구성되어 있다.
이를 이용해 물체와의 거리에 따라 삼원색 LED 불빛을 조절해 신호를 주는 시스템을 만들어보자!
#define TRIG 3
#define ECHO 2
#define RED 11
#define GREEN 10
#define BLUE 9
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
float distance = pulseIn(ECHO, HIGH) / 58.2;
Serial.print("distance : ");
Serial.println(distance);
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
if(distance < 10){
digitalWrite(RED, HIGH);
}else if(distance < 20){
digitalWrite(GREEN, HIGH);
}else if(distance < 30){
digitalWrite(BLUE, HIGH);
}
delay(100);
}
- TRIG를 끄고 2 / 1,000,000초를 기다렸다가, TRIG를 켜고 10 / 1,000,000초를 기다렸다가 TRIG를 끈다.
- pulseIn()은 반사된 초음파의 시간을 계산해주는 함수이고, 58.2를 나눔으로써 cm단위로 거리를 계산한다.
- 거리가 10 미만이면 빨간불, 10 ~ 20이면 초록불, 20 ~ 30이면 파란불이 들어온다.
반응형