ESP8266 - 온도 센서 | ESP8266 - Temperature Sensor

이 튜토리얼은 방수 DS18B20 1-와이어 온도 센서를 ESP8266과 함께 사용하는 방법을 안내합니다. 이 센서는 비용 효율적이고 사용하기 간단하며 매력적인 외관을 가지고 있습니다.

준비물

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

DS18B20 온도 센서에 대하여

온도 센서 핀배열

DS18B20 온도 센서는 특정한 방식으로 연결해야 하는 세 개의 핀이 있습니다:

  • GND 핀: 접지(0V)에 연결해야 합니다.
  • VCC 핀: 전압원(5V 또는 3.3V)에 연결해야 합니다.
  • DATA 핀: 1-와이어 데이터 버스이며 ESP8266 보드의 디지털 핀에 연결해야 합니다.

센서는 일반적으로 두 가지 형태로 제공됩니다: 트랜지스터와 유사한 TO-92 패키지와 방수 프로브. 이 튜토리얼에서는 방수 프로브 형태를 사용할 것입니다.

DS18B20 temperature sensor pinout

DS18B20 온도 센서를 아두이노에 연결할 때에는 풀업 저항기가 필요하며, 이것은 번거로울 수 있습니다. 다행히도, 일부 제조업체는 내장된 풀업 저항기와 나사식 단자대가 있는 배선 어댑터를 제공함으로써 배선 과정을 간소화했습니다.

선연결

브레드보드를 사용한 배선도.

ESP8266 NodeMCU temperature sensor wiring diagram

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

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

배선 어댑터를 사용한 배선도 (권장).

ESP8266 NodeMCU DS18B20 wiring diagram

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

우리는 원활한 설정을 위해 DS18B20 센서와 함께 그에 맞는 배선 어댑터를 구입할 것을 추천합니다. 이 어댑터에는 통합된 저항이 포함되어 있어 배선에 추가 저항이 필요 없습니다. 우리도 이를 테스트해 보았고 잘 작동했습니다.

DS18B20 온도 센서를 프로그래밍하는 방법

프로젝트에 라이브러리를 포함하세요.

#include <OneWire.h> #include <DallasTemperature.h>

센서의 DATA 핀에 연결된 핀에 해당하는 OneWire 타입의 객체를 선언합니다. 또한, DallasTemperature 타입의 객체를 선언합니다.

OneWire oneWire(SENSOR_PIN); // oneWire 인스턴스 설정 DallasTemperature DS18B20(&oneWire); // oneWire를 DallasTemperature 라이브러리에 전달

센서 설정 과정을 시작하십시오:

DS18B20.begin(); // 센서를 초기화하다

온도를 얻기 위한 명령을 내리십시오.

DS18B20.requestTemperatures();

섭씨 온도를 읽으세요.

temperature_C = DS18B20.getTempCByIndex(0);

섭씨에서 화씨 계산하기:

temperature_F = temperature_C * 9 / 5 + 32;

ESP8266 코드

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN D7 // ESP8266 핀이 DS18B20 센서의 DQ 핀에 연결되어 있습니다 OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); float temperature_C; // 섭씨 온도 float temperature_F; // 화씨 온도 void setup() { Serial.begin(9600); // 시리얼 모니터와 통신하기 위해 시리얼을 초기화합니다. DS18B20.begin(); // DS18B20 센서를 초기화합니다. } void loop() { DS18B20.requestTemperatures(); // 온도를 얻기 위한 명령을 보냅니다. temperature_C = DS18B20.getTempCByIndex(0); // °C로 온도를 읽습니다. temperature_F = temperature_C * 9 / 5 + 32; // °C를 °F로 변환합니다. Serial.print("Temperature: "); Serial.print(temperature_C); // °C로 온도를 출력합니다. Serial.print("°C"); Serial.print(" ~ "); // °C와 °F 사이의 구분자 Serial.print(temperature_F); // °F로 온도를 출력합니다. Serial.println("°F"); delay(500); }

사용 방법

Arduino IDE에서 ESP8266을 시작하는 방법은 다음과 같습니다:

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

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

ESP8266 NodeMCU onewire library
  • 코드를 복사하고 Arduino IDE로 열어보세요.
  • IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266으로 전송하세요.
  • 센서를 뜨거운 물과 차가운 물에 넣거나 손으로 잡아보세요.
  • 시리얼 모니터에서 결과를 확인하세요.
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!