Пример:
Прошейте плату Uno следующим скетчем:
// макрос который будет производить перезагрузку платы Ардуино
#define Reset() asm("JMP 0")
void setup() {
// встроеный в плату светодиод мигает три раза
// показывая что плата загружается
pinMode(13,OUTPUT);
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
// пин к которому подключена кнопка
// которая будет производить сброс платы Ардуино
pinMode(2,INPUT_PULLUP);
}
void loop() {
// при нажатии на кнопку (PIN2 соеденить GND)
// вызывается макрос который перезагрузит плату Ардуино
if (!digitalRead(2)==HIGH) Reset();
delay(1);
}
При подаче питания встроенный светодиод вспыхнет три раза - показывая что плата загружается.
Подключите кнопку к PIN2 которая будет соединять его c GND. (или просто кратковременно соедините PIN2 с GND перемычкой). Это вызовет перезагрузку платы, встроенный светодиод снова мигнет 3 раза - т.е. выполняется блок setup{}