#define led1 13
#define led2 12
#define led3 8
#include <Servo.h>
Servo pertama;
Servo kedua;
#include <NewPing.h>
NewPing sonic(4,2,100);
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C layar (0x27,16,2);
int distance;
void setup() {
// setting up code:
layar.init();
layar.backlight();
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pertama.attach(5);
kedua.attach(6);
}
void loop() {
// looping code:
distance = sonic.ping_cm();
layar.setCursor(0,0);
layar.print("DISTANCE : ");
layar.setCursor(12,0);
layar.print(distance);
if(digitalRead(11) == HIGH){
pertama.write(90);
delay(300);
}
if(digitalRead(10) == HIGH){
pertama.write(180);
delay(300);
}
if(digitalRead(9) == HIGH){
kedua.write(90);
delay(300);
}
if(digitalRead(3) == HIGH){
kedua.write(180);
delay(300);
}
else if ((distance) >= 50)
{
hidupkan_led();
}
else if ((distance) >= 100)
{
led_kedip();
}
else
{
mati();
}
}
void hidupkan_led(){
digitalWrite(led1, HIGH);
delay(300);
digitalWrite(led2, HIGH);
delay(300);
digitalWrite(led3, HIGH);
delay(300);
}
void led_kedip(){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
delay(300);
}
void mati(){
pertama.write(0);
kedua.write(0);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
/*void servo_a90() {
pertama.write(90);
}
void servo_a180() {
pertama.write(180);
}
void servo_b90() {
kedua.write(90);
delay(500);
kedua.write(90);
}
void servo_b180() {
kedua.write(180);
delay(500);
kedua.write(0);
}
void mati() {
pertama.write(0);
kedua.write(0);
}*/