본문 바로가기

아두이노

레이더 만들기 : 초음파센서를 서보모터를 이용하여 움직인 레이다 제작.

반응형

이론 소개:

  • 레이더는 주변 환경을 스캔하여 물체의 위치와 거리를 감지하는 장치입니다. 이 프로젝트에서는 초음파 센서와 서보 모터를 사용하여 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): 초음파가 물체에 반사되고 돌아오는 데 걸리는 시간을 의미하며, 거리 측정에 사용됩니다.

 

반응형