본문 바로가기

아두이노

초음파 센서와 LED로 물체 감지 시 LED 패턴 표시

반응형

초음파 센서와 LED를 사용하여 물체 감지 시 다양한 LED 패턴을 표시하는 아두이노 프로젝트를 구성하는 방법을 설명하겠습니다. 이 프로젝트에서는 초음파 센서로 물체와의 거리를 측정하고, 이에 따라 LED 패턴을 변경합니다.

1. 이론 소개

  • 초음파 센서(HC-SR04 등): 사운드 웨이브를 이용해 물체와의 거리를 측정합니다.
  • LED: 빛을 발하는 다이오드로, 다양한 색상과 패턴으로 구현할 수 있습니다.

2. 준비물

  • 아두이노 보드 (Uno, Mega 등)
  • 초음파 센서 (HC-SR04)
  • LED 여러 개 또는 RGB LED 스트립
  • 저항 (220Ω, 각 LED 핀에 하나씩)
  • 점퍼 와이어
  • 브레드보드

3. 비슷한 센서 모델

  • 다른 초음파 센서 모델 (예: Parallax Ping)))™ 센서)

4. 추천 보드 및 간단한 설명

  • 아두이노 Uno: 다양한 프로젝트에 적합하며 초보자에게 친숙
  • 아두이노 Mega: 더 많은 I/O 핀을 제공, 복잡한 프로젝트에 적합

5. 회로 구성

  • 초음파 센서의 Trig와 Echo 핀을 아두이노의 디지털 핀에 연결
  • LED의 양극을 아두이노의 디지털 핀에 연결, 음극은 저항을 통해 GND에 연결

6. 코딩 내용(주석 포함)

#define TRIG_PIN 9
#define ECHO_PIN 10
#define LED_PIN 13

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // 초음파 센서로 거리 측정
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  long duration = pulseIn(ECHO_PIN, HIGH);
  long distance = duration * 0.034 / 2;

  // 거리에 따른 LED 패턴
  if (distance < 10) {
    // 물체가 가까울 때 LED 점멸
    digitalWrite(LED_PIN, HIGH);
    delay(100);
    digitalWrite(LED_PIN, LOW);
    delay(100);
  } else if (distance < 20) {
    // 물체가 중간 거리에 있을 때 느린 점멸
    digitalWrite(LED_PIN, HIGH);
    delay(300);
    digitalWrite(LED_PIN, LOW);
    delay(300);
  } else {
    // 물체가 멀리 있을 때 LED 꺼짐
    digitalWrite(LED_PIN, LOW);
  }
}

 

7. 코딩 내용 설명

이 코드는 초음파 센서를 통해 측정된 거리에 따라 LED의 점멸 패턴을 다르게 설정합니다. 물체가 가까울수록 LED가 빠르게 점멸하고, 물체가 멀어질수록 점멸 속도가 느려집니다.

8. 코드 업로드 및 테스트

  1. 아두이노 IDE에 코드를 입력하고 업로드
  2. 초음파 센서 앞에 물체를 두고 LED 패턴의 변화 확인

9. 응용 업그레이드

  • RGB LED를 사용하여 거리에 따른 색상 변경
  • 여러 개의 LED를 사용하여 복잡한 패턴 구현
  • 물체의 움직임에 따라 동적으로 패턴 변경

10. 전문용어 및 설명

  • HC-SR04: 초음파를 이용한 거리 측정 센서

11. 기타

초음파 센서의 측정 범위와 정확도는 환경에 따라 달라질 수 있으므로, 여러 조건에서 테스트하는 것이 좋습니다.

반응형