Arduino UNO R4 - Módulo Termopar MAX6675
Se você quer medir a temperatura com um Arduino UNO R4, existem muitos sensores para escolher. Algumas das opções populares incluem a série DHTxx, o DS18B20, o LM35 e o TMP36, entre outras, cada uma com recursos e capacidades próprios para atender às necessidades do seu projeto.
Mas e se você quiser medir a temperatura de algo tão quente quanto um vulcão (que pode passar bem dos 1000°C ou 1800°F) ou algo super frio como o nitrogênio líquido (que fica por volta de −195,8°C ou −320°F)? Nesses casos, um sensor de temperatura comum vai derreter ou congelar por completo.
Então, como medir coisas extremamente quentes ou frias? Com um par esperto de cabos elétricos chamado Termopar. Um termopar é um tipo de sensor de temperatura que usa o efeito termoelétrico para medir temperaturas de -330°F a +2460°F.
Este tutorial vai guiar você na conexão do módulo termopar MAX6675 - um dos módulos de termopar mais usados, baratos e, ainda assim, precisos - a um Arduino UNO R4. Mas, primeiro, vamos fazer uma rápida revisão dos conceitos básicos de termopares.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo Termopar MAX6675
O módulo termopar MAX6675 inclui uma placa breakout MAX6675 e uma sonda de termopar Tipo K.

Conceitos Básicos de Termopares
Um termopar é um sensor de temperatura feito de dois fios de metais diferentes unidos em uma das pontas, chamada de junção quente. Quando a junção quente é aquecida, ela produz uma pequena tensão que muda com a temperatura. Esse princípio simples permite que um termopar meça temperaturas extremamente altas ou baixas, que danificariam outros tipos de sensores.
Existem alguns tipos comuns de termopar (J, K, E, T etc.), cada um feito com um par diferente de metais. O mais usado é o termopar Tipo K, feito de fios de Chromel e Alumel, que mede uma faixa de temperatura bem ampla, de aproximadamente -328°F a +2300°F.
A tensão produzida por um termopar é extremamente pequena e não é simples convertê-la diretamente em uma leitura de temperatura. Por isso precisamos de um chip dedicado para fazer esse trabalho por nós - e é exatamente isso que o CI MAX6675 faz.
Pinagem do Módulo MAX6675
A placa breakout lê o sinal da sonda do termopar, converte-o em um valor de temperatura e o envia para o Arduino UNO R4 por SPI. Ela mede temperaturas de 0°C a +1024°C com precisão de cerca de ±3°C e funciona com uma alimentação de 3,0V a 5,5V.
- VCC: pino de alimentação, conecte a 3V - 5V.
- GND: pino de terra.
- SCK: pino de clock SPI.
- CS: pino de seleção de chip.
- SO: pino de dados, envia a leitura da temperatura ao Arduino UNO R4.
No outro lado do módulo, há um bloco de bornes de 2 pinos para a sonda do termopar: conecte o fio vermelho a + e o fio azul a -.
Sonda de Termopar Tipo K
A sonda incluída no módulo tem cerca de 18 polegadas de comprimento e mede temperaturas de 0°C a 80°C. O fio vermelho é o positivo e o fio azul é o negativo.
Especificações Técnicas
- Tensão de Operação: 3,0V a 5,5V
- Interface: SPI
- Faixa de Temperatura: 0 – 1024°C (MAX6675), 0 – 80°C (sonda fornecida)
- Precisão: ±3°C
Diagrama de Ligação
Conecte o pino VCC do módulo ao 5V do Arduino UNO R4 e o pino GND ao terra. Depois, conecte três pinos digitais do Arduino UNO R4 para usar como interface SPI. Por fim, ligue a sonda do termopar ao módulo: conecte o fio vermelho ao terminal '+' do módulo e o fio azul ao terminal '-'.

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.
Tabela de ligação do Módulo MAX6675 e do Arduino UNO R4
| Módulo MAX6675 | Arduino UNO R4 |
|---|---|
| VCC | → 5V |
| GND | → GND |
| SCK | → 5 |
| CS | → 4 |
| SO | → 3 |
Código Arduino UNO R4
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a primeira vez que você usa o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima na Arduino IDE.
- Conecte o módulo MAX6675 ao Arduino Uno R4 de acordo com o diagrama fornecido.
- Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Vá ao ícone Libraries no lado esquerdo da Arduino IDE.
- Pesquise por "MAX6675" e localize a biblioteca da Adafruit.
- Clique no botão Install para adicionar a biblioteca MAX6675.
- Search for MAX6675 library created by Adafruit and click the Install button.
- Copie o código acima e abra-o na Arduino IDE.
- Clique no botão Upload na Arduino IDE para fazer o upload do código para o Arduino UNO R4.
- Coloque o termopar em contato com o material a ser medido.
- Abra o Serial Monitor.
- Confira os resultados no Serial Monitor.
※ Nota:
Se a temperatura exibida no Serial Monitor não mudar ou parecer incorreta, confira novamente a ligação entre o módulo e o Arduino UNO R4 e verifique se a sonda do termopar Tipo K está bem conectada aos terminais '+' e '-'.
Explicação do Código
O sketch começa incluindo o arquivo de cabeçalho do MAX6675. Ele permite que o Arduino UNO R4 interaja com o módulo MAX6675.
Na área global, são declarados três inteiros, SO_PIN, CS_PIN e SCK_PIN, que indicam os pinos do Arduino UNO R4 conectados aos pinos de saída serial (SO), seleção de chip (CS) e clock (SCK) do módulo.
Em seguida, é criada uma instância da classe MAX6675 chamada thermocouple. Ela inicializa o objeto thermocouple com os pinos SCK, CS e SO definidos.
A função setup() inicializa a comunicação serial com o computador a uma taxa de 9600 baud.
No loop(), lemos o termopar MAX6675 e imprimimos o resultado no Serial Monitor usando duas funções da biblioteca:
- Thermocouple.readCelsius(): retorna a temperatura em Celsius.
- Thermocouple.readFahrenheit(): retorna a temperatura em Fahrenheit.
O loop continua sendo executado indefinidamente, lendo e imprimindo a temperatura repetidamente a cada segundo.