Riprogrammare tasto Reset

Ciao a tutti,
sono nuovo del forum quindi ne approfitto anche per presentarmi.
Sono un felice possesore di un arduino diecimila,la mia intenzione sarebbe fare in modo che alla pressione del tasto reset presente sulla board piuttosto che resettare arduino, si setti un pin in uscita al valore alto oppure richiami una specifica procedura. Non sono riuscito a trovare informazioni in merito per questo spero di trovare quì un anima pia che m' illumini.
Grazie mille.

Ciao

la mia intenzione sarebbe fare in modo che alla pressione del tasto reset presente sulla board piuttosto che resettare arduino, si setti un pin in uscita al valore alto oppure richiami una specifica procedura

Guardando i datasheet/schemi di Arduino Uno (ma è uguale per 2009 o Diecimila), il tasto reset è collegato al pin 1 dell'ATMega328 (PCINT14/RESET - PC6).
La funzione default del pin è RESET.

Nel datasheet c'è però scritto pure che è possibile utilizzarlo in funzione alternativa (PCINT14 piuttosto che RESET), settando il RSTDISBL Fuse.
Riempiendomi la bocca di cose che non conosco (probabile quindi che dica castronate) e che capisco poco, per ottenere ciò si dovrebbe settare il Fuse High Byte no. 7 a 0.
:astonished:

Il mio consiglio: usa un classico microswitch oppure preparati uno shield minimale con montato il mircroswitch.. XD

Concordo, ma questa cosa che hai letto mi incuriosisce, per settare i fuses devi ricorrere alla tecnica spiegata sulla Guida, quindi devi almeno procurare un chip vergine da programmare, ma io non lo farei, visto che il reset di Arduino molte volte ha la sua utilità.

Attenzione che se disattivate la funzione RST del pin reset, poi il micro non può più essere resettato esternamente. E se non può essere resettato esternamente, poi non può più essere programmato. E se non può più essere programmato poi va erasato con un programmatore ad alto voltaggio tipo quello che hai costruito tu, Michele.

Quindi, lasciate perdere il pin di reset... :wink:

posso sempre aprire un service a $) programmate gente, programmate $) $) $) ]:smiley:

Giusto, disabilitando il reset si rischia di brikkare il micro, e poi l'unico modo di riprogrammarlo è un programmatore hvsp

Già, non scherzate, io me lo sono dovuto costruire, partendo da uno shema americano, comunque funziona alla grande, appena completo gli "studi" di eagle realizzo il pcb per chi non ha dimestichezza con le millefori ma sa usare almeno un saldatore...

Vi ringrazio per le risposte ma dato che sono agli inizi preferisco lasciar perdere e generare la mia interruzione semplicemente leggendo un determinato carattere da tastiera.
Scusate se ho toccato "questo tasto" :sweat_smile:.

No, no, invee hai fatto benissimo, sarebbe stato molto peggio aprire un topic per chiedere cosa dovevi fare visto che il tuo Arduino dava errore quando cercavi di caricare lo sketch XD

Si attacca il Vcc, il GND ed il reset rispettivamente a fase, neutro e terra di una comune presa di casa e si erasa il chip ad alto voltaggio.... ]:smiley: ]:smiley: ]:smiley:

leo72:
Si attacca il Vcc, il GND ed il reset rispettivamente a fase, neutro e terra di una comune presa di casa e si erasa il chip ad alto voltaggio.... ]:smiley: ]:smiley: ]:smiley:

Signori, ecco l'annuncio che si aspettava da tempo: l'ArduMissile! XD XD

L'ArduFusione fredda

Fredda molto poco.... poi dipende molto da che tipo di protezione hai a disposizione del tuo impianto elettrico( magnetotermico e differenziale) e soprattutto dove ti trovi( mi ricordo... un castello in transilvania.... interruttore a leva.... "Ma questo è un malocchio!!!!!" "Perchè questo no??" vedi Frankestein Jr....)

riassumendo:
é possibile disattivare (con un fuse bit) la funzione reset del piedino reset ed usarlo come un comune pin di entrata/uscita digitale.
Questo comporta che non puoi piú caricare uno sketch tramite l' USB. Per caricare un programma devi usare un programmatore ISP (o un programmatore alta tensione, parliamo di 12V)

Se segui gli consigli di leo72 che ironicamente ha consigliato la 230 perprogrqammarlo lo rompi l'arduino di sicuro. :wink: :wink: :wink:

Ciao Uwe

scusami uwefed ma isp non ha anche lui bisogno del reset?

BrainBooster:
scusami uwefed ma isp non ha anche lui bisogno del reset?

Buona domanda; non lo so.

allora mi istruisco:
schema Arduino uno;
datasheet ATmega328;

Sul connettore ISP c'é anche il reset.
allora presumo che hai ragione e serve anche per il ISP il reset funzionante.

L'unica alternativa allora é la programmazione del ATmega in modalitá parallella applicando 12V al pin di reset.
Particolari a pagina 301 del http://www.atmel.com/dyn/resources/prod_documents/doc8161.pdf :
27.7 Parallel Programming

Ciao Uwe

Confermo tutto:
Per la programmazione ISP viene gestito il reset tant'è che è uno dei pin del connettore
L'HVFuse è la tecnica che consiste nel mandare 12V al pin reset durante la programmazione dei fuses, e permette di fare tutto; ho realizzato personalmente una board per atmega e attiny che esegue in automatico questa operazione e funziona grandiosamente; per tempo non ho approfondito una nuova release del software, perché mi sa che è in grado di leggere i fuses del chip e di scegliere quelli che si vogliono inserire. Ho recuperato 5 chip bricked, vittime della battaglia per la Guida.

joldan:
Fredda molto poco.... poi dipende molto da che tipo di protezione hai a disposizione del tuo impianto elettrico( magnetotermico e differenziale) e soprattutto dove ti trovi( mi ricordo... un castello in transilvania.... interruttore a leva.... "Ma questo è un malocchio!!!!!" "Perchè questo no??" vedi Frankestein Jr....)

Ma no! Lascia che l'aiuti io, padrone XD XD XD