togliere alimentazione o reset

salve a tutti,
cosa è meglio fare per far ripartire uno sketch da capo azzerando completamente la memoria? togliere alimentazione oppure premere il tasto di reset?
Vi faccio questa domanda perche ho 2 arduino uno rev 3 con ethernet shield W5100, che chiamerò rispettivamente arducancello ed arduvilla, nella stessa rete che hanno le seguenti funzioni:
viene premuto un pulsante (dove non passa corrente, chiude solo il contatto) collegato al pin 6 ed a GND su arducancello il quale, intercettata la pressione del pulsante, fa partire un messaggio via UDP verso arduvilla, a sua volta arduvilla riceve il messaggio e fa scattare un relay che fa suonare un campanello.
Il problema è che alimentando arducancello via usb ,non ho alimentatori standard tranne un paio che però hanno il selettore di voltaggio di output - da 1,5V a 12V 1A e non mi fido, (non con pc ma con trasformatore da 5V 500mA) il pulsante è come se risultasse sempre premuto (ma non lo è ho controllato, e non è nemmeno incastrato) con il risultato che comincia a mandare messaggi UDP ad arduvilla che comincia a sua volta a far suonare il campanello senza interrompersi. Se io levo corrente ad arducancello, naturalmente non trasmette più ed arduvilla non suona, non appena ridò corrente arducancello ricomincia a mandare messaggi. Se collego arducancello al portatile non trasmette i messaggi verso arduvilla automaticamente, ma non li trasmette nemmeno se premo il pulsante.

Grazie a chi mi risponderà e scusate la prolissità del post ma è da stamattina alle 9,30 che ci combatto.

mi sa che manca la resistenza pullup sul pulsante.
Ciao Uwe

Ciao Uwe, no non è quello il pin l'ho dichiarato INPUT_PULLUP sia su arducancello che su arduvilla

Non ho voglia cercare quale Sketch potresti usare. Me li incolli per favore.
Ciao Uwe

uwe grazie per la disponibilità ma ho risolto altrimenti.... ho rimpiazzato i messaggi via UDP con quelli via TCP e poi, grazie a guglielmo, ho fatto un "finto" debounce sul campanello.