본문 바로가기
공부,일/아두이노

초음파 센서

by fromnothing1 2021. 7. 19.

void setup() {
  Serial.begin(9600);
  pinMode(2,OUTPUT); // 센서 Trig 핀
  pinMode(3,INPUT); // 센서 Echo 핀
}
void loop() {
  int duration, cm;
  digitalWrite(2,HIGH); // 센서에 Trig 신호 입력
  delayMicroseconds(10); // 10us 정도 유지
  digitalWrite(2,LOW); // Trig 신호 off
  duration = pulseIn(3, HIGH); // Echo pin: HIGH->Low 간격을 측정
  cm = microsecondsToCentimeters(duration); // 거리(cm)로 변환
  Serial.print(cm);
  Serial.println("cm");
  delay(300); // 0.3초 대기 후 다시 측정

}

  int microsecondsToCentimeters(int microseconds) {
  return microseconds / 29 / 2; 
}

 

소리는 29 us 동안 1cm 이동  때문에 시간을 29로 나누고 갔다가 돌아 오니까 2로 나눔 

우리가 trigger  에다가 10us 이상 전압을 가해주면 초음파가 발생한다.(burst) 

burst 가 끝나면 echo pin 이 high 가 되고 puse 가 돌아오면 low 가 된다. 

우리는 echo 의 high 인 구간의 시간을 측정하여서 물체와 의 거리를 예측 할 수 있다.

 

실행 모습 

'공부,일 > 아두이노' 카테고리의 다른 글

아두이노 통신  (0) 2021.07.19
조이스틱  (0) 2021.07.19
아두이노 회로 실습 (1)  (0) 2021.07.16
아두이노 회로 실습 (by fritzing )  (0) 2021.07.15
아두이노 실습환경 구축  (0) 2021.07.14

댓글