#include <TM1637Display.h>
#define TRIG_PIN 2 // Pin trigger sensor ultrasonik
#define ECHO_PIN 3 // Pin echo sensor ultrasonik
#define BUZZER_PIN 4 // Pin buzzer
#define CLK_PIN 5 // Pin CLK seven segment
#define DIO_PIN 6 // Pin DIO seven segment
TM1637Display display(CLK_PIN, DIO_PIN);
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
display.setBrightness(7); // Sesuaikan kecerahan seven segment (0-7)
Serial.begin(9600);
}
void loop() {
long duration, distance;
// Mengukur jarak menggunakan sensor ultrasonik
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2) / 29.1;
// Menampilkan jarak pada seven segment
display.showNumberDec(distance);
// Memeriksa apakah jarak berada dalam rentang tertentu
if (distance < 5) {
// Mengaktifkan buzzer jika jarak kurang dari 5 cm
tone(BUZZER_PIN, 1000);
} else {
// Mematikan buzzer jika jarak lebih dari 5 cm
noTone(BUZZER_PIN);
}
delay(500); // Delay untuk menghindari pembacaan yang terlalu cepat
}