아두이노 나노 - 난방 시스템 | Arduino Nano - Heating System

이 튜토리얼은 여러분에게 난방 요소와 DS18B20 온도 센서를 사용하여 방의 온도를 제어하는 방법을 아두이노 나노를 사용하여 지시합니다.

준비물

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×Heating Element 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 heating element wiring diagram

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

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

Arduino Nano control heating element wiring diagram

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

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

시스템 작동 방식

  • Arduino Nano는 온도 센서에서 온도를 취득합니다.
  • 온도가 특정 하한선 아래로 떨어지면, Arduino Nano는 난방 요소를 활성화합니다.
  • 온도가 상한선을 초과하면, Arduino Nano는 난방 요소를 비활성화합니다.

루프가 계속해서 반복됩니다.

DS18B20 센서와 함께하는 냉각 시스템을 위한 아두이노 나노 코드

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

위에서 언급한 코드에서, 아두이노 나노는 온도가 15°C 미만일 때 가열 요소를 활성화하고 온도가 20°C를 초과할 때까지 계속 켜놓게 됩니다.

사용 방법

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

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

Arduino Nano onewire library
  • 아두이노 IDE로 열 수 있도록 코드를 복사하세요.
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 아두이노 나노에 업로드하세요.
  • 센서 주변 환경의 온도를 변경하세요.
  • 가열 요소의 온도와 방의 온도를 확인하세요.

고급 지식

위의 제어 기술은 온-오프 컨트롤러라고 불리며, 신호기 또는 "뱅뱅" 컨트롤러라고도 알려져 있습니다. 이는 실천하기 매우 쉽습니다.

PID 컨트롤러라고 알려진 대체 접근법이 존재합니다. 이 온도 제어 방법은 더 안정적이지만 이해하고 실행하는 것이 복잡합니다. 그 결과, PID 컨트롤러는 널리 사용되지 않습니다.

※ 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!