Sensor de temperatura LM75A com LCD1602 I2C

Sensor de temperatura LM75A com LCD1602 I2C

Neste tutorial, aprenderemos a usar o sensor de temperatura LM75A para exibir leituras de temperatura tanto em Celsius quanto em Fahrenheit em um display LCD1602 usando comunicação I2C. O LM75A pode medir temperaturas que variam de -55°C a +125°C, tornando-o adequado para diversas aplicações. Uma vez que a configuração esteja completa, você poderá ver leituras de temperatura em tempo real no display LCD.

LCD1602-I2C display module with 4 wires

Para este projeto, vamos utilizar o sensor LM75A e o módulo LCD1602 conectados via I2C, o que permite uma fiação mais simples e o uso de menos pinos no Arduino. O objetivo é criar um sistema que leia continuamente a temperatura e a exiba no LCD. Se precisar de esclarecimentos sobre qualquer parte do processo, confira o tutorial em vídeo (no vídeo em 00:00).

Hardware Explicado

Os principais componentes deste projeto incluem o sensor de temperatura LM75A e o display LCD1602. O LM75A é um sensor de temperatura I2C que fornece leituras de temperatura precisas. Ele se comunica com o Arduino por apenas dois fios, SDA (linha de dados) e SCL (linha de relógio), facilitando sua integração em seus projetos.

O LCD1602 é um display de caracteres 16x2 que pode mostrar até 32 caracteres de cada vez. Ao usar a interface I2C, podemos controlá-lo com apenas dois fios adicionais, o que simplifica muito o processo de ligação. A retroiluminação do LCD também pode proporcionar melhor visibilidade em ambientes com pouca luz.

Detalhes da ficha técnica

FabricanteTexas Instruments
Número da peçaLM75A
Tensão lógica/IO2.7 V a 5.5 V
Tensão de alimentação2,7 V a 5,5 V
Corrente de saída (por canal)Não aplicável
Corrente de pico (por canal)Não aplicável
Orientação de frequência PWMNão aplicável
Limiares de lógica de entrada0.3 * Vcc (baixo), 0.7 * Vcc (alto)
Queda de tensão / RDS(on)/ saturaçãoNão aplicável
Limites térmicosFuncionamento: -55°C a +125°C
PacoteSOT-23
Notas / variantesDisponível em vários endereços I2C

  • Garanta uma alimentação adequada (2,7 V a 5,5 V).
  • Use resistores de pull-up nas linhas SDA e SCL, se necessário.
  • Verifique a configuração do endereço I2C para vários dispositivos.
  • Mantenha a fiação curta para minimizar a interferência.
  • Faixa de temperatura do monitor: -55°C a +125°C.
  • Use o monitor serial para depurar as leituras de temperatura.
  • Trate estados de erro no código de forma eficaz.
  • Tenha cuidado com os requisitos de alimentação do display.

Instruções de fiação

Arduino_wiring_LM75A_LCD_bb

Para ligar o sensor de temperatura LM75A e o LCD1602, comece conectando a fonte de alimentação. Conecte o pino VCC tanto do LM75A quanto do LCD1602 ao pino 5V do Arduino. Em seguida, conecte o pino de terra (GND) de ambos os módulos ao pino GND do Arduino.

Em seguida, conecte as linhas de comunicação I2C. O pino SDA do LM75A deve ser conectado ao pino A4 do Arduino, enquanto o pino SCL deve ser conectado ao pino A5. Isso permite a comunicação I2C entre o sensor e o Arduino. Certifique-se de que as conexões estejam seguras para evitar quaisquer erros de comunicação.

Exemplos de código e tutorial passo a passo

No código, primeiro incluímos as bibliotecas necessárias para o sensor LM75A e o display LCD1602. O trecho a seguir demonstra como criar uma instância do sensor LM75A:

LM75A lm75a_sensor(false, false, false);

Esta linha inicializa o objeto do sensor LM75A. Os parâmetros booleanos correspondem aos pinos A0, A1 e A2 do LM75A, permitindo endereços I2C diferentes, se necessário.

Em seguida, configuramos o monitor serial e inicializamos o display LCD:

void setup(void) {
  Serial.begin(9600);
  lcd.begin();  
  lcd.backlight();
  lcd.print("Robojax LM75A");
}

Aqui, iniciamos a comunicação serial a 9600 baud e inicializamos o display LCD. A retroiluminação é ligada e uma mensagem inicial é exibida na tela.

No loop principal, lemos continuamente a temperatura e a exibimos:

float temperature_in_degrees = lm75a_sensor.getTemperatureInDegrees();
if (temperature_in_degrees == INVALID_LM75A_TEMPERATURE) {
  Serial.println("Error while getting temperature");
}

Esta seção obtém a temperatura do sensor. Se a leitura for inválida, uma mensagem de erro é enviada ao monitor serial. Caso contrário, a temperatura pode ser processada e exibida no LCD.

Demonstração / O que esperar

Assim que tudo estiver ligado e o código for carregado, você deverá ver as leituras de temperatura no display LCD1602, alternando entre Celsius e Fahrenheit. Se o sensor LM75A estiver funcionando corretamente, ele atualizará continuamente a temperatura exibida a cada segundo. Se houver algum problema, como polaridade invertida ou fiação incorreta, verifique as conexões e certifique-se de que os pinos corretos estejam sendo usados (no vídeo em 00:00).

Imagens

LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LM75a-1
LM75a-1
LM75a-3
LM75a-3
LM75a-12
LM75a-12
Arduino_wiring_LM75A_LCD_bb
Arduino_wiring_LM75A_LCD_bb
129-LM75A temperature sensor with LCD1602 I2C
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Arquivo Fritzing

Outros arquivos