Código Arduino para um sensor de temperatura LM75A

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

FabricanteNXP / Texas Instruments
Número da peçaLM75A
Tensão lógica/E/S2.7 V a 5.5 V
Tensão de alimentação2,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 PWMNão aplicável
limiares lógicos de entrada0.3 VCC (alto), 0.2 VCC (baixo)
Queda de tensão / RDS(ligado)/ saturação0,5 V máx.
Limites térmicos-55 °C a +125 °C
PacoteSOIC-8 / TSSOP
Notas / variantesDisponí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

Arduino_wiring_LM75A_bb

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.

Imagens

LM75a-1
LM75a-1
LM75a-3
LM75a-3
LM75a-12
LM75a-12
Arduino_wiring_LM75A_bb
Arduino_wiring_LM75A_bb
127-Arduino code for an LM75A temperature sensor
Idioma: C++
Copiado!

Recursos e referências

Ainda não há recursos.

Arquivos📁

Arquivo Fritzing