아두이노 나노 - DS18B20 온도 센서를 사용하는 냉각 시스템 | Arduino Nano - Cooling System using DS18B20 Temperature Sensor

이 튜토리얼은 팬과 DS18B20 온도 센서의 도움으로 온도를 제어하는 방법을 Arduino Nano를 사용하여 가르쳐줍니다.

DS18B20 센서 대신 DHT11이나 DHT22를 사용하고 싶다면, Arduino Nano - DHT 센서를 이용한 냉각 시스템을 참조해 주세요.

준비물

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

냉각 팬 및 DS18B20 온도 센서에 대하여

이 튜토리얼의 팬은 12V 전원 공급이 필요합니다. 전원이 공급되면 팬이 켜지고 그렇지 않으면 팬이 꺼집니다. 아두이노 나노로 팬을 제어하려면 중개자로 릴레이를 사용해야 합니다.

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

선연결

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

Arduino Nano cooling fan system wiring diagram

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

터미널 어댑터를 사용한 배선도(추천).

Arduino Nano control relay wiring diagram

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

우리는 원활한 설치를 위해 DS18B20 센서와 함께 그에 맞는 배선 어댑터를 구매하는 것을 추천합니다. 이 어댑터에는 통합된 저항기가 포함되어 있어, 추가적인 저항기를 배선에 필요로 하지 않습니다.

시스템 작동 방식

  • 아두이노 나노는 온도 센서에서 측정 값을 읽을 것입니다.
  • 만약 측정 값이 상한 임계값보다 높다면, 팬은 아두이노 나노에 의해 활성화될 것입니다.
  • 만약 측정 값이 하한 임계값보다 낮다면, 아두이노 나노는 팬을 끌 것입니다.

이 루프는 끝없이 반복됩니다.

DS18B20 센서가 있는 냉각 시스템을 위한 아두이노 나노 코드

/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-cooling-system-using-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> const int THRESHOLD_ON = 25; // 온도의 상한 임계값, 원하는 값으로 변경하세요 const int THRESHOLD_OFF = 20; // 온도의 하한 임계값, 원하는 값으로 변경하세요 const int SENSOR_PIN = 2; // DS18B20 센서의 DQ 핀에 연결된 아두이노 나노 핀 const int FAN_PIN = A5; // 팬에 연결된 릴레이에 연결된 아두이노 나노 핀 OneWire oneWire(SENSOR_PIN); // oneWire 인스턴스 설정 DallasTemperature DS18B20(&oneWire); // oneWire를 DallasTemperature 라이브러리에 전달 float temperature; // 섭씨 온도 void setup() { Serial.begin(9600); // 시리얼 통신을 시작하여 시리얼 모니터와 통신합니다. DS18B20.begin(); // 센서를 초기화합니다 pinMode(FAN_PIN, OUTPUT); // 디지털 핀을 출력으로 초기화합니다 } void loop() { DS18B20.requestTemperatures(); // 온도를 얻기 위한 명령을 보냅니다 temperature = DS18B20.getTempCByIndex(0); // 섭씨 온도를 읽습니다 if(temperature > THRESHOLD_ON){ Serial.println("The fan is turned on"); digitalWrite(FAN_PIN, HIGH); // 켜짐 } else if(temperature < THRESHOLD_OFF){ Serial.println("The fan is turned off"); digitalWrite(FAN_PIN, LOW); // 꺼짐 } delay(500); }

위 코드에서 온도가 25°C를 초과하면 아두이노 나노는 팬을 활성화합니다. 온도가 20°C 아래로 떨어질 때까지 팬은 계속 켜져 있습니다.

사용 방법

  • 아두이노 나노를 USB 케이블을 사용하여 컴퓨터에 연결하세요.
  • 아두이노 IDE를 실행하고, 올바른 보드와 포트를 선택하세요.
  • 아두이노 IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • "Dallas"을 검색하고 Miles Burton이 만든 DallasTemperature 라이브러리를 찾으세요.
  • 그런 다음, Install 버튼을 눌러 프로젝트에 추가하세요.
Arduino Nano Dallas Temperature library

의존성을 설치하라는 메시지가 표시됩니다. Install All 버튼을 클릭하여 OneWire 라이브러리를 설치하세요.

Arduino Nano onewire library
  • 코드를 복사하고 아두이노 IDE에서 열어보세요.
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 아두이노 나노에 업로드하세요.
  • 센서의 환경 온도를 더 높게 하거나 낮추어 변경하세요.
  • 시리얼 모니터에서 팬의 상태를 확인하세요.

고급 지식

이 제어 기법은 온-오프 컨트롤러로 불리며, 신호기 또는 "뱅뱅" 컨트롤러로도 알려져 있습니다. 이 방법을 구현하는 것은 꽤 쉽습니다.

기존의 온도 조절 방법에 대한 대안은 PID 컨트롤러입니다. 이 접근 방식은 더 안정적인 원하는 온도를 제공합니다. 하지만, 이해하고 사용하기 복잡하고 어려워 PID 컨트롤러는 온도 조절에 널리 사용되지 않습니다.

동영상

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