본문 바로가기

아두이노

초음파 센서와 LED로 물체 감지 시 LED 반응

반응형

초음파 센서와 LED를 사용하여 물체를 감지할 때 LED가 반응하는 아두이노 프로젝트를 만들어보겠습니다. 이 프로젝트에서는 초음파 센서를 사용하여 물체의 거리를 감지하고, 특정 거리 이내에 물체가 감지되면 LED가 켜질 것입니다.

1. 이론 소개:

  • 이 프로젝트에서는 초음파 센서를 사용하여 물체와의 거리를 측정하고, 특정 거리 이내에 물체가 감지되면 LED를 켜는 방법을 다룹니다.

2. 준비물:

  • 아두이노 보드 (예: Arduino Uno)
  • 초음파 센서 (HC-SR04 또는 유사한 모델)
  • LED
  • 저항 (220 옴)
  • 브레드보드
  • 점퍼 와이어 (메스-메스 및 메스-피스)
  • USB 케이블 (아두이노 보드와 컴퓨터 연결용)

3. 비슷한 모델:

  • 다양한 종류의 초음파 센서와 LED를 사용할 수 있습니다.

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

  • Arduino Uno: 초보자 및 중급자에게 적합한 아두이노 보드로 다양한 라이브러리와 예제가 있습니다.

5. 회로 구성:

  • 초음파 센서와 LED를 아두이노에 연결합니다.

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

 

const int trigPin = 9; // 초음파 센서의 트리거 핀
const int echoPin = 10; // 초음파 센서의 에코 핀
const int ledPin = 13; // LED 핀

void setup() {
  pinMode(trigPin, OUTPUT); // 트리거 핀을 출력 모드로 설정
  pinMode(echoPin, INPUT); // 에코 핀을 입력 모드로 설정
  pinMode(ledPin, OUTPUT); // LED 핀을 출력 모드로 설정
  Serial.begin(9600); // 시리얼 통신 시작
}

void loop() {
  long duration, distance;
  
  digitalWrite(trigPin, LOW); // 초음파 신호를 초기화
  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH); // 초음파 발신
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH); // 에코 핀에서 초음파 돌아오는 시간 측정
  distance = (duration / 2) / 29.1; // 거리 계산 (29.1은 초음파 속도, 단위: cm)

  Serial.print("Distance: ");
  Serial.println(distance);

  if (distance < 10) { // 물체와의 거리가 10cm 미만이면
    digitalWrite(ledPin, HIGH); // LED를 켜기
  } else {
    digitalWrite(ledPin, LOW); // 그렇지 않으면 LED 끄기
  }

  delay(1000); // 1초 대기
}

7. 코딩 내용 설명:

  • 초음파 센서로 물체와의 거리를 측정하고, 일정 거리 이내에 물체가 감지되면 LED를 켭니다.

8. 코드 업로드 및 테스트:

  • 아두이노 보드를 컴퓨터에 연결하고 위의 코드를 아두이노 IDE에 복사하여 업로드합니다.
  • 초음파 센서 앞에 물체를 가까이 가져가면 LED가 켜지는지 확인합니다.

9. 응용 업그레이드:

  • 다양한 거리에 따른 LED 동작 패턴을 추가하여 프로젝트를 확장할 수 있습니다.

10. 전문용어 설명:

- 초음파 센서 (Ultrasonic Sensor): 초음파를 사용하여 물체와의 거리를 측정하는 센서입니다.

- 트리거 핀 (Trigger Pin): 초음파 센서의 발신 신호를 제어하는 핀입니다.

- 에코 핀 (Echo Pin): 초음파 센서로부터의 에코 신호를 감지하는 핀입니다.

 

11. 기타: - 거리 측정을 위한 속도 및 계산식은 센서 모델에 따라 다를 수 있습니다.

 

반응형