You are on page 1of 2

#define pinSwitch 2

#define pinRelay 3
void setup() {
pinMode(pinSwitch, INPUT_PULLUP);
pinMode(pinRelay, OUTPUT);
}#define ECHO_PIN 2
#define TRIG_PIN 3
#define Merah 6
#define Kuning 5
#define Hijau 4

float X=400/397.63;

void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(Merah, OUTPUT);
pinMode(Kuning, OUTPUT);
pinMode(Hijau, OUTPUT);
}

void loop() {
//Generate ultrasonic signal
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);

//Read ultrasonic signal


int duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034 * X / 2;

Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" CM");

digitalWrite(Merah, LOW);
digitalWrite(Hijau, LOW);
digitalWrite(Kuning, LOW);

// Cara 1
// if(distance < 50)
// {
// Serial.println("Merah (Bahaya)");
// digitalWrite(Merah, HIGH);
// }
// else if (distance < 100)
// {
// Serial.println("Kuning (Waspada)");
// digitalWrite(Kuning, HIGH);
// }
// else
// {
// Serial.println("Hijau (Normal)");
// digitalWrite(Hijau, HIGH);
// }
// Cara 2
if( distance > 50 && distance < 150)
{
Serial.println("Kuning (Waspada)");
digitalWrite(Kuning, HIGH);
}
else if (distance > 0 && distance < 50)
{
Serial.println("Merah (Bahaya)");
digitalWrite(Merah, HIGH);
}
else
{
Serial.println("Hijau (Normal)");
digitalWrite(Hijau, HIGH);
}

delay(500);
}

void loop() {
int nilaiSwitch = digitalRead((pinSwitch));
if(nilaiSwitch == 0){
digitalWrite(pinRelay, HIGH);
}
else{
digitalWrite(pinRelay, LOW);
}
}

You might also like