[ 아두이노 초음파 센서 사용하기 소스 ] > 자유게시판

본문 바로가기

자유게시판

[ 아두이노 초음파 센서 사용하기 소스 ]

페이지 정보

작성자 최고관리자 작성일 20-06-24 00:58 조회 919 댓글 0

본문

#define trig 8    // 트리거 핀 선언
#define echo 9      // 에코 핀 선언

void setup()
{
  Serial.begin(9600);      // 통신속도 9600bps로 시리얼 통신 시작
  pinMode(trig, OUTPUT);    // 트리거 핀 출력으로 선언
  pinMode(echo, INPUT);    // 에코 핀 입력으로 선언
}
void loop()
{
  long duration, distance;    // 거리 측정을 위한 변수 선언
  // 트리거 핀으로 10us 동안 펄스 출력
  digitalWrite(trig, LOW);        // Trig 핀 Low
  delayMicroseconds(2);            // 2us 딜레이
  digitalWrite(trig, HIGH);    // Trig 핀 High
  delayMicroseconds(10);            // 10us 딜레이
  digitalWrite(trig, LOW);        // Trig 핀 Low
  duration = pulseIn(echo, HIGH); 
  distance = duration * 170 / 10000;
  Serial.print("거리: ");
  Serial.print(distance); // 거리를 시리얼 모니터에 출력
  Serial.println("cm");
  delay(100);
}


==============================================================================
에코핀에서 받은 펄스 값을 pulseIn함수를 호출하여
펄스가 입력될 때까지의 시간을 us단위로 duration에 저장
pulseln() 함수는 핀에서 펄스(HIGH or LOW)를 읽어서 마이크로초 단위로 반환
==============================================================================
음파의 속도가 초당 340m이고 왕복이므로 1초당 170m / 0.001초당  0.17m, 1/17000당 1cm
==============================================================================

댓글목록 0

등록된 댓글이 없습니다.

Copyright © 소유하신 도메인. All rights reserved.