ESP32 마이크로파이썬 온도 센서
이 가이드는 ESP32와 MicroPython을 사용하여 DS18B20 1-wire 온도 센서를 사용하는 방법을 안내합니다. 다음 내용을 다룹니다:
- DS18B20 온도 센서를 ESP32에 연결하는 방법.
- 어댑터를 사용하여 DS18B20 온도 센서를 ESP32에 연결하는 방법.
- ESP32용 MicroPython 코드를 작성하여 DS18B20 센서의 온도를 읽는 방법.

준비물
1 | × | ESP32 ESP-WROOM-32 개발 모듈 | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
1 | × | DS18B20 온도 센서 (어댑터 포함) | 쿠팡 | 아마존 | |
1 | × | DS18B20 온도 센서(어댑터 없음) | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 전원 분배기 | 쿠팡 | 아마존 |
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.
원 와이어 온도 센서 DS18B20 소개
핀아웃
DS18B20 온도 센서에는 세 개의 핀이 있습니다.
- GND 핀: GND(0 볼트)에 연결합니다.
- VCC 핀: VCC(5 볼트 또는 3.3 볼트)에 연결합니다.
- DATA 핀: 1-Wire 데이터를 위해 사용됩니다. ESP32의 디지털 핀에 연결하세요.
DS18B20 온도 센서에는 두 가지 주요 유형이 있습니다: 트랜지스터처럼 생긴 TO-92 패키지와 방수 프로브입니다. 이 가이드는 방수 프로브 사용에 중점을 둘 것입니다.

DS18B20 온도 센서를 ESP32에 연결하려면 일반적으로 풀업 저항이 필요하며, 이를 구현하는 것이 복잡할 수 있습니다. 다행히도 일부 제조업체에서는 풀업 저항과 나사 단자 블록이 포함된 배선 어댑터를 제공하여 설치 과정을 단순화해 줍니다.
선연결
- ESP32와 DS18B20 온도 센서를 브레드보드를 사용하여 연결하는 방법

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- breadboard 및 어댑터를 사용하여 ESP32와 DS18B20 온도 센서를 연결하는 방법

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 나사 단자 블록 브레이크아웃 보드와 어댑터를 사용하여 ESP32와 온도 센서를 연결하는 방법

배선 어댑터가 포함된 DS18B20 센서를 구입할 것을 제안합니다. 이 어댑터에는 이미 저항이 내장되어 있어 별도의 저항 없이도 센서를 쉽게 연결할 수 있습니다.
ESP32 마이크로파이썬 코드
/*
* 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다
* 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-temperature-sensor
*/
import machine
import onewire
import ds18x20
import time
ds_pin = machine.Pin(17) # The ESP32 pin GPIO17 connected to the DS18B20 sensor
# Create the onewire object
OneWire = onewire.OneWire(ds_pin)
# Create the DS18X20 object
DS18B20 = ds18x20.DS18X20(OneWire)
# Scan for devices on the bus
sensor_addresses = OneWire.scan()
print('Found DS18B20 devices: ', sensor_addresses)
# Main loop to read and print the temperature every second
while True:
DS18B20.convert_temp()
time.sleep_ms(750)
for address in sensor_addresses:
temperature = DS18B20.read_temp(address)
print('Temperature: {:.2f} °C'.format(temperature))
time.sleep(1)
자세한 사용 방법
다음은 Thonny IDE를 사용하여 ESP32에서 MicroPython 코드를 설정하고 실행하는 방법에 대한 지침입니다:
- 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하세요.
- ESP32 보드에 MicroPython 펌웨어가 로드되어 있는지 확인하세요.
- MicroPython을 사용하는 ESP32를 처음 사용한다면, 단계별 안내를 위한 ESP32 마이크로파이썬 - 시작하기 가이드를 확인하세요.
- DS18B20 1-wire 온도 센서를 ESP32에 연결하기 위해 주어진 다이어그램을 따라하세요.
- USB 케이블을 사용하여 ESP32 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 Thonny IDE를 실행하세요.
- Thonny IDE에서 Tools Options으로 이동하세요.
- Interpreter 탭에서 드롭다운 메뉴에서 MicroPython (ESP32)를 선택하세요.
- 올바른 포트가 선택되어 있는지 확인하세요. Thonny IDE는 보통 자동으로 감지하지만, 수동으로 선택해야 할 수도 있습니다(Windows에서는 COM12, Linux에서는 /dev/ttyACM0와 같이).
- 제공된 MicroPython 코드를 복사하여 Thonny의 편집기에 붙여넣으세요.
- 코드를 ESP32에 저장하려면:
- Save 버튼을 클릭하거나 Ctrl+S를 누르세요.
- 저장 대화 상자에서 MicroPython device를 선택하세요.
- 파일 이름을 main.py로 지정하세요.
- 녹색 Run 버튼(또는 F5 키)을 클릭하여 스크립트를 실행하세요.
- 센서를 뜨거운 물과 차가운 물에 넣거나 손에 쥐어 보세요.
- Thonny 하단의 Shell에 표시되는 메시지를 확인하세요.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot
MPY: soft reboot
Found DS18B20 sensor with address: bytearray(b'(\xffP\x05.\x04\x00\x07')
Temperature: 24.00 °C
Temperature: 24.31 °C
Temperature: 25.44 °C
Temperature: 26.63 °C
Temperature: 27.50 °C
Temperature: 28.06 °C
Temperature: 28.56 °C
Temperature: 29.06 °C
Temperature: 29.25 °C
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.