#include <Adafruit_MLX90614.h>
#include <Stepper.h>
#include <Buzzer.h>
#include <LiquidCrystal.h>
const int stepsPerRevolution = 50;
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
LiquidCrystal lcd(6, 11, 5, 4, 3, 2);
Stepper myStepper(stepsPerRevolution, 7, 8, 9, 10);
float Ambient_C=0,Object_C=0,Ambient_F=0,Object_F=0;
void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
myStepper.setSpeed(60);
mlx.begin();
pinMode(A5, OUTPUT);
}
void loop() {
Ambient_C=mlx.readAmbientTempC();
Object_C=mlx.readObjectTempC();
Ambient_F=mlx.readAmbientTempF();
Object_F=mlx.readObjectTempF();
if (Object_C > 37.5) {
lcd.clear();
digitalWrite(A5, HIGH);
lcd.print(F("Temp:"));
lcd.print(Object_C);
lcd.print(F("°C"));
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
myStepper.step(0);
delay(500);
} else {
if (Object_C >= 34.5 && Object_C<=37.5) {
lcd.clear();
digitalWrite(A5, LOW);
lcd.print(F("Temp:"));
lcd.print(Object_C);
lcd.print(F("°C"));
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
myStepper.step(stepsPerRevolution);
myStepper.step(0);
}
if (Object_C < 34.5) {
lcd.clear();
digitalWrite(A5, LOW);
lcd.print(F("Temp:"));
lcd.print(Object_C);
lcd.print(F("°C"));
digitalWrite(12, LOW);
digitalWrite(13, LOW);
myStepper.step(0);
}
}
delay(1000);
}