#define Button 0
#define LED 2
#define Microphone 15
unsigned long recordingStartTime = 0;
unsigned long recordingDuration = 30000;
bool isRecording = false;
void setup() {
Serial.begin(115200);
delay(1000);
pinMode(Button, INPUT_PULLUP);
pinMode(LED, OUTPUT);
pinMode(Microphone, INPUT);
}
int lastState = HIGH;
void loop() {
button();
if (isRecording) {
microphone();
}
}
void button() {
int value = digitalRead(Button);
if (lastState != value) {
lastState = value;
if (value == LOW) {
digitalWrite(LED, HIGH);
startRecording();
} else {
digitalWrite(LED, LOW);
stopRecording();
}
}
}
void startRecording() {
isRecording = true;
recordingStartTime = millis();
Serial.println("Recording Started...");
}
void stopRecording() {
isRecording = false;
Serial.println("Recording Stopped.");
}
void microphone() {
unsigned long currentTime = millis();
if (currentTime - recordingStartTime < recordingDuration) {
int val = analogRead(Microphone);
// Обработка сигнала от микрофона и запись данных
// Пример: отправка значения на последовательный порт
Serial.println(val);
// Дополнительные действия по обработке звука могут быть добавлены здесь
} else {
stopRecording();
}
}