먼저, IR 센서와 초음파 센서를 사용하여 물체 감지 및 위치 추적을 위한 아두이노 프로젝트에 대한 세부 정보를 제공하겠습니다. 각 파트별로 순차적으로 설명하겠습니다.
1. 이론 소개:
- IR (Infrared) 센서: 적외선을 사용하여 물체의 존재를 감지하는 센서입니다.
- 초음파 센서: 초음파를 발사하고 반사되는 초음파를 측정하여 물체의 거리를 계산하는 센서입니다.
- 위치 추적: IR 센서와 초음파 센서를 사용하여 물체의 위치를 추적하고 표시합니다.
2. 준비물:
- Arduino 보드 (예: Arduino Uno)
- IR 센서 모듈 (예: TCRT5000 또는 비슷한 모델)
- 초음파 센서 (예: HC-SR04 또는 비슷한 모델)
- 서보 모터 (예: SG90 또는 비슷한 모델)
- 점퍼 와이어
- 브레드보드
- 필요한 전원 공급 장치 (Arduino 및 서보 모터를 위한)
3. 비슷한 센서 모델명:
- TCRT5000, TCRT1000, GP2Y0A21YK (IR 센서)
- HC-SR04, JSN-SR04T (초음파 센서)
4. 추천 보드 및 간단한 설명:
- Arduino Uno: 다양한 센서와 모듈을 연결하기에 적합한 개발 보드입니다.
5. 회로 구성:
회로 구성은 다음과 같습니다.
- IR 센서의 VCC 핀을 Arduino의 5V 핀에 연결합니다.
- IR 센서의 GND 핀을 Arduino의 GND 핀에 연결합니다.
- IR 센서의 출력 핀을 Arduino의 디지털 핀 2에 연결합니다.
- 초음파 센서의 VCC 핀을 Arduino의 5V 핀에 연결합니다.
- 초음파 센서의 GND 핀을 Arduino의 GND 핀에 연결합니다.
- 초음파 센서의 TRIG 핀을 Arduino의 디지털 핀 7에 연결합니다.
- 초음파 센서의 ECHO 핀을 Arduino의 디지털 핀 8에 연결합니다.
- 서보 모터의 VCC 핀을 Arduino의 5V 핀에 연결합니다.
- 서보 모터의 GND 핀을 Arduino의 GND 핀에 연결합니다.
- 서보 모터의 제어 핀을 Arduino의 디지털 핀 9에 연결합니다.
6. 코딩 내용:
#include <Servo.h>
Servo servo;
int irSensorPin = 2; // IR 센서 연결 핀
int trigPin = 7; // 초음파 센서 TRIG 핀
int echoPin = 8; // 초음파 센서 ECHO 핀
long duration;
int distance;
void setup() {
servo.attach(9); // 서보 모터를 9번 핀에 연결
pinMode(irSensorPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600); // 시리얼 통신 시작
}
void loop() {
int irValue = digitalRead(irSensorPin);
if (irValue == LOW) {
// IR 센서가 물체를 감지하면 초음파 센서로 거리 측정
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.0344 / 2; // 거리 계산
// 거리에 따라 서보 모터 각도 조절
if (distance <= 10) {
servo.write(0); // 물체가 가까이 있을 때
} else if (distance <= 20) {
servo.write(90); // 물체가 중간 거리에 있을 때
} else {
servo.write(180); // 물체가 멀리 있을 때
}
} else {
servo.write(90); // IR 센서가 물체를 감지하지 않으면 서보 모터 중앙으로 돌림
}
delay(1000);
}
7. 코딩 내용 설명:
- IR 센서에서 값이 LOW로 읽히면, 초음파 센서로 거리를 측정하고 해당 거리에 따라 서보 모터를 제어합니다.
- 거리에 따라 서보 모터의 각도를 0, 90 또는 180으로 조절하여 물체의 위치를 추적합니다.
8. 코드 업로드 및 테스트:
- 코드를 아두이노 IDE에 복사하고 아두이노에 업로드합니다.
- IR 센서 앞에 손을 움직여서 물체를 감지하고 서보 모터가 물체를 추적하도록 테스트합니다.
9. 응용 업그레이드:
- 이 프로젝트를 확장하여 물체의 위치 정보를 시리얼 모니터에 출력하거나 다른 동작을 수행하도록 개선할 수 있습니다.
10. 전문용어 및 설명:
- IR 센서: 적외선을 사용하여 물체의 존재를 감지하는 센서입니다.
- 초음파 센서: 초음파를 발사하고 반사되는 초음파를 측정하여 물체의 거리를 계산하는 센서입니다.
- 서보 모터: 지정된 각도로 회전하는 모터입니다.
11. 기타:
- 이 프로젝트는 물체를 감지하고 위치를 추적하는 간단한 예제입니다. 더 복잡한 응용 프로그램을 개발할 수 있습니다.
'아두이노' 카테고리의 다른 글
IR 센서와 가스 센서를 활용한 실내 공기 질 모니터링 (0) | 2023.12.03 |
---|---|
IR 센서와 조도 센서를 사용한 어두운 곳에서 LED 조명 제어 (0) | 2023.12.03 |
IR 센서와 서보 모터를 결합한 스마트 시계 제작 (0) | 2023.12.03 |
IR 센서와 LCD 화면으로 물체 인식 및 정보 표시 (0) | 2023.12.03 |
IR 센서와 초음파 센서로 장애물 회피 로봇 제어 (0) | 2023.12.03 |