// define komponen:
#define led_1 7
#define led_2 12
#define led_3 13
#include <Servo.h>
Servo nini;
#include <NewPing.h>
NewPing sonic(4,8,100);
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int jarak;
void setup(){
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT);
nini.attach(3);
lcd.init();
lcd.backlight();
}
void loop() {
// loop:
jarak = sonic.ping_cm();
lcd.setCursor(0,1);
lcd.print(jarak);
delay(300);
lcd.clear();
if (digitalRead(9))
{
led_menyala();
}
else if (digitalRead(10))
{
servo_90();
}
else if (digitalRead(11))
{
servo_45();
}
else if(jarak >= 50 )
{
lcd.setCursor(0,1);
lcd.print("MASUK");
}
else
{
mati();
}
}
void led_menyala(){
digitalWrite(led_1, HIGH);
delay(500);
digitalWrite(led_1, LOW);
digitalWrite(led_2, HIGH);
delay(500);
digitalWrite(led_2, LOW);
digitalWrite(led_3, HIGH);
delay(500);
digitalWrite(led_3, LOW);
/*delay(500);
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);*/
}
void servo_90(){
nini.write(0);
delay(500);
nini.write(90);
}
void servo_45(){
nini.write(45);
delay(500);
nini.write(90);
}
void mati(){
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
nini.write(90);
lcd.setCursor(0,0);
lcd.print("FINAL");
}