안녕하세요!
오늘은 아두이노 프로젝트에서 온도를 측정할 때 가장 많이 쓰이는 디지털 온도 센서 DS18B20에 대해 알아보겠습니다.

아두이노 키트를 열어보면 똑같이 생긴 부품이 여러 개라 당황하신 적 있으시죠?
저도 처음엔 트랜지스터인 줄 알았답니다.
오늘 그 구별법부터 정밀한 온도 측정 방법까지 완벽하게 정리해 드릴게요!

1. 외형 및 구별법
DS18B20은 'TO-92'라는 규격을 사용하여 트랜지스터(C509Y, C1959 등)나 아날로그 온도 센서(TMP36)와 똑같이 생겼습니다.

확인 방법:
부품의 평평한 면을 밝은 곳에서 자세히 보세요.
반드시 DALLAS / 18B20이라는 글자가 적혀 있어야 합니다.
TMP36은 전압으로 온도를 보내는 '아날로그' 방식이지만,
DS18B20은 데이터를 직접 주고받는 '디지털' 방식이라 훨씬 정확합니다.
2. DS18B20의 핵심 특징: OneWire
이 센서의 가장 큰 매력은 OneWire(원와이어) 통신을 한다는 점입니다.
전원선을 제외하고 단 하나의 데이터 선(DQ)만으로 아두이노와 대화합니다.
그리고 센서마다 사람의 주민등록번호 같은 고유 ID가 있어, 아두이노 핀 하나에 여러 개의 센서를 병렬로 연결해 각각의 온도를 읽을 수 있습니다.

정밀도는 ±0.5°C의 오차 범위를 가지며, 0.0625°C 단위까지 읽어내는 괴물 같은 성능을 자랑합니다.
|
특성
|
TMP36
|
DHT11
|
DHT22
|
DS18B20
|
|
방식
|
아날로그(전압)
|
디지털(데이터)
|
디지털(데이터)
|
디지털(1-Wire)
|
|
온도 오차
|
±1°C ~ ±2°C
|
±2°C
|
±0.5°C
|
±0.5°C
|
|
온도 범위
|
-40~150°C
|
0~50°C
|
-40~80°C
|
-55~125°C
|
|
해상도
|
낮음 (Vref 의존)
|
1°C 단위
|
0.1°C 단위
|
0.0625°C 단위
|
|
측정 항목
|
온도 전용
|
온도 + 습도
|
온도 + 습도
|
온도 전용
|
3. 회로 연결하기 (풀업 저항 필수!)
DS18B20을 연결할 때 가장 많이 하는 실수가 바로 저항을 빼먹는 것입니다.
핀 배치 (평평한 면 기준):
왼쪽: GND (접지)
가운데: DQ (데이터 - 아두이노 디지털 4번)
오른쪽: VDD (전원 - 아두이노 5V)
2번(데이터)과 3번(5V) 사이에 4.7kΩ 저항을 꼭 연결해 주세요.
이 저항이 있어야 신호가 안정적으로 전달됩니다!
4. 아두이노 소스 코드
코드를 작성하기 전, 라이브러리 관리자에서 OneWire와 DallasTemperature 설치해 주세요.
5. 마치며
DS18B20은 정확도가 높고 데이터가 안정적이어서 실내 온도계는 물론, 방수 튜브를 씌워 어항 온도계를 만드는 데도 최고입니다. 만약 시리얼 모니터에 -127이라는 숫자가 뜬다면? 당황하지 마시고 4.7kΩ 저항이 잘 꽂혀 있는지 다시 한번 확인해 보세요!

마이크로비트 하고 비교해 봤는데요.
1도 차이가 나네요
#아두이노 #arduino #DS18B20 #초정밀온도센서 #온도센서
'컴퓨터' 카테고리의 다른 글
| Arduino [강의 4강] 7세그먼트(7-Segment Display) (0) | 2025.12.20 |
|---|---|
| ARDUINO [강의 3강] 피에조 부저 (Piezo Buzzer) (0) | 2025.12.18 |
| ARDUINO [강의 2강] 택트 스위치 (0) | 2025.12.16 |
| ARDUINO [강의 1강] 빛의 시작: LED와 LED 모듈 완전 정복 (0) | 2025.12.14 |
| 라즈베리파이 5로 배우는 AI 인공지능 자율주행 자동차 (1) | 2024.07.08 |