아두이노 - 온도 조절 | Arduino - Control Temperature

이 튜토리얼에서는 아두이노, DS18B20 온도 센서, 팬 및 난방 요소를 사용하여 방의 온도를 쾌적한 범위로 제어할 것입니다. 온도가 너무 더울 때는 냉각 팬을 켜서 환기시킵니다. 온도가 춥다면, 냉각 팬을 끄고 난방 요소를 켭니다.

준비물

1×Arduino Uno Amazon
1×USB 2.0 cable type A/B 쿠팡 | Amazon
1×DS18B20 Temperature Sensor (WITH Adapter) 쿠팡 | Amazon
1×DS18B20 Temperature Sensor (WITHOUT Adapter) Amazon
1×Relay Amazon
1×12V DC Cooling Fan Amazon
1×(Alternative) 5V DC Cooling Fan Amazon
1×12V Heating Element Amazon
1×12V Power Adapter Amazon
1×DC Power Jack 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 9V Power Adapter for Arduino Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino Uno 쿠팡 | Amazon
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno 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.

실내 온도 제어 시스템에 관하여

간단히 말해서, 방이 더울 때 Arduino는 팬을 켜고, 방이 춥다면 난방 요소를 켭니다. 아래에는 방온도를 18°C에서 26°C로 제어하는 예를 들어 방 온도 제어 시스템이 어떻게 작동하는지에 대한 상세 설명이 있습니다:

  • 아두이노는 온도 센서에서 온도를 읽습니다.
  • 온도가 26°C를 초과하면 아두이노는 선풍기를 켜고 가열 요소를 끕니다.
  • 온도가 18°C 아래로 떨어지면 아두이노는 선풍기를 끄고 가열 요소를 켭니다.

위의 과정은 루프에서 무한히 반복됩니다.

선풍기가 환풍기로 작동합니다.

온도 센서, 히팅 요소 및 팬(핀 배치, 작동 방식, 프로그래밍 방법 등)에 대해 모르신다면, 다음 튜토리얼에서 배워보세요:

선연결

Arduino controls temperature wiring diagram

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

위의 다이어그램에서는 단순화를 위해 12V DC 전원 어댑터 두 개를 보여주고 있지만, 실제로는 하나의 12V DC 전원 어댑터를 사용하여 팬과 발열 요소에 모두 전원을 공급할 수 있습니다.

아두이노 코드

/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-control-temperature */ #include <OneWire.h> #include <DallasTemperature.h> const int TEMP_THRESHOLD_UPPER = 26; // °C, 원하는 값으로 변경 가능한 온도의 상한 임계값 const int TEMP_THRESHOLD_LOWER = 18; // °C, 원하는 값으로 변경 가능한 온도의 하한 임계값 const int SENSOR_PIN = 2; // DS18B20 센서의 DQ 핀에 연결된 아두이노 핀 const int RELAY_FAN_PIN = A5; // 팬에 연결된 릴레이에 연결된 아두이노 핀 const int RELAY_HEAT_PIN = A4; // 가열 요소에 연결된 릴레이에 연결된 아두이노 핀 OneWire oneWire(SENSOR_PIN); // oneWire 인스턴스 설정 DallasTemperature sensors(&oneWire); // oneWire를 DallasTemperature 라이브러리에 전달 float temperature; // 섭씨 온도 void setup() { Serial.begin(9600); // 시리얼 초기화 sensors.begin(); // 센서 초기화 pinMode(RELAY_FAN_PIN, OUTPUT); // 디지털 핀을 출력으로 초기화 } void loop() { sensors.requestTemperatures(); // 온도를 얻기 위한 명령 보내기 temperature = sensors.getTempCByIndex(0); // 섭씨 온도 읽기 if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("HOT! The fan is turned on and the heating element is turned off"); digitalWrite(RELAY_FAN_PIN, HIGH); // 팬 켜기 digitalWrite(RELAY_HEAT_PIN, LOW); // 가열 요소 끄기 } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("COLD! The fan is turned off and the heating element is turned on"); digitalWrite(RELAY_FAN_PIN, LOW); // 팬 끄기 digitalWrite(RELAY_HEAT_PIN, HIGH); // 가열 요소 켜기 } delay(500); }

위의 코드에서는 온도가 25°C를 초과하면 아두이노가 팬을 켜고, 온도가 20°C 미만이 될 때까지 팬을 계속 켜둡니다.

사용 방법

  • 아두이노를 USB 케이블을 통해 PC에 연결하세요.
  • 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요.
  • 아두이노 IDE의 왼쪽 바에 있는 Libraries 아이콘으로 이동하세요.
  • “DallasTemperature”을 검색하고, Miles Burton이 만든 DallasTemperature 라이브러리를 찾으세요.
  • DallasTemperature 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
Arduino Dallas Temperature library
  • 라이브러리 의존성을 설치하라는 요청을 받게 됩니다.
  • OneWire 라이브러리를 설치하려면 Install All 버튼을 클릭하세요.
Arduino onewire library
  • 위의 코드를 복사하고 아두이노 IDE로 열기
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 아두이노에 코드 업로드
  • 센서 주변 환경을 더 뜨겁게 하거나 차갑게 만들기
  • 팬과 발열 요소의 상태를 확인하기

동영상

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