초음파 센서와 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. 코드 업로드 및 테스트
- 아두이노 IDE에 코드를 입력하고 업로드
- 초음파 센서 앞에 물체를 두고 LED 패턴의 변화 확인
9. 응용 업그레이드
- RGB LED를 사용하여 거리에 따른 색상 변경
- 여러 개의 LED를 사용하여 복잡한 패턴 구현
- 물체의 움직임에 따라 동적으로 패턴 변경
10. 전문용어 및 설명
- HC-SR04: 초음파를 이용한 거리 측정 센서
11. 기타
초음파 센서의 측정 범위와 정확도는 환경에 따라 달라질 수 있으므로, 여러 조건에서 테스트하는 것이 좋습니다.
'아두이노' 카테고리의 다른 글
가변 저항기와 부저로 소리 높이 및 주파수 조절 (0) | 2023.12.02 |
---|---|
버튼과 조도 센서를 사용하여 LCD 화면 스크롤링 (0) | 2023.12.02 |
조도 센서와 가변 저항기로 LCD 밝기 및 색상 조절 (0) | 2023.12.02 |
온도 센서와 초음파 센서를 결합하여 환경 데이터 수집 (0) | 2023.12.02 |
버튼과 LCD 화면을 사용하여 텍스트 입력 및 표시 (0) | 2023.12.02 |