ESP8266 - 온도 센서 - LCD | ESP8266 - Temperature Sensor - LCD

이 튜토리얼은 ESP8266을 사용하여 DS18B20 센서에서 온도를 취득하고 그것을 LCD I2C에 표시하는 방법을 안내합니다.

준비물

1×ESP8266 NodeMCU Amazon
1×Micro USB Cable Amazon
1×LCD I2C 쿠팡 | Amazon
1×DS18B20 Temperature Sensor (WITH Adapter) 쿠팡 | Amazon
1×DS18B20 Temperature Sensor (WITHOUT Adapter) Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 5V Power Adapter for ESP8266 Amazon
1×(Optional) ESP8266 Screw Terminal Adapter Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

온도 센서와 LCD에 대하여

당신이 온도 센서와 LCD(핀 배치, 작동 방식, 프로그래밍 방법 등)에 익숙하지 않다면, 다음 튜토리얼들이 더 많은 정보를 제공할 수 있습니다:

선연결

ESP8266 NodeMCU Temperature Sensor LCD wiring diagram

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

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

우리는 원활한 설치를 위해 DS18B20 센서와 그에 해당하는 배선 어댑터를 함께 구매할 것을 추천합니다. 이 어댑터는 통합 저항기를 포함하고 있어, 배선에 추가 저항기가 필요 없습니다.

ESP8266 코드

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-temperature-sensor-lcd */ #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> #define SENSOR_PIN D7 // ESP8266 핀이 DS18B20 센서의 DQ 핀에 연결됨 OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C 주소 0x27 (DIYables LCD에서), 16 열과 2 행 float temperature_C; // 섭씨 온도 float temperature_F; // 화씨 온도 void setup() { DS18B20.begin(); // 센서 초기화 lcd.init(); // LCD I2C 디스플레이 초기화 lcd.backlight(); // 백라이트 켜기 } void loop() { DS18B20.requestTemperatures(); // 온도를 얻기 위한 명령 보내기 temperature_C = DS18B20.getTempCByIndex(0); // 섭씨로 온도 읽기 temperature_F = temperature_C * 9 / 5 + 32; // 섭씨를 화씨로 변환 lcd.clear(); lcd.setCursor(0, 0); // 디스플레이 위치 lcd.print(temperature_C); // 섭씨 온도 디스플레이 lcd.print((char)223); // ° 문자 디스플레이 lcd.print("C"); lcd.setCursor(0, 1); // 디스플레이 위치 lcd.print(temperature_F); // 화씨 온도 디스플레이 lcd.print((char)223); // ° 문자 디스플레이 lcd.print("F"); delay(500); }

※ NOTE THAT:

제조사에 따라 LCD의 주소가 다를 수 있습니다. 우리 코드에서는 DIYables에서 명시한 대로 0x27을 사용했습니다.

사용 방법

아두이노 IDE에서 ESP8266을 시작하는 방법은 다음 단계를 따르세요:

  • ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정하는 방법 튜토리얼을 확인하세요.
  • 다이어그램에 표시된 대로 구성 요소를 연결하세요.
  • USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 실행하세요.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
  • USB 케이블을 ESP8266과 PC에 꽂으세요.
  • Arduino IDE를 실행하고, 올바른 보드와 포트를 선택하세요.
  • Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • “Dallas”를 검색하고 Miles Burton이 생성한 DallasTemperature 라이브러리를 찾으세요.
  • 라이브러리를 추가하려면 Install 버튼을 누르세요.
ESP8266 NodeMCU Dallas Temperature library

의존성을 설치하라는 요청을 받게 됩니다. Install All 버튼을 클릭하여 OneWire 라이브러리를 설치하세요.

ESP8266 NodeMCU onewire library
  • “LiquidCrystal I2C”를 검색한 다음, Frank de Brabander가 제작한 LiquidCrystal_I2C 라이브러리를 찾으세요.
  • LiquidCrystal_I2C 라이브러리를 설치하려면 Install 버튼을 누르세요.
ESP8266 NodeMCU LiquidCrystal I2C library
  • 코드를 복사한 다음 Arduino IDE로 열어주세요.
  • 그런 다음, Arduino IDE에서 Upload 버튼을 눌러 ESP8266에 코드를 컴파일하고 업로드하세요.
Arduino IDE Upload Code
  • 센서를 뜨거운 물과 차가운 물에 모두 넣거나, 손으로 잡으세요.
  • LCD 디스플레이를 확인하세요.

LCD 디스플레이에 아무 것도 표시되지 않는 경우, 도움을 위해 LCD I2C 문제 해결을 확인하세요.

코드 설명

소스 코드의 주석에 포함된 줄별 설명을 확인하세요!

동영상

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

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!