ESP32 - Sensor de Temperatura TMP36
Neste guia, vamos aprender a programar o ESP32 para ler a temperatura do sensor TMP36.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Temperatura TMP36
Pinagem
O sensor de temperatura TMP36 tem três pinos:
- Pino GND: precisa ser conectado ao GND (0V)
- Pino +Vs: precisa ser conectado ao VCC (5V). É a alimentação do sensor, que pode variar de 2,7V a 5,5V.
- Pino Vout: o pino de sinal fornece uma tensão de saída linearmente proporcional à temperatura e deve ser conectado a um pino analógico do ESP32.

Como Funciona
O TMP36 fornece uma tensão de saída linearmente proporcional à temperatura em graus Celsius. O fator de escala de saída do TMP36 é de 10 mV/°C, com um deslocamento (offset) de 500 mV (a saída é de 500 mV a 0°C). Isso significa que a temperatura é calculada subtraindo 500 da tensão (mV) no pino de saída e, em seguida, dividindo o resultado por 10.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
Como Programar o Sensor de Temperatura TMP36
- Obtenha o valor do ADC do sensor de temperatura usando a função analogRead().
- Converta o valor do ADC em tensão, em volts
- Converta a tensão em temperatura em graus Celsius
- (Opcional) Converta de Celsius para Fahrenheit
Código ESP32
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
- Faça a ligação conforme a imagem acima.
- Conecte a placa ESP32 ao seu PC por meio de um cabo USB Type-C
- Abra o Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para fazer upload do código para o ESP32
- Segure o sensor com a mão
- Veja o resultado no Serial Monitor.
※ Nota:
Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor TMP36. O ADC do ESP32 é bom para projetos que NÃO precisam de alta precisão. No entanto, para projetos que precisam de medições precisas, observe:
- O ADC do ESP32 não é perfeitamente preciso e pode precisar de calibração para obter resultados corretos. Cada placa ESP32 pode ser um pouco diferente, então você precisa calibrar o ADC de cada placa individualmente.
- A calibração pode ser difícil, especialmente para iniciantes, e nem sempre pode fornecer os resultados exatos que você deseja.
Para projetos que precisam de alta precisão, considere usar um ADC externo (por exemplo, ADS1115) com o ESP32 ou usar um Arduino, que tem um ADC mais confiável. Se você ainda quiser calibrar o ADC do ESP32, consulte o ESP32 ADC Calibration Driver