const int recordButtonPin = 8; // Record button
const int recordLedPin = 13; // LED for recording
int lastRecordButtonState = HIGH;
// Debounce timestamps
unsigned long lastRecordDebounceTime = 0;
const unsigned long debounceDelay = 250; // 250ms debounce delay
void setup() {
pinMode(recordButtonPin, INPUT_PULLUP);
pinMode(recordLedPin, OUTPUT);
digitalWrite(recordLedPin, LOW);
Serial.begin(9600);
Serial.println("Ready");
}
void loop() {
int currentRecordButtonState = digitalRead(recordButtonPin);
// --- Record button (pin 8) ---
if (lastRecordButtonState == HIGH && currentRecordButtonState == LOW) {
if ((millis() - lastRecordDebounceTime) > debounceDelay) {
Serial.println("BTN-RECORD");
lastRecordDebounceTime = millis();
}
}
lastRecordButtonState = currentRecordButtonState;
// --- Handle incoming LED commands from PC ---
if (Serial.available() > 0) {
char c = Serial.read();
if (c == '1') { // Recording ON
digitalWrite(recordLedPin, HIGH);
} else if (c == '0') { // Recording OFF
digitalWrite(recordLedPin, LOW);
}
}
}