#include <LiquidCrystal.h>
const int trigPin = 2; // Pin trig untuk sensor ultrasonik
const int echoPin = 3; // Pin echo untuk sensor ultrasonik
const int fanPin = 9; // Pin untuk mengontrol kipas
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(fanPin, OUTPUT);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Kipas Otomatis");
lcd.setCursor(0, 1);
lcd.print("Sensor Ultrasonik");
delay(2000);
lcd.clear();
}
void loop() {
int distance = getDistance();
lcd.setCursor(0, 0);
lcd.print("Jarak: ");
lcd.print(distance);
lcd.print(" cm");
if (distance < 20) { // Jika jarak kurang dari 20 cm, maka kipas akan menyala
digitalWrite(fanPin, HIGH);
lcd.setCursor(0, 1);
lcd.print("Kipas Menyala");
} else {
digitalWrite(fanPin, LOW);
lcd.setCursor(0, 1);
lcd.print("Kipas Mati");
}
delay(50);
}
int getDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
return distance;
}