Для этого вы можете использовать прерывания.
Но вам нужно будет подключить кнопку к определенным контактам на Arduino. Если вы используете Arduino Uno, вам нужно подключить кнопку к контакту № 2 или 3.
Список плат и выводов прерывания, которые можно использовать, приведен здесь.
https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/
const int btn_pin=2; //you could use 3
Сначала вам нужно определить функцию, которая останавливает двигатели
void stopMotors(){
digitalWrite(Pin_1A, HIGH); //I am assuming this is the configuration stops the motor in your system.
digitalWrite(Pin_2A, HIGH);
}
Используйте следующее в вашей функции настройки.
attachInterrupt(digitalPinToInterrupt(btn_pin), stopMotor, FALLING);
Хотя я считаю, что использование прерываний является более простым решением для вас, вы можете использовать миллис следующим образом
long time=millis()+1000; //Change this number to the delay you want.
while((time>millis())&&(digitalRead(btn_pin)==HIGH)); //pin state becomes an escape.
Надеюсь, это поможет.