/*************************************************** MLX90614 Thermopile + LCD using Adafruit Libs Author: BehindTheSciences.com ****************************************************/ #include #include #include // import the serial library #include #define trigPin 5 #define echoPin 6 #define RS 6 #define RW 2 #define EN 4 #define VO 5 #define D4 7 #define D5 8 #define D6 A0 #define D7 3 // initialize the library with the numbers of the interface pins LiquidCrystal lcd(RS, EN, D4, D5, D6, D7); Adafruit_MLX90614 mlx = Adafruit_MLX90614(); void setup() { Serial.begin(9600); Serial.println("Adafruit MLX90614 test"); mlx.begin(); /*Initialisation of the LCD */ pinMode(D4, OUTPUT); pinMode(D5, OUTPUT); pinMode(D6, OUTPUT); pinMode(D7, OUTPUT); pinMode(EN, OUTPUT); digitalWrite(EN, HIGH); pinMode(RS, OUTPUT); digitalWrite(RS, LOW); pinMode(VO, OUTPUT); digitalWrite(VO, LOW); pinMode(RW, OUTPUT); digitalWrite(RW, LOW); delay(20); digitalWrite(D7, LOW); digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, HIGH); delay(10); digitalWrite(D7, LOW); digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, LOW); digitalWrite(D7, LOW); digitalWrite(D6, LOW); digitalWrite(D5, HIGH); digitalWrite(D4, LOW); digitalWrite(D7, HIGH); digitalWrite(D6, HIGH); digitalWrite(D7, LOW); digitalWrite(D6, LOW); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D7, HIGH); digitalWrite(D6, LOW); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D7, LOW); digitalWrite(D6, LOW); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D7, LOW); digitalWrite(D6, LOW); digitalWrite(D5, LOW); digitalWrite(D4, HIGH); digitalWrite(D7, LOW); digitalWrite(D6, LOW); digitalWrite(D5, LOW); digitalWrite(D4, LOW); digitalWrite(D7, LOW); digitalWrite(D6, HIGH); digitalWrite(D5, HIGH); digitalWrite(D4, HIGH); /*-----------------------*/ lcd.begin(16, 2); // Print a message to the LCD. lcd.setCursor(3, 0); } void loop() { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Object = "); lcd.print(mlx.readObjectTempC()); lcd.print((char)223); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Ambient= "); lcd.print(mlx.readAmbientTempC()); lcd.print((char)223); lcd.print("C"); delay(500); }