Guia de como usar o Sensor de Temperatura Ir Mlx90614 em Arduino com Exemplos em Display Oled
Neste guia, conectaremos um MLX90614 ao nosso Arduino e exibiremos a saída em uma tela LCD OLED 128 x 32 I2C, você poderia usar um tipo diferente de LCD ou uma variedade maior de OLED, mas é isso que temos em mãos aqui
O MLX90614 é um termômetro infravermelho para medições de temperatura sem contato. Tanto o chip detector de termopilha sensível a infravermelho quanto o ASIC de condicionamento de sinal estão integrados na mesma lata do TO-39. Integrados ao MLX90614 estão um amplificador de baixo ruído, ADC de 17 bits e uma unidade DSP poderosa, alcançando assim alta precisão e resolução do termômetro.
O termômetro vem calibrado de fábrica com uma saída SMBus digital que dá acesso total à temperatura medida na (s) faixa (s) de temperatura completa (s) com uma resolução de 0,02°C.
O usuário pode configurar a saída digital como modulação por largura de pulso (PWM). Como padrão, o PWM de 10 bits é configurado para transmitir continuamente a temperatura medida na faixa de -20 a 120°C, com uma resolução de saída de 0,14°C.
Usei um módulo para MLX90614, veja os links na parte inferior, mas aqui está uma foto de um típico
Campo de Visão do Sensor
Se desejar saber mais sobre o Sensor MLX90414 veja no Datasheet aqui.
Agora, tanto o display OLED quanto o MLX90614 são dispositivos I2C e ambos requerem 3,3v e GND, então a ligação é bastante direta para este projeto. Aqui está um layout elaborado em fritzing para lhe dar uma ideia geral
Código
Este exemplo requer algumas bibliotecas, o que torna o desenvolvimento um pouco mais fácil. Ambos são da Adafruit e são as bibliotecas MLX90614 e SSD1306, usando IDEs do Arduino mais recentes, você pode pesquisá-los, mas aqui estão os links se precisar baixá-los e importá-los manualmente
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <stdint.h> #include <Adafruit_MLX90614.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); Adafruit_MLX90614 mlx = Adafruit_MLX90614(); #if (SSD1306_LCDHEIGHT != 32) #error("Altura incorreta, corrija Adafruit_SSD1306.h!"); #endif void setup() { Serial.begin(57600); Serial.println("Teste Adafruit MLX90614"); mlx.begin(); // inicializar com o addr I2C 0x3C (para 128x32) display.begin(SSD1306_SWITCHCAPVCC, 0x3C); } void loop() { // Limpe o buffer. display.clearDisplay(); // testes de exibição de texto display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,0); display.print("Ambiente: "); display.print(mlx.readAmbientTempC()); display.print(" c"); display.setCursor(0,10); display.print("Objeto: "); display.print(mlx.readObjectTempC()); display.print(" c"); display.display(); delay(2000); }
Resultado
Agora tudo está indo bem, você deve ver algo assim no seu display OLED
Ao aproximar com seu dedo ou objeto emitindo calor, você poderá ver a variação do objeto.
Espero que você tenha achado este guia útil e informativo. Seja tipo, compartilhe com um amigo que também gosta de eletrônicos e outras coisas!
Você adoraria saber quais projetos você planeja construir (ou construir) com este monitor. Se você vir alguma dúvida, sugestão, ou souber que algo está faltando neste guia, por favor, deixe um comentário abaixo.