아두이노 나노 - 온도 센서 | Arduino Nano - Temperature Sensor

이 튜토리얼은 Arduino Nano와 방수 DS18B20 1-wire 온도 센서를 사용하여 온도를 측정하는 방법을 알려줍니다. 이 센서는 비용 효율적이며 사용하기 쉽고, 다른 대안들 사이에서 깔끔한 외관을 가지고 있습니다.

준비물

1×Arduino Nano Amazon
1×USB A to Mini-B 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) 9V Power Adapter for Arduino Nano Amazon
1×(Recommended) Screw Terminal Expansion Board for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

1-와이어 DS18B20 온도 센서에 대하여

온도 센서 핀아웃

DS18B20 온도 센서는 연결해야 하는 세 개의 핀이 있습니다:

  • GND 핀: GND(0V)에 연결해야 합니다.
  • VCC 핀: VCC(5V 또는 3.3V)에 연결해야 합니다.
  • DATA 핀: 1-wire 데이터 버스이며 Arduino Nano의 디지털 핀에 연결되어야 합니다.

센서는 일반적으로 TO-92 패키지(트랜지스터를 닮은)와 방수 프로브 두 가지 종류로 제공됩니다. 이 튜토리얼에서는 방수 프로브를 사용할 것입니다.

DS18B20 temperature sensor pinout

DS18B20 온도 센서를 Arduino와 연결하는 것은 풀업 저항을 필요로 하여 조금 번거롭습니다. 그러나 일부 제조업체들은 내장된 풀업 저항과 스크류 터미널 블록이 장착된 배선 어댑터를 제공하여 번거로움을 줄이고 더 편리하게 만듭니다.

선연결

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

Arduino Nano temperature sensor wiring diagram

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

배선 어댑터를 사용한 배선 다이어그램 (추천).

Arduino Nano 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;

아두이노 나노 코드

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

사용 방법

  • Arduino Nano와 PC에 USB 케이블을 연결하세요.
  • Arduino IDE를 열고 적절한 보드와 포트를 선택하세요.
  • Arduino IDE의 왼쪽 바에서 Libraries 아이콘을 클릭하세요.
  • “Dallas”를 검색한 다음, Miles Burton이 만든 DallasTemperature 라이브러리를 찾으세요.
  • DallasTemperature 라이브러리를 설치하려면 Install 버튼을 누르세요.
Arduino Nano Dallas Temperature library

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

Arduino Nano onewire library
  • 코드를 복사한 다음 Arduino IDE에서 엽니다.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino Nano로 전송합니다.
  • 센서를 뜨거운 물과 차가운 물에 넣거나 손으로 잡아주세요.
  • 시리얼 모니터에서 결과를 확인하세요.
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!