아두이노 - 온도 조절 | 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×(Recommended) Breadboard Shield For Arduino Uno 쿠팡 | Amazon
1×(Recommended) Enclosure For Arduino Uno Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

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

간단히 말해서, 방이 더울 때 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!