//Welcome in the project Moch Rijki Supriyatna:("MTS_Iky")
//Sistem Antrian Otomatis
#include <TM1637Display.h>
#define CLK 2
#define DIO 3
#define BUTTON_PIN 4
#define BUZZER_PIN 5
#define TRIG_PIN 6
#define ECHO_PIN 7
TM1637Display display(CLK, DIO);
int currentNumber = 0;
bool lastButtonState = HIGH;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
display.setBrightness(0x0f);
display.showNumberDec(currentNumber, true);
}
void loop() {
long duration;
int distance;
// Baca jarak dari sensor
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration * 0.034 / 2;
// Jika ada orang dekat (kurang dari 30 cm) dan tombol ditekan
bool buttonState = digitalRead(BUTTON_PIN);
if (lastButtonState == HIGH && buttonState == LOW && distance < 30) {
currentNumber++;
if (currentNumber > 99) currentNumber = 1;
display.showNumberDec(currentNumber, true);
tone(BUZZER_PIN, 1000, 150); // Bunyi singkat
delay(300); // Debounce
}
lastButtonState = buttonState;
}