Limetime's TimeLine
article thumbnail
반응형

초음파 센서란?

- 초음파를 발생시킨 후 그 초음파가 물체에 부딪혀서 돌아오는 시간을 계산하여 물체와의 거리를 알아내는 센서이다.

- 초음파를 발생시키는 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이면 파란불이 들어온다.

 

 

 

 

반응형
profile

Limetime's TimeLine

@Limetime

포스팅이 좋았다면 "공감❤️" 또는 "구독👍🏻" 해주세요!