ESP32 C3 Super Mini MAX6675 열전대 모듈

MAX6675 모듈과 K형 열전대 프로브를 사용하여 ESP32 C3 Super Mini로 매우 높은 온도를 측정하는 방법을 배워보세요. 이 초보자용 튜토리얼은 모듈 배선, 라이브러리 설치, 시리얼 모니터에서 실시간 온도 데이터를 읽는 과정을 안내합니다.

이 튜토리얼에서 배울 내용:

ESP32 C3 Super Mini - max6675 열전대 모듈

필요한 하드웨어

1×ESP32 C3 Super Mini 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×MAX6675 Thermocouple Module 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

MAX6675 열전대 모듈에 대하여

열전대는 서로 다른 두 금속선의 한쪽 끝을 접합한 온도 센서로, 이 접합부를 열접점(hot junction)이라고 합니다. 이 접합부가 뜨거워지거나 차가워지면 온도에 따라 변하는 아주 작은 전압이 발생하며, 이 간단한 효과 덕분에 열전대는 일반 센서라면 망가질 극한의 온도에서도 견디며 측정할 수 있습니다. MAX6675 모듈은 K형 열전대 프로브와 MAX6675 IC를 결합한 것으로, 이 IC가 미세한 전압을 읽어 ESP32 C3 Super Mini가 사용하기 쉬운 디지털 신호로 변환합니다.

주요 특징:

  • K형 열전대 프로브(크로멜/알루멜 선)와 함께 작동
  • 열전대 신호용 12비트 아날로그-디지털 변환기 내장
  • 간단한 3선 디지털 인터페이스(SCK, CS, SO) - 아날로그 핀 불필요
  • 측정 범위: 0°C ~ 1024°C (프로브 자체의 정격은 0°C ~ 80°C)
  • 약 0.25°C의 분해능과 ±3°C의 정확도

MAX6675가 초보자에게 좋은 이유:

  • 아날로그 전압 계산이나 냉접점 보정 계산을 신경 쓸 필요가 없습니다 - 칩이 처리합니다
  • 간단한 readCelsius() / readFahrenheit() 함수를 제공하는 바로 사용 가능한 Arduino 라이브러리
  • 나사 단자형 프로브 커넥터 - 납땜 불필요
  • DS18B20이나 DHT 센서가 견딜 수 있는 온도를 훨씬 넘어서는 온도를 안전하게 탐구할 수 있습니다

MAX6675 모듈 핀아웃

MAX6675 브레이크아웃 보드에는 5개의 핀과 열전대 프로브용 2핀 단자대가 있습니다:

  • VCC 핀: 전원 공급 장치에 연결, 3.0V ~ 5.5V
  • GND 핀: 접지(0V)에 연결
  • SCK 핀: 시리얼 클럭 입력으로, ESP32 C3 Super Mini가 구동하여 각 데이터 비트를 내보냅니다
  • CS 핀: 칩 선택으로, ESP32 C3 Super Mini가 LOW로 내려 변환을 시작하고 읽습니다
  • SO 핀: 시리얼 데이터 출력(MISO 전용이며, 모듈이 데이터를 받지 않으므로 MOSI는 없습니다)
  • 열전대 단자 (+ / -): K형 프로브(약 18인치 길이)의 빨간색(+) 선과 파란색(-) 선이 이 2핀 블록에 연결됩니다
max6675 열전대 모듈 핀아웃

MAX6675 열전대 모듈과 ESP32 C3 Super Mini 간의 배선 다이어그램

아래와 같이 MAX6675 모듈을 ESP32 C3 Super Mini에 연결합니다. 시작하기 전에 열전대 프로브의 빨간색 선(+)과 파란색 선(-)이 모듈의 나사 단자에 이미 고정되어 있어야 합니다.

ESP32 C3 Super Mini max6675 열전대 모듈 배선 다이어그램

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

MAX6675 모듈 핀 ESP32 C3 Super Mini 핀
VCC 3.3V
GND GND
SCK D3
CS D2
SO D1

ESP32 C3 Super Mini 코드

아래 코드는 MAX6675 모듈을 통해 열전대 온도를 읽고 1초에 한 번씩 시리얼 모니터에 출력합니다.

코드가 하는 일:

  • SCK, CS, SO 핀에서 MAX6675 모듈을 초기화합니다
  • 모듈의 첫 번째 측정값이 유효하도록 전원을 켠 후 잠시 기다립니다
  • 열전대 온도를 섭씨로 읽습니다
  • 온도를 화씨로도 변환하여 표시합니다
  • 매초 측정을 반복합니다
/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-max6675-thermocouple-module */ #include "max6675.h" // MAX6675 library by Adafruit - install via Library Manager // MAX6675 module pins connected to the ESP32 C3 Super Mini board #define SCK_PIN 3 // Serial Clock pin: ESP32 C3 Super Mini clocks out each bit of data from the MAX6675 #define CS_PIN 2 // Chip Select pin: pulled LOW by ESP32 C3 Super Mini to start/read a conversion, HIGH when idle #define SO_PIN 1 // Serial Output pin (MISO only): carries the 12-bit temperature data back to ESP32 C3 Super Mini MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN); // create a MAX6675 object using the 3 pins above void setup() { Serial.begin(115200); // initialize Serial communication to talk with the Serial Monitor delay(500); // the MAX6675 needs about 500ms after power-up before its first reading is valid } void loop() { float temperature_C = thermocouple.readCelsius(); // ask the MAX6675 for the thermocouple temperature in Celsius float temperature_F = thermocouple.readFahrenheit(); // ask the MAX6675 for the thermocouple temperature in Fahrenheit Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(temperature_F); // print the temperature in °F Serial.println("°F"); delay(1000); // the MAX6675 finishes one conversion roughly every 220ms internally, // but we only print once per second to keep the Serial Monitor readable }

빠른 단계

  • ESP32 C3 Mini가 처음이신가요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정하세요.
  • Arduino IDE 설정: ESP32 C3 Super Mini가 처음이라면 Arduino IDE에서 ESP32 C3 Super Mini 환경을 설정하는 방법 튜토리얼을 참조하세요.
  • 부품 연결: 위의 배선 다이어그램에 따라 MAX6675 모듈과 열전대 프로브를 ESP32 C3 Super Mini에 연결합니다.
  • USB 케이블 연결: USB Type-C 케이블로 ESP32 C3 Super Mini 보드를 컴퓨터에 연결합니다.
  • Arduino IDE 열기: 컴퓨터에서 Arduino IDE를 실행합니다.
  • 보드 및 포트 선택: ESP32 C3 Super Mini 보드와 해당 COM 포트를 선택합니다.
  • 라이브러리 매니저 열기: Arduino IDE 왼쪽 바에서 Libraries 아이콘을 클릭합니다.
  • 라이브러리 검색: 검색창에 "MAX6675"를 입력합니다.
  • 라이브러리 설치: Adafruit의 MAX6675 라이브러리를 찾아 Install을 클릭합니다.
  • Search for MAX6675 library created by Adafruit and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Library Manager
Type:
All
Topic:
All
MAX6675 library by Adafruit
Arduino library for interfacing with MAX6675 thermocouple amplifier More info
1.1.2
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32C3 Dev Module on COM15
1
  • 코드 복사: 위의 MAX6675 코드를 복사하여 Arduino IDE에 붙여넣습니다.
  • 코드 업로드: Upload 버튼을 클릭하여 코드를 컴파일하고 ESP32 C3 Super Mini에 업로드합니다.
아두이노 ide에서 ESP32 C3 Super Mini 코드를 업로드하는 방법
  • 시리얼 모니터 열기: 보드레이트를 115200으로 설정하여 온도 값을 확인합니다.
  • 결과 관찰: 열전대 끝을 열원(켜진 촛불, 뜨거운 물 한 컵, 헤어드라이어 등) 가까이에 대고 시리얼 모니터에서 온도가 올라가는 것을 확인합니다.
  • 전문가 팁: 시리얼 모니터에 계속 "0.00°C"나 명백히 잘못된 값이 출력되면 SCK/CS/SO 배선을 다시 확인하세요 - 핀이 뒤바뀐 것이 가장 흔한 원인입니다.

코드 라인별 설명

위의 ESP32 C3 Super Mini 코드에는 라인별 설명이 포함되어 있습니다. 코드의 주석을 읽어보세요!

응용 분야 및 프로젝트 아이디어

ESP32 C3 Super Mini MAX6675 열전대 구성을 다음과 같은 실용적인 프로젝트에 활용해보세요:

  • 시간에 따른 온도를 기록하는 주방 오븐 또는 훈연기 온도계 만들기
  • 도자기나 금속 가공용 가마 또는 용광로 온도 모니터 만들기
  • 보정 테스트용 3D 프린터 핫엔드 온도 확인기 설계하기
  • 로스팅 중 원두 온도를 추적하는 커피 로스팅 프로파일러 만들기
  • 납땜 인두 또는 히트건 온도 검증기 만들기
  • 온도가 안전 한계를 초과하면 알림을 보내는 산업 공정 모니터 만들기

비디오 튜토리얼

이 프로젝트를 시각적으로 따라 할 수 있도록 아래 비디오를 시청하세요.

도전 과제

ESP32 C3 Super Mini MAX6675 열전대 실력을 한 단계 높여보세요:

  • 쉬움: 온도가 100°C를 초과하면 시리얼 모니터에 경고 메시지를 출력해보세요
  • 쉬움: 측정 간격을 1초에서 5초로 변경해보세요
  • 보통: 측정 온도가 설정한 임계값을 넘으면 켜지는 LED를 추가해보세요
  • 보통: 실시간 온도 값을 OLED 또는 LCD 화면에 표시해보세요
  • 고급: 장기 모니터링을 위해 타임스탬프와 함께 온도 값을 SD 카드에 기록해보세요
  • 고급: WiFi를 통해 열전대 온도를 실시간 그래프로 보여주는 웹 대시보드를 만들어보세요

댓글