이론 소개:
- 레이더는 주변 환경을 스캔하여 물체의 위치와 거리를 감지하는 장치입니다. 이 프로젝트에서는 초음파 센서와 서보 모터를 사용하여 180도 범위 내의 물체를 감지합니다.
준비물:
- 아래는 이 프로젝트를 위해 필요한 준비물입니다:
- 아두이노 보드 (예: Arduino Uno)
- 초음파 센서 (예: HC-SR04)
- 서보 모터 (예: SG90)
- 점퍼 와이어 및 브레드보드
- 전원 공급 장치 (아두이노 및 서보 모터를 제공하기 위한)
- 컴퓨터 또는 모바일 장치에 연결할 수 있는 시리얼 모니터 (시리얼 통신 디버깅을 위해)
추천보드:
- 아두이노 Uno 또는 호환 보드를 사용하는 것이 일반적입니다. 이보다 더 강력한 보드를 사용해도 됩니다.
회로 구성:
- 초음파 센서와 서보 모터를 아두이노와 연결하는 회로를 구성해야 합니다. 아래는 간단한 회로 구성입니다:
- 초음파 센서 연결:
- VCC -> 아두이노 5V
- GND -> 아두이노 GND
- Trig -> 아두이노 디지털 핀 (예: 7번 핀)
- Echo -> 아두이노 디지털 핀 (예: 6번 핀)
- 서보 모터 연결:
- VCC -> 아두이노 5V
- GND -> 아두이노 GND
- 신호 (Signal) -> 아두이노 디지털 핀 (예: 9번 핀)
코딩내용:
- 아래는 아두이노 코드 예제입니다. 이 코드는 초음파 센서를 사용하여 물체의 거리를 측정하고, 서보 모터를 사용하여 레이더를 움직입니다.
#include <Servo.h>
Servo radarServo;
const int trigPin = 7;
const int echoPin = 6;
int radarAngle = 0;
void setup() {
radarServo.attach(9);
Serial.begin(9600);
}
void loop() {
for (radarAngle = 0; radarAngle <= 180; radarAngle++) {
radarServo.write(radarAngle);
delay(15);
long duration;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
Serial.print("Angle: ");
Serial.print(radarAngle);
Serial.print(" degrees, Distance: ");
Serial.print(distance);
Serial.println(" cm");
}
for (radarAngle = 180; radarAngle >= 0; radarAngle--) {
radarServo.write(radarAngle);
delay(15);
long duration;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
Serial.print("Angle: ");
Serial.print(radarAngle);
Serial.print(" degrees, Distance: ");
Serial.print(distance);
Serial.println(" cm");
}
}
코드 업로드 및 테스트:
- 위 코드를 아두이노 IDE에 업로드하고 시리얼 모니터를 열어 결과를 확인합니다. 서보 모터가 레이더를 좌우로 움직이며 초음파 센서를 통해 거리를 측정합니다.
전문 용어 설명:
- 레이더 (Radar): 물체의 위치와 거리를 감지하고 추적하는 장치로, 주로 전파를 사용합니다.
- 초음파 센서 (Ultrasonic Sensor): 초음파를 이용하여 물체의 거리를 측정하는 센서입니다.
- 서보 모터 (Servo Motor): 정해진 각도로 움직이는 모터로, 제어가 용이하고 정확한 위치 제어가 가능합니다.
- 플라이트 타임 (Flight Time): 초음파가 물체에 반사되고 돌아오는 데 걸리는 시간을 의미하며, 거리 측정에 사용됩니다.
'아두이노' 카테고리의 다른 글
온도센서로 온도와 습도 측정 (0) | 2023.12.01 |
---|---|
자율주행 자동차 만들기: 장애물을 피해 가는 자동차. (0) | 2023.11.26 |
게임만들기: 간단한 벽돌 게임을 작동 (0) | 2023.11.26 |
인터넷 연결 및 데이터 전송: Wi-Fi 모듈을 이용하여 데이터 온라인 전송. (0) | 2023.11.26 |
데이터 로깅 시스템: 센서 데이터를 SD 카드에 기록. (0) | 2023.11.26 |