Go Down

Topic: Riprogrammare tasto Reset (Read 2071 times) previous topic - next topic

1logic0

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.

pitusso

Ciao
Quote
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.
:smiley-eek:

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

Michele Menniti

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à.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

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...  ;)

Michele Menniti

posso sempre aprire un service a $) programmate gente, programmate  $) $) $)  ]:D
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BrainBooster

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

Michele Menniti

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...
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

1logic0

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"  :smiley-sweat:.

Michele Menniti

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
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

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....  ]:D ]:D ]:D

Michele Menniti


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....  ]:D ]:D ]:D

Signori, ecco l'annuncio che si aspettava da tempo: l'ArduMissile! XD XD
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72


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....)

uwefed

#13
May 23, 2011, 05:48 pm Last Edit: May 23, 2011, 10:54 pm by uwefed Reason: 1
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.  ;) ;) ;)

Ciao Uwe


BrainBooster

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

Go Up