아두이노 - 난방 시스템 | Arduino - Heating System
이 튜토리얼에서는 난방 요소와 DS18B20 온도 센서를 사용하여 방 온도를 제어할 것입니다. 온도가 너무 낮으면 난방 요소를 켜고, 온도가 따듯하면 난방 요소를 끕니다. DHT11이나 DHT22, LM35처럼 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 | × | 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 | 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 |
난방 요소 및 DS18B20 온도 센서에 관하여
이 튜토리얼에서 사용되는 난방 요소는 12v 전원 공급 장치를 사용합니다. 난방 요소에 전력이 공급되면, 난방 요소는 열을 발산합니다. 아두이노로 난방 요소를 제어하려면 중간에 릴레이를 사용해야 합니다.
온도 센서와 발열 요소(핀 배치, 작동 웩리, 프로그래밍 방법 등)에 대해 잘 모른다면, 다음 튜토리얼에서 배우십시오:
선연결
브레드보드를 사용한 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
어댑터가 포함된 배선도 (추천)
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
시스템 작동 방식
- 아두이노가 온도 센서에서 온도를 읽습니다
- 온도가 하한 임계값 이하로 떨어지면, 아두이노는 난방 요소를 켭니다
- 온도가 상한 임계값 이상으로 상승하면, 아두이노는 난방 요소를 끕니다
위의 과정은 루프에서 무한히 반복됩니다.
DS18B20 센서가 있는 냉각 시스템을 위한 아두이노 코드
위의 코드에서는 온도가 15°C 아래로 떨어지면 Arduino가 발열 요소를 켜고 온도가 20°C를 넘을 때까지 발열 요소를 계속 켜둡니다.
사용 방법
- 아두이노를 USB 케이블을 통해 PC에 연결하세요.
- 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요.
- 아두이노 IDE 왼쪽 바의 Libraries 아이콘으로 이동하세요.
- “DallasTemperature”을 검색한 후, 마일스 버튼이 만든 DallasTemperature 라이브러리를 찾으세요.
- DallasTemperature 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
- 라이브러리 의존성을 설치하라는 요청을 받게 될 것입니다.
- OneWire 라이브러리를 설치하려면 Install All 버튼을 클릭하세요.
- 위의 코드를 복사하고 Arduino IDE로 엽니다
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino에 업로드합니다
- 센서 주변 환경을 더 뜨겁게 하거나 차갑게 합니다
- 발열체와 방의 온도를 확인합니다
고급 지식
위의 제어 방법은 온-오프 컨트롤러로, 시그널러 또는 "뱅뱅" 컨트롤러라고도 불립니다. 이 방법은 실행하기가 매우 간단합니다.
PID 컨트롤러라고 하는 대체 방법이 있습니다. PID 컨트롤러를 사용하면 원하는 온도가 더 안정적이지만 이해하고 구현하기 매우 어렵습니다. 따라서 PID 컨트롤러는 온도 제어에서 인기가 없습니다.