주차 센서: 거리
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;
}초당 약 열 번 측정하세요. 센서는 핑을 보낸 뒤 잠깐 쉬어야 합니다. 그렇지 않으면 이전 핑의 늦은 에코를 새 에코로 받아들일 수 있습니다.
챌린지
쉬움센서의 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 동안 기다립니다
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
프로젝트의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드