ESP32 마이크로파이썬 온도 센서 LCD

이 튜토리얼은 ESP32와 MicroPython 코드를 사용하여 DS18B20 온도 센서에서 온도를 읽어 LCD I2C 디스플레이에 표시하는 방법을 안내합니다.

ESP32 마이크로파이썬 온도 센서 lcd i2c

준비물

1×ESP32 ESP-WROOM-32 개발 모듈 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×LCD I2C 쿠팡 | 아마존
1×DS18B20 온도 센서 (어댑터 포함) 쿠팡 | 아마존
1×DS18B20 온도 센서(어댑터 없음) 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

온도 센서 및 LCD에 대하여

DS18B20 온도 센서, LCD I2C 또는 ESP32용 MicroPython 프로그래밍을 처음 접하신다면, 이 튜토리얼들을 참고하시길 추천드립니다:

이 튜토리얼은 DS18B20 온도 센서와 LCD에 대한 포괄적인 이해, 이 구성요소들을 ESP32에 연결하는 방법, 그리고 MicroPython 코드를 사용하여 이들의 동작을 효과적으로 제어하는 방법을 제공합니다.

선연결

  • 브레드보드를 사용하여 온도 센서와 LCD를 ESP32에 연결하는 방법
ESP32 마이크로파이썬 온도 센서 lcd 배선 다이어그램

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP32를 온도 센서 및 lcd와 연결하는 방법

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP32 마이크로파이썬 코드

/* * 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-temperature-sensor-lcd */ import machine import onewire import ds18x20 import time from machine import I2C, Pin from DIYables_MicroPython_LCD_I2C import LCD_I2C ds_pin = machine.Pin(23) # The ESP32 pin GPIO23 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() if not sensor_addresses: raise Exception("No DS18B20 sensor found!") sensor_address = sensor_addresses[0] print('Found DS18B20 sensor with address: ', sensor_address) # The I2C address of your LCD (Update if different) I2C_ADDR = 0x27 # Use the address found using the I2C scanner # Define the number of rows and columns on your LCD LCD_ROWS = 2 LCD_COLS = 16 # Initialize I2C i2c = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000) # Initialize LCD lcd = LCD_I2C(i2c, I2C_ADDR, LCD_ROWS, LCD_COLS) # Setup function lcd.backlight_on() lcd.clear() # Custom character for the degree symbol degree_char = chr(0xDF) # Main loop to read and print the temperature every second while True: DS18B20.convert_temp() time.sleep_ms(750) temperature = DS18B20.read_temp(sensor_address) print('Temperature: {:.2f} °C'.format(temperature)) lcd.clear() lcd.set_cursor(0, 0) # Move to the beginning of the first row lcd.print("Temp: {:.2f}{}C".format(temperature, degree_char)) time.sleep(1)

※ 주의:

제조사에 따라 LCD의 I2C 주소가 다를 수 있습니다. 우리의 예제에서는 제조업체 DIYables이 지정한 주소 0x27을 사용했습니다.

자세한 사용 방법

다음은 Thonny IDE를 사용하여 ESP32에서 MicroPython 코드를 설정하고 실행하는 방법에 대한 지침입니다:

  • 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하십시오.
  • ESP32 보드에 MicroPython 펌웨어가 로드되어 있는지 확인하십시오.
  • MicroPython을 사용하는 ESP32를 처음 사용하는 경우 단계별 지침을 위해 ESP32 마이크로파이썬 - 시작하기 가이드를 확인하십시오.
  • 제공된 다이어그램에 따라 ESP32 보드를 DS18B20 온도 센서와 LCD I2C에 연결하십시오.
  • USB 케이블을 사용하여 ESP32 보드를 컴퓨터에 연결하십시오.
  • 컴퓨터에서 Thonny IDE를 열십시오.
  • Thonny IDE에서 도구 옵션으로 이동하십시오.
  • 인터프리터 탭에서 드롭다운 메뉴에서 MicroPython (ESP32)를 선택하십시오.
  • 올바른 포트가 선택되어 있는지 확인하십시오. Thonny IDE는 대개 자동으로 감지하지만, 수동으로 선택해야 할 수도 있습니다 (예: Windows에서는 COM12, Linux에서는 /dev/ttyACM0).
  • Thonny IDE에서 도구 패키지 관리로 이동하십시오.
  • “DIYables-MicroPython-LCD-I2C”를 검색한 후 DIYables에서 생성한 LCD I2C 라이브러리를 찾으십시오.
  • DIYables-MicroPython-LCD-I2C를 클릭한 후, LCD I2C 라이브러리를 설치하려면 Install 버튼을 클릭하십시오.
ESP32 마이크로파이썬 lcd i2c 라이브러리
  • 제공된 MicroPython 코드를 복사하여 Thonny 에디터에 붙여넣습니다.
  • 코드를 ESP32에 저장하는 방법:
    • Save 버튼을 클릭하거나 Ctrl+S를 누릅니다.
    • 저장 대화상자에서 MicroPython device를 선택합니다.
    • 파일 이름을 main.py로 지정합니다.
  • 스크립트를 실행하려면 초록색 Run 버튼(또는 F5)을 클릭합니다.
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: 26.07 °C Temperature: 26.11 °C Temperature: 26.11 °C Temperature: 26.24 °C Temperature: 27.44 °C Temperature: 29.10 °C Temperature: 29.86 °C Temperature: 30.24 °C Temperature: 30.39 °C
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡
  • 센서를 뜨거운 물이나 찬물에 담그거나 손에 들고 사용하세요.
  • LCD 화면에 표시된 내용을 확인하세요.

LCD 화면이 비어 있다면, 도움을 받으시려면 Troubleshooting for LCD I2C를 방문해 주세요.

코드 설명

소스 코드의 주석을 확인하여 각 줄의 설명을 참조하세요!

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.