본문 바로가기

아두이노

조도 센서와 초음파 센서를 사용한 환경 모니터링 및 경고

반응형

조도 센서와 초음파 센서를 사용한 환경 모니터링 및 경고 시스템을 아두이노를 이용해 구축하는 프로젝트에 대해 설명하겠습니다. 이 시스템은 조도 센서를 사용하여 주변 환경의 밝기를 측정하고, 초음파 센서로 주변 물체와의 거리를 측정합니다. 이 데이터를 바탕으로 특정 조건이 충족될 때 경고 신호(예: LED 점등, 부저 소리)를 발생시킬 수 있습니다.

1. 이론 소개

  • 조도 센서(LDR): 주변의 빛 강도에 따라 저항이 변하는 센서입니다.
  • 초음파 센서(HC-SR04 등): 초음파를 이용해 물체와의 거리를 측정합니다.
  • 경고 신호: LED 또는 부저를 이용하여 시각적이나 청각적 경고를 제공할 수 있습니다.

2. 준비물

  • 아두이노 보드 (Uno, Mega 등)
  • 조도 센서 (LDR)
  • 초음파 센서 (HC-SR04)
  • LED (또는 RGB LED)
  • 부저
  • 점퍼 와이어
  • 브레드보드
  • 저항 (10kΩ)

3. 비슷한 센서 모델

  • TEMT6000: 더 정밀한 조도 측정이 가능한 센서
  • Parallax Ping)))™: 초음파 센서의 대안으로 더 정밀한 측정이 가능

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

  • 아두이노 Uno: 다용도로 사용하기 좋고 초보자에게 친숙
  • 아두이노 Mega: 더 많은 I/O 핀을 제공, 복잡한 프로젝트에 적합

5. 회로 구성

  • 조도 센서의 한 쪽 핀을 아두이노의 아날로그 핀에 연결, 다른 쪽 핀은 저항을 통해 GND에 연결
  • 초음파 센서의 Trig와 Echo 핀을 아두이노의 디지털 핀에 연결
  • LED와 부저를 아두이노의 디지털 핀에 연결

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

 

#define LDR_PIN A0 // LDR 핀
#define TRIG_PIN 9 // 초음파 센서 Trig 핀
#define ECHO_PIN 10 // Echo 핀
#define LED_PIN 13 // LED 핀
#define BUZZER_PIN 8 // 부저 핀

void setup() {
  pinMode(LDR_PIN, INPUT);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
}

void loop() {
  int ldrStatus = analogRead(LDR_PIN); // 조도 값 읽기
  long duration, distance;
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  duration = pulseIn(ECHO_PIN, HIGH);
  distance = (duration/2) / 29.1; // 거리 계산

  if (ldrStatus < 300 && distance < 20) { // 어두운 환경에서 물체 감지 시
    digitalWrite(LED_PIN, HIGH); // LED 켜기
    tone(BUZZER_PIN, 1000); // 부저 소리
    delay(1000); // 1초 동안 유지
    noTone(BUZZER_PIN); // 부저 끄기
  } else {
    digitalWrite(LED_PIN, LOW); // LED 끄기
  }
}

 

7. 코딩 내용 설명

이 코드는 조도 센서와 초음파 센서를 사용하여 환경 데이터를 수집합니다. 주변이 어두울 때(조도 값이 낮을 때)와 물체가 가까이 있을 때(특정 거리 이내) 경고 신호로 LED를 켜고 부저를 울립니다.

8. 코드 업로드 및 테스트

  1. 아두이노 IDE에 코드를 입력하고 업로드
  2. 조도 센서와 초음파 센서의 동작 확인
  3. 어두운 환경에서 물체를 가까이에 두어 경고 신호가 제대로 작동하는지 테스트

9. 응용 업그레이드

  • RGB LED를 사용하여 다양한 경고 색상 구현
  • 더 복잡한 경고 조건 설정
  • 데이터 로깅을 위한 추가적인 모듈 (예: SD 카드 모듈) 사용

10. 전문용어 및 설명

  • LDR (Light Dependent Resistor): 빛의 강도에 따라 저항값이 변하는 센서
  • HC-SR04: 초음파를 이용한 거리 측정 센서

11. 기타

실제 응용 환경에 따라 센서의 정확도와 반응 범위를 테스트하여 최적화하는 것이 중요합니다.

반응형