Menu
CoddyTech

주차 센서: 조명

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

주차할 때 숫자를 읽는 사람은 없습니다. 세 개의 LED는 거리를 색으로 나타냅니다. 길이 뚫려 있으면 핀 6의 초록색, 가까워지고 있으면 핀 7의 노란색, 멈춰야 하면 핀 13의 빨간색입니다.

세 가지 거리 범위에 LED는 각각 정확히 하나씩입니다. if / else if / else 체인이 적합합니다. 분기 중 하나만 실행되기 때문입니다.

if (cm >= 100) {
  // 초록색
} else if (cm >= 30) {
  // 노란색: 30부터 99까지
} else {
  // 빨간색: 30 미만
}

두 번째 조건에 cm < 100을 명시할 필요는 없습니다. else는 첫 번째 조건이 거짓이었다는 뜻이므로, 거리는 이미 100 미만입니다.

신호등에서처럼 하나를 켜기 전에 세 LED를 모두 끄세요. 그렇지 않으면 빨간색이 켜질 때 노란색도 계속 켜져 있습니다.

challenge icon

챌린지

쉬움

거리를 색상으로 표시하세요:

  • 핀 6, 7, 13을 출력으로 설정하세요
  • 100 cm 이상: 초록색만
  • 30~99 cm: 노란색만
  • 30 cm 미만: 빨간색만

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

직접 해보기

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

// 핑을 보내고 거리를 cm 단위로 반환합니다.
long readDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  return duration / 58;
}

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

void loop() {
  long cm = readDistance();
  Serial.println(cm);
  delay(100);
}
quiz icon실력 점검

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

프로젝트의 모든 레슨

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