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.


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
| Fabricante | Texas Instruments |
|---|---|
| Número da peça | LM75A |
| Tensão lógica/IO | 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) | Não aplicável |
| Corrente de pico (por canal) | Não aplicável |
| Orientação de frequência PWM | Não aplicável |
| Limiares de lógica de entrada | 0.3 * Vcc (baixo), 0.7 * Vcc (alto) |
| Queda de tensão / RDS(on)/ saturação | Não aplicável |
| Limites térmicos | Funcionamento: -55°C a +125°C |
| Pacote | SOT-23 |
| Notas / variantes | Disponí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

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).
Coisas que você pode precisar
-
AmazonasPurchase LCD1602-I2C from Amazonamzn.to
-
AmazonasPurchase LM75A from Amazonamzn.to
-
eBayPurchase LCD1602-I2C from eBayebay.us
-
AliExpressPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
Recursos e referências
-
ExternoBiblioteca LM75A do GitHubgithub.com
-
Externodatasheet do LM75A da TIti.com
-
ExternoDatasheet LM75A da NXPnxp.com
Arquivos📁
Arquivo Fritzing
-
LM75 Temperature Sensor
application/zip0.01 MB
Outros arquivos
-
LM75A library from Robojax.com
robojax-LM75A_temperature_sensor.zip0.56 MB