Menu
CoddyTech

주차 센서: 거리

Coddy Arduino 여정의 프로젝트 섹션에 포함된 레슨. 24개 중 9번째.

자동차에는 벽 쪽으로 후진할수록 더 빠르게 삐삐 소리를 내는 주차 센서가 있습니다. 이 프로젝트에서는 거리 센서, 경고등 세 개, 버저와 화면을 이미 모두 연결해 하나 만들어 봅니다. 첫 단계는 측정입니다.

디스플레이와 센서에서처럼 TRIG에 10마이크로초 펄스를 보내 핑을 전송하면, pulseIn(echoPin, HIGH)는 ECHO가 HIGH 상태로 유지된 시간을 마이크로초 단위로 반환합니다. 소리는 1센티미터를 갔다가 돌아오는 데 약 58마이크로초가 걸리므로, 거리는 이 시간을 58로 나눈 값입니다(duration * 0.034 / 2와 같습니다). 이 모든 작업을 하나의 함수에 넣으세요:

long readDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  return duration / 58;
}

초당 약 열 번 측정하세요. 센서는 핑을 보낸 뒤 잠깐 쉬어야 합니다. 그렇지 않으면 이전 핑의 늦은 에코를 새 에코로 받아들일 수 있습니다.

challenge icon

챌린지

쉬움

센서의 TRIG는 9번 핀에, ECHO는 10번 핀에 연결되어 있습니다:

  • readDistance() 작성: 트리거 펄스, pulseIn(), 시간을 58로 나눈 값
  • loop()에서 Serial.println()으로 100ms마다 거리를 출력합니다

Run을 누르고 센서의 거리를 드래그한 다음 Check를 누르세요.

직접 해보기

// 거리 센서
const int trigPin = 9;
const int echoPin = 10;

// 핑 신호를 보내고 거리를 cm 단위로 반환합니다.
long readDistance() {

}

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  // 거리를 출력한 다음 100 ms 동안 기다립니다

}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

프로젝트의 모든 레슨

직접 연습해 보세요: Arduino 플레이그라운드