#define ECHO_PIN 15
#define TRIG_PIN 2
#define LED1 19
#define LED2 21
#define LED3 22
#define LED4 23
#define BUZZER 13
void setup()
{
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(BUZZER, OUTPUT);
}
void loop()
{
//Menghasilkan Ultrasonic 40 KHz
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
//Baca Ultrasonic
int duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034 / 2;
if(distance < 50.0)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
noTone(BUZZER);
}
else
if(distance < 100.0)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
noTone(BUZZER);
}
else
if(distance < 200.0)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
noTone(BUZZER);
}
else
if(distance < 300.0)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, LOW);
noTone(BUZZER);
}
else
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
tone(BUZZER, 200);
}
Serial.print("Jarak: ");
Serial.println(distance);
delay(100);
}