Errore: stk500_getsync(): not in sync: resp=0x00

Ciao a tutti. Sono abbastanza nuovo nel mondo arduino. Premetto che uso una board ARDUINO UNO con microcontrollore ATMEGA328P. Stavo usando l'arduino in stand alone su una breadboard, collegata a un lcd e a una decina di pulsanti, led, laser e fotodiodi. Andava tutto bene e funzionava alla perfezione. ho poi modificato poi leggermente il circuito (ho aggiunto un paio di resistenze da 10K in punti assolutamente non dannosi per Arduino, ho controllato con un multimetro la tensione e sia prima che dopo la modifica la tensione è ben sotto i 5 V quindi non è stata sicuramente questa modifica a causare il problema) e quindi ridato potenza al circuito. ma l'LCD non funzionava correttamente. Dopo un po di tentativi a vuoto ho rimesso il microcontrollore nella basetta dell'ARDUINO UNO per riprogrammarlo (ai pin della scheda non è collegato nulla) ma ho ottenuto dapprima l'errore

"first mismatch at byte 0x1e000 0xff != 0x0d". Ci ho smanettato per 5 ore abbondanti e avrò provato a caricare e ricaricare programmi in tutti i modi possibili (tenendo premuto il tasto di reset, rilasciandolo iin vari modi, con condensatori, resistenze messi tra reset, GND e VDD...). Magicamente quel problema si è risolto e ora appare questo:

avrdude: stk500_getsync(): not in sync: resp=0x00

Il verbose restituisce:

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files\Arduino\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM4
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: 
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.

Che cosa posso provare ancora?
Nel caso dovessi ricaricare il bootloader devo avere a disposizione per forza un micro ATMEGA328P con dentro già precaricato un bootloader (non ho intenzione di comprare un programmer)? O devo prendere una intera scheda ARDUINO UNO?
Posso nel caso usare ARDUINO DUE (con il suo microcontrollore ovviamente) per caricare il bootloader nell'ATMEGA328P dell'ARDUINO UNO? perchè mi sembra che le tensioni di I/O del DUE sianon a 3.3 V. Vengono comunque letti correttamente dal microcontrollore dell?UNO?

Per la programmazione ISP tramite Arduino, ti serve un Arduino con dentro lo sketch "Arduino as ISP". quindi se non hai un altro micro col bootloader non puoi caricargli sopra lo sketch.
Non so se con la DUE (non ho questa scheda) possa funzionare. Tra l'altro la DUE usa bossac e non avrdude per la programmazione.
E' possibile che il micro si sia danneggiato, o anche che l'hai inserito male.
Controlla per prima cosa che faccia bene contatto con tutti i piedini.

Chiedi a qualche amico se ha un secondo Arduino (2009, UNO, MEGA) per provare a rimettere il bootloader nel micro, ma se è danneggiato l'operazione risulterebbe comunque inutile.
Basta poco per creare un corto e bruciare qualche pin sull'328P.

Per la programmazione ISP puoi seguire questa guida, applicabile anche con l'IDE 1.0.5 --> http://michelemenniti.it/arduino_burn_bootloader.php

Mi sono dimenticato di dire una cosa. Quando metto il micro sulla board e premo reset il led collegato alla porta 13 non lampeggia (è acceso in continuazione). Quando metto il micro in stand alone e premo reset il led blinka correttamente (in realtà la prima volta che premo il reset dopo che ho ridato potenza al circuito, il led lampeggia correttamente, rimane spento per 1 secondo circa e poi lampeggia nuovamente nello stesso modo di quando si preme il reset ma senza che questo sia stato premuto e rilasciato una seconda volta. Poi tutte le volte successive il led lampeggia correttamente solo quando il reset è premuto. Forse è dovuto al fatto che una parte del programma Blink si è comunque caricato nel micro e tenta di eseguirlo? ). In ogni caso il fatto che il led 13 non blinki correttamente sulla scheda vuole forse dire che la scheda è danneggiata? Dal momento in cui ho estratto il microcontrollore per metterlo in stand alone non l'ho neanche accesa la board (fino a ieri quando ho tentato di rimettere il bootloader nel micro) quindi mi sembra improbabile. Che en pensate?

PaoloP:
Chiedi a qualche amico se ha un secondo Arduino (2009, UNO, MEGA) per provare a rimettere il bootloader nel micro, ma se è danneggiato l'operazione risulterebbe comunque inutile.

Se compro (per esempio da ebay) un micro 328P con bootloader ARDUINO già installato è già pronto per essere usato sulla board o devo fare comunque altre operazioni?

Se prendi un ATmega328P con bootloader, non servono altre operazioni se non inserirlo correttamente.
Comunque se vorrai avere un minimo di strumentazione per risolvere i problemi più vari, un secondo Arduino è consigliato.
Se poi recuperi un Arduino Duemilanove, che monta il chip FTDI, con cui è possibile usare la tecnica Bit Bang, allora hai un buono strumentino per risolvere una certa parte di problemi. Almeno tutti quelli riguardanti la programmazione dei chip.

Non ho ben capito una cosa e vorrei conferma: tu hai un Arduino UNO, hai programmato il micro on board, poi lo hai tolto per metterlo in un circuito stand-alone?
Quindi allo stato attuale ti trovi con un Arduino UNO senza micro on board ed il suo micro originale che dà problemi?

Se compri un ATmegs328P con bootloader (ma sincerati che sia per Arduino UNO e non per Arduino 2009!) non devi fare nient'altro che installarlo su Arduino UNO e tutto riprende a funzionare e poi puoi smanettare sull'altro micro cercando di recuperarlo.

Lascia perdere Arduino Due per questi lavori, al di là delle enormi differenze tra le due schede c'è il fatto, che tu stesso hai sottolineato, che i livelli sono a 3,3V.

Per tua conoscenza l'errore che hai segnalato viene restituito quando non c'è collegamento corretto col micro, poiché l'errore te lo dà con li micro on board probabilmente è molto incasinato o è danneggiato.

Si esatto. Il micro che mi è arrivato con la scheda ARDUINO UNO l'ho programmato onBoard e testato il circuito completo (con ancora il icro inserito nel socket della scheda). Poi ho deciso che volevo farlo stand-alone (per poi portarlo in futuro su pcb ma questo è un'altro discorso) e l'ho estratto e messo insieme al circuito su una breadboard, alimentata dall'esterno, con il suo quarzo ecc... Quindi allo stato attuale ho una scheda ARDUINO UNO senza micro (o meglio ho un'altro ATMEGA328P ma è vergine, ironia della sorte l'avrei bootloadato appena finito di preparare il circuito stand-alone). Quindi devo per forza trovare un'altro ATMEGA328P con bootloader ARDUINO UNO giusto? E posso immediatamente usarlo sia per caricarci sopra i miei sketch sia per bootloadare il micro vergine?

Per quanto riguarda il micro "danneggiato". Qualcuno saprebbe dire (anche guardando cosa restituisce avrdude) se l'errore riscontrato è effettivamente da imputare a un danneggiamento del bootloader? Se le circuterie interne non sono distrutte ricaricare il bootloader risoverebbe il problema? (sinceramente non penso si siano danneggiate. Il micro stava lavorando già da un bel po e i collegamenti erano tutti dove dovevano essere. Forse qualche spike dall'alimentazione? Dubito perchè il regolatore di tensione 7805 ha 2 condensatori grossi tra i suoi terminali che dovrebbero evitare proprio queste fluttuazioni.)

Invece adesso è ritornato l'errore

avrdude: verification error, first mismatch at byte 0x0000
         0x0c != 0xff
avrdude: verification error; content mismatch

ma che diavolo vuol dire? è la scheda o il micro? posso fare qualcosa per questo errore?

avrdude: verification error, first mismatch at byte 0x0000
0x0c != 0xff

E’ un errore di verifica, avrdude si aspetta di trovare la prima locazione di memoria vuota e invece trova un valore.
Al 99% il micro è buono altrimenti probabilmente avresti un errore di signature non valida, quindi secondo me il bootloader è andato, l’unica è proprio comprare un micro con bootloader precaricato, ripeto: sincerati che abbia il bootloader di Arduino UNO, perché potrebbe avere quello di Arduino Duemilanove, si trovano ancora indifferentemente entrambi.

[quote author=Michele Menniti link=topic=203313.msg1498079#msg1498079 date=1386444904]
Al 99% il micro è buono altrimenti probabilmente avresti un errore di signature non valida[/quote]
Mai parole furono più profetiche. :frowning:

R.I.P. ATmega328P. :~

@Licius:
sì però non puoi aprire 3 thread sparsi nel forum per problemi di signature/verifica.... non potevi aggiornarci in uno solo?