[RISOLTO] Problema upload e ethernet shield (Arduino UNO)

Salve a tutti! :) è un pò di tempo che gioco con l'arduino UNO, lo comprai verso novembre credo e iniziai con qualche esperimento con trasduttori di calore, luce e via dicendo. ora però mi sorgono alcuni dubbi, il primo è che la board non "ricorda" lo sketch caricato in precedenza, se infatti premo il pulsante di restart oppure levo e rimetto l'alimentazione (sia usb c he esterna) gli sketch non vengono caricati.

il secondo è che non mi spiego perchè se l'ethernet shield (ufficiale) è attacato ad Arduino, non riesco ad effettuare l'upload di nessuno sketch l'errore è: "programmer is not responding", che viene ripetuto due volte.

il terzo è che, una volta caricato lo sketch sull' arduino e aggirato i due problemi precedenti, da browser non riesco a caricare la pagina che arduino dovrebbe inviare (sto usando l'esempio webServer incluso nell'IDE), tuttavia riesco a pingarlo tranquillamente e risponde anche...un'altra cosa è che con l'esempio di telnet, riesco a visualizzare il messaggio che gli dico di inviare ma solo dopo una lunghissima serie di caratteri indefiniti (quadratini e rombi con un punto interrogativo dentro, spazi e via dicendo).

Sto lavorando su Arch Linux a 32 bit (la macchina è a 64) e l'IDE è alla versione 0022...vi ringrazio anticipatamente se riuscite a risolvere questi miei dubbi.

Sei un po' sibillino :cold_sweat: Lo sketch è scritto nella Flash dell'Atmega quindi, una volta salvato, è IMPOSSIBILE che si cancelli da solo o per un reset oppure semplicemente scollegando e ricollegando l'alimentazione. A meno di non scrivere un nuovo sketch, che cancella quello precedente. Oppure usando un programmatore esterno per cancellare tutta la memoria dell'Atmega.

Non è che per caso ciò che dici tu ti capita quando hai l'Arduino collegato al PC?

@ Elfo404

L’ethernet shield ha un errore e per questo il ATmega perde la memoria ( nel Forum tedesco in un caso simile un po di tempo fa parlavano di alzheimer del Arduino)
Sono da togliere una resistenza e un condensatore: http://www.watterott.com/en/blog/Upload-problem-with-Ethernet-Shield.

@leo72
Ti do ragione che non é spiegabile e se non ci fossere quelle segnalazioni da piú persone non ci crederei, ma l’ arduino con l’ethernet shield perde i programmi flashati nel Atmega. (ma non parlavano mai del Bootloader perso.)

Ciao Uwe

@uwefed giuro che è da venerdì che cerco in giro e non ho trovato nulla :P comunque confermo, se levo l'ethernet shield lo sketch precedente viene caricato tranquillamente.

@leo72 eh infatti ho chiesto proprio per questo delucidazioni, non trovavo nessuna spiegazione logica alla "cancellazione" dei programmi caricati.

Riguardo gli altri due problemi? non mi costa nulla levare l'ethernet shield prima di caricare lo sketch, però farmi rispondere dal server arduino mi serve eccome, altrimenti a quelli della commissinoe d'esame a fine anno racconto una barzelletta :D

Grazie mille^^

uwefed: L'ethernet shield ha un errore e per questo il ATmega perde la memoria ( nel Forum tedesco in un caso simile un po di tempo fa parlavano di alzheimer del Arduino) Sono da togleier una resistenza e un condensatore: http://www.watterott.com/en/blog/Upload-problem-with-Ethernet-Shield.

Trovo veramente molto difficile credere che un ATmega si perde la programmazione dopo il reset, la nota tecnica che hai segnalato parla di problemi con l'upload dei programmi, probabilmente i due componenti da rimuovere o bloccano l'autoreset oppure danno fastidio alla comunicazione seriale. Purtroppo di questa nuova versione con POE dell'ethernet shield non sono ancora disponibili gli schemi, pertanto non è possibile capire quale sia il reale problema che blocca l'upload.

Ciao astrobeed Non ho esperienza di prima mano. Posso solo riferire quello che dicono nel tread http://arduino.cc/forum/index.php/topic,54312.msg390868.html Thomas dice che l' arduino perde il programma precedentemente caricato quando aggiunge l' ethernet shield e lo riaccende oppure se lo carica col ethernet shield collegato funziona ma il programma é via quando lo spegne e lo riaccende. Zickendoktor dice di non poter caricare programmi sul Arduino col Ethernet shield collegato; ma L' arduino non perde i programmi quando aggiunge il Ethernet shield. Thomas conferma che togliendo la resistenza e il condensatore come descritto da Watterott gli funziona tutto bene.

Su http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1288129308 descrivono un problema col Bootloader del Uno messo sul 2009. Anche lí perdeva il programma caricato e rimettendo il bootloader del 2009 funzionava di nuovo tutto.

Ciao Uwe

uwefed: Non ho esperienza di prima mano. Posso solo riferire quello che dicono nel tread http://arduino.cc/forum/index.php/topic,54312.msg390868.html

Purtroppo il mio tedesco è ancora più limitato del mio giapponese :), mi è toccato leggere usando il traduttore di google, comunque si capisce lo stesso. In effetti è molto strana questa cosa della lamentata perdita del programma, in settimana mi faccio dare una di queste nuove ETH POE da Robot Italy e la provo personalmente, poi vi farò sapere.

Su http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1288129308 descrivono un problema col Bootloader del Uno messo sul 2009. Anche lí perdeva il programma caricato e rimettendo il bootloader del 2009 funzionava di nuovo tutto.

Su questa cosa posso spiegarti tutto io, poi magari ci pensi tu a postarlo sul forum in lingua Tedesca. Il bootloader della UNO utilizzato sulla 2009, o altro tipo di Arduino, si pone in una condizione di loop perenne, infatti il led di stato, quello collegato al pin 13, lampeggia costantemente e non viene eseguito nessun sketch. Però se si prova a caricare uno sketch, selezionando UNO come scheda, ci si riesce e poi funziona fino a che non si resetta la scheda o la scollega dall'alimentazione. Al riavvio della scheda il led ricomincia a lampeggiare creando l'illusione che lo sketch è andato perso e che sia necessario ricaricarlo, operazione che se eseguita fa ripartire il tutto. In realtà basta inviare un carattere qualunque sulla seriale di Arduino per farlo uscire dalla situazione di stallo e far partire lo sketch caricato prima, in alternativa basta portare RX a 0 logico per un attimo e "magicamente" il tutto si avvia. Purtroppo questo problema, anche se bypassabile, rende di fatto inutilizzabile il bootloader della UNO su schede non UNO a meno di non prendere provvedimenti hardware esterni come ho fatto sulla Luigino 328.

Dico una cosa. La segnalazione di Watterott è di 1 anno fa e lo shield visualizzato è ben differente da quello presente nella sezione "hardware" del sito: http://arduino.cc/en/Main/ArduinoEthernetShield

Forse anche il problema è stato risolto con l'aggiornamento dell'HW. Sarebbe ora curioso sapere da parte di elfo quale tipo di ethernet shield ha lui.

Ciao leo72
la notizia di Watterott é stata inserita il tre marzo 2011 alle 12:00:00
Penso che la scheda ethernet é una delle piú nuove visto che porta il logo del Arduino Uno (l’infinito col piú e il meno).
Ciao Uwe

La data sulla segnalazione è 2011-03-03, cioè pochi giorni fa, la scheda è diversa perché la nuova versione POE.

porc..... ho preso un abbaglio!!!! Pensavo a marzo 2010!!!! chefiguradi..... :*

se pensavi al marzo 2010 allora siamo nel tuo futuro ;) ;) ;)

Ciao Uwe

Scusatemi ma sono ancora mezzo rimbecillito dall'influenza. Ieri ero febbricitante, oggi sto ritto per miracolo :sleeping:

lo shield dovrebbe essere uguale a quello dell'articolo, l'ho comprato giovedì in un negozio fidato ed il proprietario mi ha esplicitamente detto che si tratta dell'ultima versione. Ora, il mio problema è che sono un pochino indietro col progetto d'esame (e dal momento che 40€ non li vedo tutti i giorni e visto che ho altre spese in vista, sempre per il progetto, non è che abbia tanta voglia di buttare lo shield, anche perchè studio informatica e al massimo riesco a collegare 2 resistori in parallelo senza uccidere nessuno) quindi se qualcuno fosse così gentile da guidarmi nell' "intervento" sulla board, gliene sarei infinitamente grato.

se poi la stessa persona mi volesse dare delucidazioni e suggerimenti anche per gli altri problemi, un paio di special thanks a fine tesina non glieli leva nessuno :D

Dove abiti? Forse qualcuno con esperienza di saldare abita nella Tua vicinanza. Ciao Uwe

Roma, zona Ponte Mammolo..se qualcuno fosse tanto gentile ripagherei con una birra o due.

PS: posso muovermi anche un pò, ho una macchina che regge..più o meno :D

Piccolo aggiornamento: Ho finalmente rimosso i due componenti di figura: http://www.watterott.com/media/images/popup/ETH_modification.jpg Che confermo essere un condensatore e una resistore che, da quanto ho capito, servono ad eliminare qualche tipo di disturbo ( credo ).

La flash adesso mantiene gli sketch in memoria, il tempo di upload mi pare essere abbastanza diminuto ed inoltre è sparito uno strano comportamento che impediva all'IDE di caricare più sketch durante un unica sessione (in pratica per caricare uno sketch prima dovevo ogni volta chiudere l'IDE, scollegare l'USB di Arduino, ricollegare l'USB e riavviare l'IDE).

Grazie ancora a tutti per l'aiuto!