Reset ATtiny85 connesso ad Arduino

salve,
seguendo questa pratica e famosa guida
http://hlt.media.mit.edu/?p=1695
sto facendo esperimenti vari con un ATtiny85. Ho intenzione però di aggiungere alla breadboard anche un bottoncino che mi colleghi il pin reset dell'ATtiny al Gnd per resettare velocemente il microcontrollore, un po' come fa il tasto reset di arduino credo. Ho notato però che così facendo quanto premo il tasto porterei a Gnd anche il digitalPin10 di arduino che durante la programmazione è collegato al pin reset dell'ATtiny. Ci sono pericoli di qualche tipo nel fare questo collegamento "collaterale"?
Grazie

Ciao, veramente c'è una Guida molto più pratica e famosa, per di più in perfetto Italiano, quella di Leo72 (cerca uno dei suoi interventi e clicca sul link che ha messo in firma...)
Il collegamento che hai fatto per la programmazione teoricamente dovresti rimuoverlo una volta che hai terminato, perché hai necessità di lasciarlo finita la programmazione?
Se la necessità c'è, scordati il pusantino, mettere a massa un pin settato come uscita per me non sarà piacevole per il micro di Arduino.

Sì, infatti terminata la programmazione dovresti rimuovere i fili. Poi puoi mettere tutti i pulsantini che vuoi.

oh scusate non sapevo dell'esistenza della guida di leo, fin'ora avevo solo letto guide in inglese che spesso fanno riferimento a quella. Dunque è meglio resettare l'attiny solo quando scollegato da arduino come sospettavo. Quindi di conseguenza l'idea di includere il pulsantino direttamente in uno shield come questo:

è da considerarsi abbastanza infelice ed azzardata..
Vi ringrazio delle pronte risposte! :slight_smile:

Quello shield mi pare un programmatore. Si desume che dopo averlo programmato, uno rimuova l'Attiny85 e poi lo usi sul suo circuito.

sisi certo, quello che mi insospettiva era il fatto che su quello shield è incluso il famoso pulsantino che porta a massa il pin di reset dell'attiny, e di conseguenza il pin 10 di arduino, andando incontro ai problemi di cui parliamo, no?

Ciao,
veramente una semplice soluzione elettronica per rendere indipendente il tastino di reset sull'ATtiny ci sarebbe...basta inserire un diodo e una R (la stessa di pullup del pin di reset) e ti togli il pensiero. :stuck_out_tongue_closed_eyes:

anche io inizialmente avevo pensato ad utilizzare un diodo in qualche modo, però non sono molto esperto a riguardo, potresti essere più preciso riguardo la collocazione del diodo e della resistenza?
grazie mille

Sapevo che me lo avresti chiesto, così ho preparato un piccolo schema :slight_smile:


In questo modo il segnale LOW prodotto dalla pressione del pulsantino non passerà sul pin 10 di Arduino perchè bloccato dal diodo. Mentre quando il programmatore vuole resettare il tiny può farlo liberamente. In mancanza di segnali di reset il pin dell'Attiny è garantito essere alto dalla R di pullup.

Molto interessante l'idea :slight_smile: in effetti il pin 10 serve solo per inviare un impulso Low di brevissima durata nella programmazione ISP, quindi non c'è pericolo (come nel caso degli altri tre pin coinvolti) che vengano "tagliate" le semionde positive dei segnali, la R di pull-up sopperisce alla mancanza dell'High di conclusione dell'impulso di reset; semplice e geniale, i miei omaggi XD

Dai Mike, non esagerare...non ho inventato niente, chi ha a che fare con l'elettronica (e io sono solo un "beginner level") sa bene che problematiche di questo tipo sono praticamente la normalità.
Com'è mia abitudine, prima di pubblicare lo schema l'ho ovviamente provato per essere certo che funzionasse. :stuck_out_tongue:

Mi associo a Mike per i complimenti a dalubar! Sono queste le idee GENIALI: cose semplicissime a cui nessuno pensa ma che risolvono grandi problemi XD

dalubar:
Dai Mike, non esagerare...non ho inventato niente, chi ha a che fare con l'elettronica (e io sono solo un "beginner level") ......

Signori, quando qualcuno vi chiederà la definizione pratica dell'espressione "faccia tosta", ricordatevi di questa frase e di chi l'ha scritta XD

ROTFL

@Leo: grazie per i complimenti.

@A tutti e due:
Hei ma...siamo sicuri che, "non mi state prendendo per il ...giro?"
(come mi disse una volta un mio allievo al quale feci una battuta che evidentemente non capì...mi guardò serio e mi disse: "Prof, lei mi sta prendendo per il giro!" Ho riso per giorni pensandoci)

ottimo! grazie mille! :slight_smile:

scusate se riapro la discussione ma penso di essermi perso un passaggio fondamentale, ecco il problema:

  1. carico un semplice blink sull'attiny85 attivato sul pin0
  2. metto l'attiny su una breadboard con collegati solo i 5V ed il Gnd presi da arduino ed il led con la sua resistenza da 220 al pin 0. il led lampeggia come previsto, tutto ok.
  3. prendo un jumper e collego il Gnd al pin di reset dell'attiny con l'intento di resettarlo. lascio collegato per un paio di secondi ma quando scollego il cavetto il led riprende a lampeggiare come se nulla fosse accaduto, quindi l'attiny non si è resettato. Riprovo scollegando prima il led ma nulla cambia.
    Mi sto scervellando ma penso che la soluzione sia banale, cosa sbaglio?
    grazie

Ma tu per RESET cosa intendi? La cancellazione della memoria o l'inizializzazione del micro e l'inizio di una nuova esecuzione del programma?

aa ecco svelato l'arcano allora :stuck_out_tongue: io pensavo che per reset si intendesse il ripristino alle condizioni di fabbrica e quindi anche un piallamento della memoria, ma a quanto pare non è così. Quindi il reset ha esattamente lo stesso effetto di scollegare e ricollegare l'alimentazione?

grazie

Il pulsante di "reset" serve per ripristinare lo stato iniziale della macchina. E' un po' come togliere e rendere l'alimentazione.
Diversamente da un computer, però, dove se resetti la macchina perdi il programma caricato perché questo risiede su RAM, quindi su una memoria volatile, su un microcontrollore il programma è scritto su una Flash, quindi su una memoria che non perde il contenuto se viene tolta l'alimentazione (così come succede sulle pennine USB o le schedine di memoria per i telefonini o le macchine fotografiche).

ok perfetto, grazie!