Arduino Uno con upload bloccato

Ciao a tutti!

di recente ho bloccato un Arduino Uno, avendo quindi l'errore "avrdude: stk500_getsync(): not in sync: resp=0x00". Ho già letto delle guide/faq che consigliano di tenere premuto il tasto reset e, mentre faccio andare il caricamento, rilasciarlo e potrebbe riprendersi.

Ho già provato diverse volte ma con scarso successo.

Domandavo, c'è modo di sistemarlo con altri metodi per flashare? Ad esempio con un altro arduino in parallelo.

Aspetto risposte da tutti! :)

Ciao ho il tuo stesso problema. Purtroppo anch'io come te non sono riuscito a trovare il timing giusto tra il rilascio del pulsante di reset e il caricamento dello sketch. Io ti consiglio di ricaricare il bootloader. Quando premi il tasto reset non cancelli la memoria ma fai eseguire nuovamente il programma dall'inizio. Probabilmente per qualche motivo il bootloader (quella parte di "programma" che consente di caricare gli sketch, che è già stata scritta nella memoria del microcontrollore quando ti è pervenuto e che non viene scritta o sovrascritta quando carichi un nuovo sketch) si è danneggiato. Devi quindi riscriverlo dentro. Questo è possibile solo se hai un altro microcontrollore (nel caso della scheda ARDUINO UNO è il ATMEGA328P) con già scritto dentro da qualcuno il bootloader per ARDUINO UNO (non vergine quindi, stai attento quando lo compri su internet che ci sia scritto "con caricato il bootloader" e che sia per "ARDUINO UNO"). Poi devi solo connettere i pin del microcontrollore OK (il programamtore) ai pin giusti del micro da riparare, selezionare nell'IDE programmer: ARDUINO as programmer, e poi (sempre nel menù a tendina dove vedi la porta COM del tuo arduino) SCRIVI BOOTLOADER. Se compri solo un microcontrollore, senza scheda ARDUINO ricordati di prendere anche un quarzo appropiato (16 MHZ per arduino uno) e 2 capacità da 22 pf. Se invece prendi un nuovo micro con scheda ARDUINO (quindi già di default il micro dovrebbe contenere il bootloader per quella scheda) ti basta collegare opportunamente i pin. Comunque se cerchi sul forum o in rete qualcosa come "caricare il bootlloader ARDUINO" trovi numerosissime illustrazioni di come collegare e caricare i 2 micro (sia nel caso si possieda una scheda che sia nel caso se ne possiedano 2). M pare inoltre che servano qualche altro componente (un paio di resistenze e di condensatori e forse qualche led ma trovi tutto dettagliatamente su queste guide). questo è un esempio molto valido che userò appena mi arriva il secondo micro:

http://www.michelemenniti.it/vhd/Elettronica/Guida%20Programmazione%20ATMEL%20con%20Arduino.pdf

Prima di fare tutto questo però controlla che sul pin 0 o 1 non abbia collegato nulla.

Dimmi poi se ti sono stato utile. Ciao

Ciao,

ti saprò dire appena possibile. Comunque ovviamente non c'è niente collegato sui pin 0 e 1, diciamo che non sono il principiante in elettronica :P

prima di fare cose cosí drastiche hai controllato se : * sui Pin 0 e 1 non sia collegato niente * che il cavo USB non abbia problemi * che un serial non blocchi il caricamento (in questo caso puoi provare con un reset manuale durante l' upload e mollare il pulsante quando scrive l'IDe che ha finito di compilare). Ciao Uwe

uwefed: * che un serial non blocchi il caricamento (in questo caso puoi provare con un reset manuale durante l' upload e mollare il pulsante quando scrive l'IDe che ha finito di compilare).

Uwe ma tu riesci a fare questa manovra? perchè io ho provato migliaia di volte anche cronometrando e provando a vari intervalli am non mi è mai riuscito

devi solo mollare ilt asto reset quando il IDE segnala che ha finito di compilare e passa al upload. Non c'e la fai sempre ma dopo alcuni tentativi sí. Ciao Uwe

Salve, a me è propio capitato oggi la stessa identica cosa, in pratica avevo scritto uno sketch che anche se lo compilava e lo caricava senza errori c'era comunque un errore e la scheda rimaneva bloccata, non mi faceva caricare alcun sketch,

puoi provare così: *Stacca il cavo USB e qualsiasi fonte di alimentazione *Ricollega il cavo USB tenendo premuto il tasto reset senza rilasciarlo *Prendi un qualsiasi sketch esempio: Blink *Rilascia il pulsante reset e immediatamente premi su upload per caricare lo sketch sulla scheda

Io in questo modo ho risolto e tutto è ritornato a funzionare come prima.

Saluti Davide.

SamSteve: Ciao a tutti!

di recente ho bloccato un Arduino Uno, avendo quindi l'errore "avrdude: stk500_getsync(): not in sync: resp=0x00". Ho già letto delle guide/faq che consigliano di tenere premuto il tasto reset e, mentre faccio andare il caricamento, rilasciarlo e potrebbe riprendersi.

Questa cosa funziona solo se hai caricato sull'Arduino uno sketch che inizia a scrivere sulla seriale appena avviato. Se questo è il tuo caso, con la manovra d'emergenza© riesci a sistemare le cose. Se il blocco è stato causato da altro, potrebbe non servire. Difatti non hai spiegato come hai fatto a "bloccare" l'Arduino

Davide-1991: Salve, a me è propio capitato oggi la stessa identica cosa, in pratica avevo scritto uno sketch che anche se lo compilava e lo caricava senza errori c'era comunque un errore e la scheda rimaneva bloccata, non mi faceva caricare alcun sketch,

puoi provare così: *Stacca il cavo USB e qualsiasi fonte di alimentazione *Ricollega il cavo USB tenendo premuto il tasto reset senza rilasciarlo *Prendi un qualsiasi sketch esempio: Blink *Rilascia il pulsante reset e immediatamente premi su upload per caricare lo sketch sulla scheda

Io in questo modo ho risolto e tutto è ritornato a funzionare come prima.

Saluti Davide.

Non serve disalimentarlo. rilasci il pulsante troppo presto. Devi rilasciarlo quando scrive che fa l'upload. Ciao Uwe

Onestamente non so come si sia potuto bloccare e la manovra di emergenza l'ho già provata più volte.

Una cosa che ho notato, avendo un secondo Arduino, è stata quella di intercambiare i due ATMega328, risultato? Uno non andava, l'altro funzionava ma non mi permetteva di caricare alcuno sketch, ma il led Rx si illuminava.

Altre idee? Io stavo pensando che sia proprio l'Arduino e il relativo ATMega328 che sono saltati, seppur io non avessi fatto alcuna operazione strana, anzi, se ricordo bene c'era caricato ancora un mio circuito di un Timer, nulla a che vedere con porte seriali. Tanto per precisare tutt'ora quel circuito è funzionante su un altro Arduino.

La domanda che mi pongo ora, Arduino ha qualche tipo di garanzia?

Se hai due Arduino di cui uno funzionante caricaci sopra lo sketch "Arduino as ISP" che trovi tra gli esempi e poi segui la guida (http://michelemenniti.it/arduino_burn_bootloader.php) per caricare sul secondo lo sketch del blink e se funziona ricarichi il bootloader.