아두이노:온습도센서: 두 판 사이의 차이
보이기
잔글 →연결 |
잔글 →연결 |
||
| (같은 사용자의 중간 판 7개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
{{아두이노}} | {{아두이노}} | ||
== 온도와 습도를 측정하기 위한 센서 == | == 개요 == | ||
온도와 습도를 측정하기 위한 센서 | |||
=== 구입 시 유의사항 === | |||
* 정품과 클론 가격 차이가 큰데... 제대로 된 실험을 하려면 비싸더라도 정품을 쓰는 게...(클론은 보정이나 테스트를 안하고 파는 듯;;) | |||
=사용법= | =사용법= | ||
==연결== | ==연결== | ||
| 13번째 줄: | 18번째 줄: | ||
|많이들 쓰는 건데... 온도 분해능이 1도라 권장하진 못하겠다. | |많이들 쓰는 건데... 온도 분해능이 1도라 권장하진 못하겠다. | ||
* 온도 사양 : 분해능 1℃ / 정확도 ±2℃ / 측정 범위 0~50℃ | * 온도 사양: 분해능 1℃ / 정확도 ±2℃ / 측정 범위 0~50℃ | ||
* 습도 사양: 분해능 1%RH / 정확도 ±5%RH(0~50℃) / 측정범위 20~90% RH (25℃) | * 습도 사양: 분해능 1%RH / 정확도 ±5%RH(0~50℃) / 측정범위 20~90% RH (25℃) | ||
핀이 4개인데, 실제론 3개만 쓰인다.(아마 설계 후 결국 폐기되었거나, 다른 공정을 그대로 사용하느라 4핀이 된듯) | |||
|[https://cafe.naver.com/mechawiki/40 링크] | |[https://cafe.naver.com/mechawiki/40 링크] | ||
|- | |- | ||
|DHT22 | |DHT22 | ||
|DHT11보다 2배는 비싸지만 이걸 권장하고 싶다. | |DHT11보다 2배는 비싸지만 이걸 권장하고 싶다.(흰색이며 DHT11보다 조금 큼.) | ||
핀이 4개인데, 실제론 3개만 쓰인다.(아마 설계 후 결국 폐기되었거나, 다른 공정을 그대로 사용하느라 4핀이 된듯) | |||
* 정확성: ±2%RH, ±0.5℃ | * 정확성: ±2%RH, ±0.5℃ | ||
* 측정 범위: 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++"> | |https://www.mfgrobots.com/article/uploadfiles/202207/2022073015534633.jpg | ||
#include "DHT.h" | |||
* 핀이 3개인 센서는 폴업저항이 달려 나온 것이라 별다른 조치가 필요 없지만, | |||
#define DHTPIN 2 | * 핀이 4개인 센서는 오리지널로, 풀업저항(Data로 들어가는 신호를 정확하게 1로 유지해주기 위해. 없으면 floating으로 )이 필요. | ||
#define DHTTYPE DHT22 | |- | ||
|BME280 | |||
| | |||
| | |||
|- | |||
|SHT31 | |||
|가성비 좋은 정밀센서. | |||
| | |||
|} | |||
==코드== | |||
=== DHT11 === | |||
위 연결 페이지 참고. | |||
=== DHT22 === | |||
DHT sensor library를 설치한 후 작동된다. DHT sensor library 1.4.6 에서 작동 확인함.<syntaxhighlight lang="c++" line="1">#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> | ||
==해볼 만한 과제== | ==해볼 만한 과제== | ||
싱기버스에 관련 모델들이 많이 있긴 하다. https://www.thingiverse.com/search?q=DHT22&page=1 | |||
*과학적 원리에 대해 조사 발표. | *과학적 원리에 대해 조사 발표. | ||
*위 코드를 해석, 발표. | *위 코드를 해석, 발표. | ||
*이것으로 할 수 있는 활동은 어떤 것들이 있을까? | *이것으로 할 수 있는 활동은 어떤 것들이 있을까? | ||
2026년 1월 12일 (월) 08:54 기준 최신판
아두이노 관련 정보를 모으기 위한 틀. 틀:아두이노
- 아두이노:개요
- 아두이노:하드웨어
- 아두이노:코드
- 아두이노:핀 사용
- 아두이노:시리얼 통신
- 아두이노:편의함수
- 센서 사용
- 아두이노:LCD 사용
- 아두이노:스위치 사용
- 아두이노:릴레이
- 통신 관련, 정보 교환
- 아두이노:해결되지 않은 다양한 의문들
- 수업용 간단 실습
- 아두이노 모터 출력
- 미완문서
- 아두이노:스테핑 모터(미완)
- 분류:아두이노 프로젝트
온도와 습도를 측정하기 위한 센서
- 정품과 클론 가격 차이가 큰데... 제대로 된 실험을 하려면 비싸더라도 정품을 쓰는 게...(클론은 보정이나 테스트를 안하고 파는 듯;;)
| 종류 | 설명 | 연결예시 |
|---|---|---|
| DHT11 | 많이들 쓰는 건데... 온도 분해능이 1도라 권장하진 못하겠다.
핀이 4개인데, 실제론 3개만 쓰인다.(아마 설계 후 결국 폐기되었거나, 다른 공정을 그대로 사용하느라 4핀이 된듯) |
링크 |
| DHT22 | DHT11보다 2배는 비싸지만 이걸 권장하고 싶다.(흰색이며 DHT11보다 조금 큼.)
핀이 4개인데, 실제론 3개만 쓰인다.(아마 설계 후 결국 폐기되었거나, 다른 공정을 그대로 사용하느라 4핀이 된듯)
|
|
| BME280 | ||
| SHT31 | 가성비 좋은 정밀센서. |
위 연결 페이지 참고.
DHT sensor library를 설치한 후 작동된다. DHT sensor library 1.4.6 에서 작동 확인함.
#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");
}
싱기버스에 관련 모델들이 많이 있긴 하다. https://www.thingiverse.com/search?q=DHT22&page=1
- 과학적 원리에 대해 조사 발표.
- 위 코드를 해석, 발표.
- 이것으로 할 수 있는 활동은 어떤 것들이 있을까?