아두이노 우노 R4 MAX6675 열전대 모듈
Arduino UNO R4로 온도를 측정하고 싶다면 선택할 수 있는 센서가 많이 있습니다. 대표적인 예로 DHTxx 시리즈, DS18B20, LM35, TMP36 등이 있으며, 각각 프로젝트의 필요에 맞는 고유한 기능과 성능을 제공합니다.
하지만 화산처럼 뜨거운 것(1000°C 또는 1800°F를 훨씬 넘을 수 있음)이나 액체 질소처럼 매우 차가운 것(약 −195.8°C 또는 −320°F)의 온도를 측정하고 싶다면 어떨까요? 이런 경우 일반 온도 센서는 녹아버리거나 완전히 얼어버릴 것입니다.
그렇다면 극도로 뜨겁거나 차가운 것은 어떻게 측정할까요? 바로 열전대(Thermocouple)라고 불리는 영리한 한 쌍의 전선을 사용합니다. 열전대는 열전 효과를 이용하여 -330°F부터 +2460°F까지의 온도를 측정하는 온도 센서의 한 종류입니다.
이 튜토리얼에서는 가장 널리 사용되고 저렴하면서도 정확한 열전대 모듈 중 하나인 MAX6675 열전대 모듈을 Arduino UNO R4에 연결하는 방법을 안내합니다. 하지만 먼저 열전대의 기본 사항을 간단히 복습해 보겠습니다.

준비물
| 1 | × | Arduino UNO R4 WiFi or Arduino UNO R4 Minima | ||
| 1 | × | (또는) DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | MAX6675 Thermocouple Module | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노 R4용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino UNO R4 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노 R4용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노 R4용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노 R4용 전원 분배기 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
MAX6675 열전대 모듈에 대하여
MAX6675 열전대 모듈은 MAX6675 브레이크아웃 보드와 K형 열전대 프로브로 구성됩니다.

열전대의 기본
열전대는 서로 다른 두 금속 전선의 한쪽 끝을 접합하여 만든 온도 센서이며, 이 접합부를 열접점(hot junction)이라고 합니다. 열접점이 가열되면 온도에 따라 변하는 아주 작은 전압이 발생합니다. 이 간단한 원리 덕분에 열전대는 다른 종류의 센서라면 손상될 정도로 매우 높거나 낮은 온도도 측정할 수 있습니다.
일반적인 열전대 종류에는 몇 가지(J, K, E, T 등)가 있으며, 각각 서로 다른 금속 쌍으로 만들어집니다. 가장 널리 사용되는 것은 K형 열전대로, 크로멜(Chromel)과 알루멜(Alumel) 전선으로 만들어지며 대략 -328°F부터 +2300°F까지 매우 넓은 온도 범위를 측정할 수 있습니다.
열전대에서 발생하는 전압은 매우 작아서 온도 값으로 직접 변환하기가 쉽지 않습니다. 그래서 이 작업을 대신해 줄 전용 칩이 필요한데, 그것이 바로 MAX6675 IC가 하는 일입니다.
MAX6675 모듈 핀아웃
브레이크아웃 보드는 열전대 프로브의 신호를 읽어 온도 값으로 변환한 다음, SPI를 통해 Arduino UNO R4로 전송합니다. 약 ±3°C의 정확도로 0°C부터 +1024°C까지의 온도를 측정할 수 있으며, 3.0V~5.5V 전원으로 동작합니다.
- VCC: 전원 핀, 3V - 5V에 연결합니다.
- GND: 접지 핀.
- SCK: SPI 클럭 핀.
- CS: 칩 선택 핀.
- SO: 데이터 핀, 온도 측정값을 Arduino UNO R4로 보냅니다.
모듈의 반대쪽에는 열전대 프로브를 연결하는 2핀 단자대가 있습니다: 빨간색 전선은 +에, 파란색 전선은 -에 연결합니다.
K형 열전대 프로브
모듈에 포함된 프로브는 길이가 약 18인치이며 0°C부터 80°C까지의 온도를 측정할 수 있습니다. 빨간색 전선이 양극 리드이고, 파란색 전선이 음극 리드입니다.
기술 사양
- 동작 전압: 3.0V ~ 5.5V
- 인터페이스: SPI
- 온도 범위: 0 – 1024°C (MAX6675), 0 – 80°C (기본 제공 프로브)
- 정확도: ±3°C
배선도
모듈의 VCC 핀을 Arduino UNO R4의 5V에, GND 핀을 접지에 연결합니다. 그런 다음 SPI 인터페이스로 사용할 Arduino UNO R4의 디지털 핀 3개를 연결합니다. 마지막으로 열전대 프로브를 모듈에 연결합니다: 빨간색 전선은 모듈의 '+' 단자에, 파란색 전선은 '-' 단자에 연결합니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
Arduino Uno R4와 기타 부품에 전원을 공급하는 가장 효과적인 방법을 확인하시려면, 아래 링크를 참조하세요: 아두이노 우노 R4 전원 공급 방법.
MAX6675 모듈과 Arduino UNO R4의 배선표
| MAX6675 모듈 | Arduino UNO R4 |
|---|---|
| VCC | → 5V |
| GND | → GND |
| SCK | → 5 |
| CS | → 4 |
| SO | → 3 |
아두이노 UNO R4 코드
빠른 단계
다음 지침을 단계별로 따라 하세요:
- Arduino Uno R4 WiFi/Minima를 처음 사용한다면 아두이노 우노 R4 - 소프트웨어 설치 튜토리얼을 참고하세요.
- 제공된 배선도에 따라 MAX6675 모듈을 Arduino Uno R4에 연결합니다.
- USB 케이블로 Arduino Uno R4 보드를 컴퓨터에 연결합니다.
- 컴퓨터에서 Arduino IDE를 실행합니다.
- 알맞은 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택합니다.
- Arduino IDE 왼쪽에 있는 Libraries 아이콘으로 이동합니다.
- "MAX6675"를 검색하고 Adafruit에서 만든 라이브러리를 찾습니다.
- Install 버튼을 클릭하여 MAX6675 라이브러리를 설치합니다.
- Search for MAX6675 library created by Adafruit and click the Install button.
- 위의 코드를 복사하여 Arduino IDE에서 엽니다.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino UNO R4에 업로드합니다.
- 측정할 물체에 열전대를 접촉시킵니다.
- 시리얼 모니터를 엽니다.
- 시리얼 모니터에서 결과를 확인합니다.
※ 주의:
시리얼 모니터에 표시되는 온도가 변하지 않거나 잘못된 것 같다면, 모듈과 Arduino UNO R4 사이의 배선을 다시 확인하고 K형 열전대 프로브가 '+' 및 '-' 단자에 단단히 연결되어 있는지 확인하세요.
코드 설명
스케치는 MAX6675 헤더 파일을 포함하는 것으로 시작합니다. 이 헤더 파일 덕분에 Arduino UNO R4가 MAX6675 모듈과 통신할 수 있습니다.
전역 영역에서는 세 개의 정수 SO_PIN, CS_PIN, SCK_PIN을 선언하여, 모듈의 시리얼 출력(SO), 칩 선택(CS), 클럭(SCK) 핀에 연결된 Arduino UNO R4 핀을 지정합니다.
다음으로 thermocouple이라는 이름의 MAX6675 클래스 인스턴스를 생성합니다. 이 코드는 정의된 SCK, CS, SO 핀으로 thermocouple 객체를 초기화합니다.
setup() 함수는 컴퓨터와의 시리얼 통신을 9600 보드레이트로 초기화합니다.
loop()에서는 두 개의 라이브러리 함수를 사용하여 MAX6675 열전대에서 값을 읽고 그 결과를 시리얼 모니터에 출력합니다:
- Thermocouple.readCelsius(): 섭씨 온도를 반환합니다.
- Thermocouple.readFahrenheit(): 화씨 온도를 반환합니다.
loop는 계속해서 무한히 실행되며, 매초 온도를 반복적으로 읽고 출력합니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.