Reset Sketch Arduino

Scusate la domanda forse banale ma...come faccio a far ripartire uno sketch dall'inizio (include, dichiarazioni variabili, set up ecc.)

Ho la necessità, al presentarsi di un evento (es. sensore che non risponde correttamente) , di far ripartire tutto il programma

Thx

con un reset

o hardware
o software Riavviare Arduino via software utilizzando funzione di reset

perfetto, grazie

quel codice linkato funziona, ma non ho mai avuto occasione di verificare come si comporta.
Comunque il modo migliore rimane il watchdog http://support.atmel.no/bin/customer.exe?=&action=viewKbEntry&id=21

Il watchdog ha il difetto che se non usato correttamente può causare problemi.
Il jmp $0000 è un modo più semplice di fare il riavvio.

Il watchdog ha il difetto che se non usato correttamente può causare problemi.
Il jmp $0000 è un modo più semplice di fare il riavvio.

Vero, pero' e' l'unico sistema valido nel caso il codice si blocchi.
anche se io, proprio per i motivi citati, preferisco usare un watchdog hardware esterno in quei sistemi che so' darmi dei problemi

Aprendo il Serial Monitor dell'IDE l'Arduino si resetta e lo sketch parte dall'inizio.

PaoloP:
Aprendo il Serial Monitor dell'IDE l'Arduino si resetta e lo sketch parte dall'inizio.

Questo funziona solo con l'Arduino. Su micro in standalone devi trovare sistemi alternativi.

C'e' un altro metodo, pilotare una porta sul pin reset che equivale a premere il bottoncino. Potrà essere un sistema grezzo, arcaico, casalingo .... chiamalo come ti pare XD ma funziona. Spero che in arduino DUE abbiano pensato a questo perchè sono anni che leggo questa domanda.
Metteteci un benedetto reset completo via software!!

pablos:
C'e' un altro metodo, pilotare una porta sul pin reset che equivale a premere il bottoncino. Potrà essere un sistema grezzo, arcaico, casalingo .... chiamalo come ti pare XD ma funziona.

Sei sicuro che funzioni perché l'hai sperimentato o perché ne hai sentito parlare?
Tempo fa fu affrontato lo stesso argomento del reset software e l'idea di un "auto-reset" fu detto che non era fattibile perché il tempo che il pin di reset restava basso pullato da un altro pin non era sufficiente a resettare il micro.

Ho provato proprio ora questa specie di "autofecondazione" ma a me non funziona.
Lo stato LOW deve essere tenuto per un determinato numero di cicli di clock e poi tolto, altrimenti il reset non viene interpretato in maniera corretta. Collegando l'Arduino con un qualsiasi pin collegato al pin di reset porta ad un lampeggio perenne del led L.
Ovviamente ponticellando dopo il collegamento dell'Arduino all'alimentazione e spedendo il segnale Low dal pin porta allo stesso identico effetto.

Non l'ho mai fatto, domani se ho un minuto lo provo perchè prima o poi mi servirà un reset remoto, non puoi semplicemente rigirare un pin sul reset per il motivo che hai appena detto, ma un contatto pulito di un micro-relè è impossibile che non funzioni. Ho cercato un esempio in rete anche se si può semplificare ... qualcosa di simile

ciao

Sì ma deve essere un circuito che tiene il segnale basso per poco tempo, dopo deve rilasciare il pin di reset libero, altrimenti non risolve.

perchè se tu tieni il dito sul reset per 5 minuti e lo rilasci non si resetta? :smiley: secondo me il tempo non cambia nulla .. piuttosto non deve essere troppo breve fatto con questo sistema, un circuito RC dovrebbe in teoria funzionare, il condensatore si scarica tramite la R in un tempo leggermente prolungato tenendo chiuso il relè pochi instanti in più dopo la mancanza di tensione sul pin di comando del relè, terminata la carica il relè non ce la fa più e ci molla :slight_smile:

Un dito robotico? ]:slight_smile:

igor97:
Un dito robotico? ]:slight_smile:

:smiley: :smiley:

Ah, una cosa tipo questa insomma

leo72:
Ah, una cosa tipo questa insomma
The Most Useless Machine Ever - YouTube

ahahah si proprio quella :stuck_out_tongue_closed_eyes:

Bellissima sta cosa.... :smiley: il dito robotico più dispettoso del mondo .. non è priprio così che lo immaginavo il reset ahahahahahah

pablos:
Bellissima sta cosa.... :smiley: il dito robotico più dispettoso del mondo .. non è priprio così che lo immaginavo il reset ahahahahahah

ma questo: The Suicide Box - Useless Invention - YouTube
Magari vuoi fare il reset di arduino e....boom ]:smiley: