#include <Servo.h>
#include <DHT.h>
int buzzPin = 2;
int trigPin = 13;
int echoPin = 12;
int servoPin = 9;
int ledPin = 4;
int dhtpin = 7;
float celcius;
Servo myservo;
long duration, distance;
int analogValue;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(buzzPin, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
myservo.attach(9);
}
void loop() {
// put your main code here, to run repeatedly:
analogValue = analogRead(A0);
celcius = 1 / (log(1/ (1023. / analogValue - 1 )) / BETA + 1.0 / 298.15) - 273.15;
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034/2;
Serial.print("Jarak : ");
Serial.print(distance);
Serial.print("\nTemperature : ");
Serial.print(celcius);
Serial.println();
delay(1000);
if(distance < 50){
if(celcius < 36){
digitalWrite(ledPin, LOW);
noTone(buzzPin);
myservo.write(90);
}
else{
digitalWrite(ledPin, HIGH);
tone(buzzPin, HIGH);
myservo.write(0);
}
}
}