#define TRIG_PIN 19
#define ECHO_PIN 34
unsigned long previousTime = 0;
const unsigned long interval = 1000;
float jarak;
int baca = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
unsigned long currentTime = millis();
if (currentTime - previousTime >= interval) {
jarak = hitungJarak();
Serial.print("Jarak: ");
Serial.print(jarak);
Serial.println(" cm");
previousTime = currentTime; // Menyimpan waktu terakhir elapsed time diupdate
}
if (jarak > 0 && jarak < 20 && baca == 0)
{
baca = 1;
Serial.println("Jarak Anda Terlalu Dekat");
}
if (jarak>=20 && baca == 1)
{
baca = 0;
}
}
float hitungJarak() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
unsigned long duration = pulseIn(ECHO_PIN, HIGH);
float jarak = duration * 0.034 / 2;
return jarak;
}