Cảm biến nhiệt độ hồng ngoại MLX90614 với Arduino, Sơ đồ mạch và Lập trình

Module cảm biến nhiệt độ không tiếp xúc MLX90614 I2C. Sử dụng tia hồng ngoại IR để đo nhiệt độ trên bề mặt vật thể. Không cẩn phải tiếp xúc với bề mặt vật thể nên rất an toàn khi sử dụng.

Sử dụng cho các ứng dụng đo nhiệt độ, Arduino,…. giúp bạn có thể nhanh chóng biết được nhiệt độ của một vật thể mà không cần phải đo tiếp xúc.

Thông số kĩ thuật

  • Điện áp hoạt động: 5VDC
  • Dải nhiệt độ đo: -70 – +380C
  • Giao tiếp: I2C có gắn sẵn điện trở kéo lên 10k
  • Độ phân giải: 0.02ºC
  • Độ chính xác: 0.1ºC

Sơ đồ chân mô-đun MLX90614

Mô-đun MLX90614 đưa ra các kết nối sau.

VCClà chân nguồn. Bạn có thể kết nối nó với đầu ra 3,3V hoặc 5V từ Arduino của bạn.

GNDlà mặt đất.

SCLlà chân Clock I2C, kết nối với dòng đồng hồ I2C của Arduino của bạn.

SDAlà chân Data I2C, kết nối với dòng dữ liệu I2C của Arduino của bạn.

Cảm biến nhiệt độ môi trường thay thế :

DHT11 , DHT22 , PT100 , TMP36, DS18B20

Ứng dụng của MLX90614

  • Đo nhiệt độ của các đối tượng chuyển động
  • Súng nhiệt công nghiệp
  • Đo nhiệt độ cơ thể con người
  • Kiểm soát nhiệt độ tại nhà / văn phòng
  • Giám sát chăn nuôi
  • Phát hiện chuyển động

Phần cứng cần thiết:

  • MLX90614 Mạch Cảm Biến Nhiệt Độ Không Tiếp Xúc
  • Oled LCD
  • Arduino

Sơ đồ kết nối:

Thư viện / Datasheet:

MLX90614 và ssd1306 Mã Arduino Oled :

#include <Adafruit_MLX90614.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
 
#define SCREEN_WIDTH 128    // OLED display width, in pixels
#define SCREEN_HEIGHT 64    // OLED display height, in pixels
#define OLED_RESET -1       // Reset pin # (or -1 if sharing Arduino reset pin)
#define bt 3
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
 
double temp_amb;
double temp_obj;
 
void setup()
{
  Serial.begin(9600);
  mlx.begin();         //Initialize MLX90614
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C (128x64)
 
  Serial.println("Cam  bien nhiet do MLX90614");
  pinMode(bt, INPUT_PULLUP);
  display.clearDisplay();
  display.setCursor(25, 15);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.println("  mlx90614");
  display.setCursor(25, 35);
  display.setTextSize(1);
  display.print("Dang khoi tao");
  display.display();
  delay(5000);
}
 
void loop()
{
  //Reading room temperature and object temp
  //for reading Fahrenheit values, use
  //mlx.readAmbientTempF() , mlx.readObjectTempF() )
  temp_amb = mlx.readAmbientTempC();
  temp_obj = mlx.readObjectTempC();
 
  //Serial Monitor
 
  if (digitalRead(bt) == LOW)
  {
  display_temp_obj();
  delay(1000);
  }
  else {
  Serial.print("Nhiet do phong = ");
  Serial.println(temp_amb);
  Serial.print("Nhiet do doi tuong = ");
  Serial.println(temp_obj);
  display.clearDisplay();
  display.setCursor(25, 10);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.println("Nhiet do phong");
  display.setCursor(25, 30);
  display.setTextSize(2);
  display.print(temp_amb);
  display.print((char)247);
  display.print("C");
  display.display();
    }
  delay(1000);
}
void display_temp_obj()
{
  display.clearDisplay();
  display.setCursor(25, 10);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.println(" Nhiet do Obj");
  display.setCursor(25, 30);
  display.setTextSize(2);
  display.print(temp_obj);
  display.print((char)247);
  display.print("C");
  display.display();
}

File: 

Video:

cam bien nhiet do hong ngoai khong tiep xuc mlx90614, tlc47 truong cong ly, trương công lý

Nhận xét

Mới hơn Cũ hơn