본문 바로가기

아두이노

조도 센서와 온도 센서를 사용한 환경 모니터링

반응형

1. 이론 소개:

  • 이 프로젝트에서는 조도 센서로 주변 밝기를 측정하고 온도 센서로 온도를 측정합니다.
  • 조도 센서는 주변 빛의 강도를 감지하고, 온도 센서는 주변 온도를 측정합니다.
  • 이러한 센서를 통해 환경 데이터를 수집하고 모니터링할 수 있습니다.

2. 준비물:

  • 아두이노 보드 (예: Arduino Uno)
  • 조도 센서 (예: LDR - Light Dependent Resistor)
  • 온도 센서 (예: DHT11 또는 DHT22)
  • 저항 (10k옴)
  • 점퍼 와이어 (메스-메스 및 메스-피스)
  • 브레드보드
  • USB 케이블 (아두이노 보드와 컴퓨터 연결용)

3. 비슷한 센서 모델:

  • 조도 센서와 온도 센서에는 다양한 모델이 있지만, LDR 및 DHT 시리즈는 가장 널리 사용되는 모델 중 하나입니다.

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

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

5. 회로 구성:

  • 조도 센서(LDR)와 온도 센서(DHT)를 브레드보드에 연결합니다.
  • LDR와 10k옴 저항을 사용하여 전압 분배 회로를 구성하여 LDR 값을 읽습니다.
  • 온도 센서(DHT)는 아두이노의 디지털 핀에 직접 연결합니다.

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

 

#include <DHT.h>

#define DHTPIN 2          // 온도 센서 데이터 핀
#define DHTTYPE DHT11     // 온도 센서 모델 (DHT11 또는 DHT22에 맞게 설정)
#define LDRPIN A0         // 조도 센서 연결된 아날로그 핀

DHT dht(DHTPIN, DHTTYPE); // 온도 센서를 위한 DHT 라이브러리 초기화

void setup() {
  Serial.begin(9600);     // 시리얼 통신 시작
  dht.begin();            // 온도 센서 초기화
}

void loop() {
  delay(2000);            // 2초 대기
  float humidity = dht.readHumidity(); // 습도 읽기
  float temperature = dht.readTemperature(); // 온도 읽기 (섭씨)
  int lightLevel = analogRead(LDRPIN); // 조도 레벨 읽기

  // 데이터 출력
  Serial.print("습도: ");
  Serial.print(humidity);
  Serial.print("%\t");
  Serial.print("온도: ");
  Serial.print(temperature);
  Serial.println("°C");
  Serial.print("조도 레벨: ");
  Serial.println(lightLevel);
}

 

7. 코딩 내용 설명:

  • DHT 라이브러리를 사용하여 온도 센서를 초기화하고 습도와 온도 값을 읽습니다.
  • 아날로그 핀 A0를 사용하여 조도 센서의 레벨을 읽습니다.
  • 시리얼 모니터를 통해 온도, 습도 및 조도 레벨을 출력합니다.

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

  • 아두이노 보드를 컴퓨터에 연결하고 위의 코드를 아두이노 IDE에 복사하여 업로드합니다.
  • 시리얼 모니터를 열고 온도, 습도 및 조도 레벨을 확인합니다.

9. 응용 업그레이드:

  • LCD 디스플레이를 추가하여 데이터를 화면에 표시할 수 있습니다.
  • 데이터를 SD 카드에 기록하여 장기간 데이터 기록을 수행할 수 있습니다.

10. 전문용어 설명:

- DHT 센서: 디지털 신호를 사용하여 온도와 습도를 측정하는 센서.

- LDR (Light Dependent Resistor): 주변 빛의 강도에 따라 저항이 변하는 센서.

- 브레드보드: 전자 부품을 연결하고 프로토타입을 만들기 위한 보드.

- 아날로그 핀: 아날로그 값을 입력 및 출력하는 아두이노 핀.

 

11. 기타: - 센서의 정확도 및 업데이트 속도는 센서 모델에 따라 다를 수 있습니다. - 온도를 화씨로 변환하려면 코드를 수정해야 합니다.

반응형