아두이노:온습도센서: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
잔글 (→연결) |
잔글 (→연결) |
||
24번째 줄: | 24번째 줄: | ||
* 측정 범위: 0~99.9%RH, -40~80℃ | * 측정 범위: 0~99.9%RH, -40~80℃ | ||
* 반복 정밀도: ±0.1%RH, ±0.1℃ | * 반복 정밀도: ±0.1%RH, ±0.1℃ | ||
|<syntaxhighlight lang="c++"> | |라이브러리에서 DHT sensor library를 설치한 후 작동된다.<syntaxhighlight lang="c++" line="1"> | ||
#include "DHT.h" | #include "DHT.h" | ||
#define DHTPIN 2 // DHT 센서의 데이터 핀을 연결한 아두이노 핀 번호 | |||
#define DHTTYPE DHT22 // DHT22 센서를 사용 | |||
DHT dht(DHTPIN, DHTTYPE); | DHT dht(DHTPIN, DHTTYPE); | ||
void setup() { | void setup() { | ||
Serial.begin(9600); | Serial.begin(9600); | ||
dht.begin(); | dht.begin(); | ||
} | } | ||
void loop() { | void loop() { | ||
delay(2000); // 센서 읽기 간격을 2초로 설정 | |||
delay( | |||
float h = dht.readHumidity(); | float h = dht.readHumidity(); | ||
float t = dht.readTemperature(); | float t = dht.readTemperature(); | ||
float f = dht.readTemperature(true); // 화씨 온도 읽기 | |||
if (isnan(h) || isnan(t)) { | if (isnan(h) || isnan(t) || isnan(f)) { | ||
Serial.println(" | Serial.println("센서에서 데이터를 읽을 수 없습니다!"); | ||
return; | return; | ||
} | } | ||
Serial.print(" | Serial.print("습도: "); | ||
Serial.print(h); | Serial.print(h); | ||
Serial.print(" %t"); | Serial.print(" %\t"); | ||
Serial.print(" | Serial.print("온도: "); | ||
Serial.print(t); | Serial.print(t); | ||
Serial. | Serial.print(" *C "); | ||
Serial.print(f); | |||
Serial.println(" *F"); | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
2024년 7월 23일 (화) 14:36 판
아두이노 관련 정보를 모으기 위한 틀. 틀:아두이노
- 아두이노:개요
- 아두이노:하드웨어
- 아두이노:코드
- 아두이노:핀 사용
- 아두이노:시리얼 통신
- 아두이노:편의함수
- 센서 사용
- 아두이노:LCD 사용
- 아두이노:스위치 사용
- 아두이노:릴레이
- 아두이노:WIFI
- 아두이노:해결되지 않은 다양한 의문들
- 수업용 간단 실습
- 분류:아두이노 프로젝트
온도와 습도를 측정하기 위한 센서
사용법
연결
종류 | 설명 | 연결예시 |
---|---|---|
DHT11 | 많이들 쓰는 건데... 온도 분해능이 1도라 권장하진 못하겠다.
|
링크 |
DHT22 | DHT11보다 2배는 비싸지만 이걸 권장하고 싶다.
아두이노용으로 3핀으로 납땜하여 나오는 걸 사면 사용이 편하다.
|
라이브러리에서 DHT sensor library를 설치한 후 작동된다.#include "DHT.h"
#define DHTPIN 2 // DHT 센서의 데이터 핀을 연결한 아두이노 핀 번호
#define DHTTYPE DHT22 // DHT22 센서를 사용
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(2000); // 센서 읽기 간격을 2초로 설정
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true); // 화씨 온도 읽기
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("센서에서 데이터를 읽을 수 없습니다!");
return;
}
Serial.print("습도: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("온도: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.println(" *F");
}
|
코드
코드는 위 링크 참고하자.
해볼 만한 과제
- 과학적 원리에 대해 조사 발표.
- 위 코드를 해석, 발표.
- 이것으로 할 수 있는 활동은 어떤 것들이 있을까?