Código Arduino para um sensor de temperatura LM75A
Neste tutorial, aprenderemos como usar o sensor de temperatura LM75A com um Arduino para medir a temperatura em Celsius e Fahrenheit. O sensor LM75A se comunica via protocolo I2C, tornando-o fácil de integrar com placas Arduino. Ao final deste tutorial, você terá uma configuração funcionando que exibe leituras de temperatura a cada segundo.

Para aproveitar ao máximo este tutorial, recomendo assistir ao vídeo associado, que fornece orientação visual sobre a configuração e a implementação do código (no vídeo em 20:29).
Hardware Explicado
O sensor de temperatura LM75A é um sensor digital capaz de medir a temperatura ambiente com alta precisão. Ele opera através do protocolo de comunicação I2C, permitindo que vários sensores sejam conectados ao mesmo barramento. O sensor possui uma função de desligamento por sobretemperatura, que pode ajudar a economizar energia quando não estiver em uso.
Este sensor está normalmente disponível tanto como um chip independente quanto como um módulo de placa de circuito impresso (PCB). O módulo inclui pinos essenciais como VCC, GND, SDA e SCL, que são necessários para a comunicação com o Arduino. Ao usar este sensor, é importante garantir conexões adequadas e selecionar o endereço I2C correto para a comunicação.
Detalhes da ficha técnica
| Fabricante | NXP / Texas Instruments |
|---|---|
| Número da peça | LM75A |
| Tensão lógica/E/S | 2.7 V a 5.5 V |
| Tensão de alimentação | 2,7 V a 5,5 V |
| Corrente de saída (por canal) | 3 mA |
| Corrente de pico (por canal) | 10 mA |
| Orientação sobre a frequência PWM | Não aplicável |
| limiares lógicos de entrada | 0.3 VCC (alto), 0.2 VCC (baixo) |
| Queda de tensão / RDS(ligado)/ saturação | 0,5 V máx. |
| Limites térmicos | -55 °C a +125 °C |
| Pacote | SOIC-8 / TSSOP |
| Notas / variantes | Disponível em diferentes endereços I2C |
- Certifique-se de que o endereço I2C correto esteja configurado no seu código.
- Use resistores pull-up nas linhas SDA e SCL, se necessário.
- Alimente o sensor com uma tensão estável (2.7 V a 5.5 V).
- Monitore o superaquecimento; o sensor pode operar até 125 °C.
- Manuseie o sensor com cuidado para evitar danos durante a instalação.
Instruções de fiação

Para ligar o sensor de temperatura LM75A ao seu Arduino, comece conectando o pino de terra (GND) do sensor ao pino GND do Arduino. Em seguida, conecte o pino VCC do sensor ao pino 5V do Arduino. Para a comunicação I2C, conecte o pino SDA do sensor (geralmente marcado em verde) ao pino A4 do Arduino, e o pino SCL (geralmente marcado em azul) ao pino A5. Se você estiver usando um modelo diferente de Arduino, certifique-se de conectar aos pinos I2C corretos; por exemplo, em um Arduino Mega, o SDA conecta-se ao pino 20 e o SCL ao pino 21.
Se você estiver usando o LM75A como um chip avulso em vez de um módulo, certifique-se de conectar corretamente os pinos correspondentes: o pino 1 ao A4 (SDA), o pino 2 ao A5 (SCL), o pino 4 ao terra e o pino 8 ao VCC. Deixe os demais pinos sem conexão. Essa configuração garante que o sensor possa se comunicar corretamente com o Arduino.
Exemplos de Código e Tutorial
O código a seguir inicializa o sensor LM75A e lê a temperatura a cada segundo. O identificador-chave neste código élm75a_sensor, que é uma instância da classe LM75A. Esta instância é usada para obter leituras de temperatura do sensor.
LM75A lm75a_sensor(false, false, false);Esta linha cria uma instância da classe LM75A, passando parâmetros que representam o estado dos pinos A0, A1 e A2. O estado padrão pode ser definido comofalsese esses pinos não forem usados.
Nosetup()Na função, inicializamos a comunicação serial a 9600 baud, o que é crucial para exibir as leituras de temperatura no monitor serial.
void setup(void) {
Serial.begin(9600);
Serial.println("Robojax LM75A Test");
}Este trecho configura o monitor serial, permitindo que vejamos as leituras de temperatura conforme são impressas a cada segundo.
Noloop()Na função, recuperamos a temperatura em graus Celsius e verificamos se há algum erro. Se a temperatura for válida, a imprimimos juntamente com o seu equivalente em Fahrenheit.
float temperature_in_degrees = lm75a_sensor.getTemperatureInDegrees();
if (temperature_in_degrees == INVALID_LM75A_TEMPERATURE) {
Serial.println("Error while getting temperature");
} else {
Serial.print("Temperature: ");
Serial.print(temperature_in_degrees);
Serial.print(" degrees (");
Serial.print(LM75A::degreesToFahrenheit(temperature_in_degrees));
Serial.println(" Fahrenheit)");
}Este trecho de código demonstra como lidar com a leitura da temperatura e imprimi-la tanto em Celsius quanto em Fahrenheit no monitor serial. Inclui tratamento de erros para leituras inválidas.
Para o código completo, confira a seção de carregamento abaixo do artigo.
Demonstração / O que esperar
Uma vez que você tenha completado a fiação e enviado o código para o seu Arduino, você deverá ver as leituras de temperatura exibidas no monitor serial a cada segundo. Você pode testar a responsividade do sensor tocando-o ou usando um soprador térmico, e deverá observar as leituras mudarem de acordo. Tenha cuidado com a polaridade invertida ao conectar o sensor, pois isso pode danificar o módulo.
Recursos e referências
Ainda não há recursos.
Arquivos📁
Arquivo Fritzing
-
Sensor de Temperatura LM75
Temperature Sensor - LM75.fzpz0.01 MB