20.MLX90614紅外線測溫

#include <Wire.h>

#include <Adafruit_MLX90614.h>

#include <LiquidCrystal_I2C.h> //載入I2C液晶控制函式庫

LiquidCrystal_I2C lcd(0x27,16,2); // 若LCD 無法啟用,請將0X3F 改為0X27

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {

Serial.begin(9600);

lcd.init(); //LCD初始化

lcd.backlight(); //LCD 開啟背光

lcd.clear(); // LCD清除畫面

Serial.println("Adafruit MLX90614 test");

mlx.begin();

}

void loop() {

lcd.setCursor(0,0); //設定LCD游標至第0行,第0列的位置

lcd.print("Ambient="); //LCD在現在的游標開始顯示 A0= ,每個字元游標會自動前進

lcd.print(mlx.readAmbientTempC());

lcd.print(" *C");

lcd.print(" "); //LCD在現在的游標顯示空白,這樣可以在位數縮減時,清除多的位數

lcd.setCursor(0,1); //設定LCD游標至第0行,第0列的位置

lcd.print("Object="); //LCD在現在的游標開始顯示 A0= ,每個字元游標會自動前進

lcd.print(mlx.readObjectTempC());

lcd.print(" *C");

lcd.print(" "); //LCD在現在的游標顯示空白,這樣可以在位數縮減時,清除多的位數

Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC());

Serial.print("*C\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");

Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempF());

Serial.print("*F\tObject = "); Serial.print(mlx.readObjectTempF()); Serial.println("*F");

Serial.println();

delay(500);

}