에코 시간에서 센티미터로
Coddy Arduino 여정의 디스플레이와 센서 섹션에 포함된 레슨. 24개 중 19번째.
소리는 마이크로초마다 약 0.034센티미터 이동합니다. 반향 시간을 여기에 곱하면 소리가 이동한 거리를 알 수 있습니다.
하지만 소리는 물체에 갔다가 돌아왔으므로, 물체까지의 거리는 그 거리의 절반입니다:
float cm = duration * 0.034 / 2;1미터 거리에서는 반향에 약 5800마이크로초가 걸립니다. 5800에 0.034를 곱하면 왕복 거리는 197cm이므로, 물체까지는 98.6cm입니다. 0.034는 소수점을 포함해 적으세요. 그러면 계산 결과에도 소수점 아래 자릿수가 유지됩니다.
1~2센티미터 정도의 오차를 예상하세요. 공기 온도에 따라 소리의 속도가 달라지고, 이 센서는 실제보다 조금 짧은 거리를 측정합니다.
챌린지
쉬움스케치는 에코 시간을 출력합니다. 대신 거리를 출력하세요:
- 시간을 센티미터로 변환합니다: 0.034를 곱한 다음 2로 나눕니다
- 시간 대신 센티미터를 출력합니다
실행을 누르고 물체를 움직인 다음 확인을 누르세요.
직접 해보기
const int trigPin = 9;
const int echoPin = 10;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
// 에코 시간을 센티미터로 변환하고 그 값을 출력한다
Serial.println(duration);
delay(200);
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
디스플레이와 센서의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드