Go Down

Topic: [GUIDA] Risolvere problemi di Arduino UNO su Ubuntu (Read 2 times) previous topic - next topic

supergiox

Mar 18, 2011, 01:46 pm Last Edit: Mar 18, 2011, 02:06 pm by supergiox Reason: 1
FIX per ARDUINO UNO su UBUNTU

Ciao a tutti,
da quando ho comprato Arduino UNO (circa 2 settimane fà) ho sempre avuto un pò di problemi con l'IDE di Ubuntu, mentre su Windows tutto funzionava perfettamente!
In particolare:
-avevo sempre problemi con l'Upload dello sketch
-riuscivo ad utilizzare solo la versione 2.2
-dovevo collegare Arduino alla porta USB tenendo premuto il tasto reset
-quando Arduino mandava un flusso di dati alla porta seriale (serial.print()) l'IDE si bloccava spesso
-dovevo mettere un delay di qualche secondo in "void setup(){ }"


Tutti questi accorgimenti mi permettevano di utilizzare Arduino, ma sinceramente li trovo abbastanza scomodi. Cercando su Internet ho trovato un FIX al problema, solo che ho dovuto prendere informazioni da più siti (in inglese) per capire bene cosa fare. Alla fine ne è valsa la pena e ho deciso di scrivere questa piccola guida che forse farà risparmiare un pò di tempo a qualcuno!
In realtà non la definirei proprio guida, ma l'elenco dei passaggi che mi hanno risolto i problemi :)
Da quello che ho letto, esistono possibilità remote (non so quanto) di brickare il proprio Arduino, per cui se decidete di procedere fate molta attenzione!
Vi scrivo passo passo cosa ho fatto, ma ovviamente NON MI ASSUMO NESSUNA RESPONSABILITÀ SU EVENTUALI DANNI!

-Per prima cosa caricate uno sketch vuoto su Arduino:
Code: [Select]

void setup(){}
void loop(){}


-scaricate questo file:
Arduino-usbserial-uno.hex

-Per verificare che avete scaricato il file corretto controllate l'md5:
Code: [Select]

md5sum Arduino-usbserial-uno.hex
8e01ee236e70bbea43f7eb4e11c9688a  Arduino-usbserial-uno.hex


-aprite il terminale e installate dfu-programmer:
Code: [Select]
sudo apt-get install dfu-programmer

-Adesso viene la parte più delicata: portare Arduino in modalità DFU!
Con mooolta attenzione effettuate questi collegamenti (tenendo i cavi poggiati per un secondo):


E scollegate nell'ordine inverso, cioè prima il cavo 2 e poi il cavo 1.
Dovreste vedere il led L accendersi per un attimo.

-Da terminale eseguite in ordine questi tre comandi:
Code: [Select]
sudo dfu-programmer at90usb82 erase
sudo dfu-programmer at90usb82 flash --debug 1 Arduino-usbserial-uno.hex
sudo dfu-programmer at90usb82 reset


-Disconnettete il cavo USB e ricollegatelo!

-FINE :)

Come ho già detto non posso garantirvi niente, posso solo dirvi che per me ha funzionato con Arduino UNO, su Ubuntu 10.10 64bit. Ciao!

Fonti principali:
http://www.strangeparty.com/2010/12/13/fix-your-arduino-uno-for-linux
http://arduino.cc/forum/index.php?action=profile;u=39383;sa=showPosts

Marco Ritrivi

#1
Mar 18, 2011, 05:29 pm Last Edit: Mar 18, 2011, 05:33 pm by Marco Ritrivi Reason: 1
Quote
me ha funzionato con Arduino UNO, su Ubuntu 10.10 64bit

ha funzionato anche a me con Arduino UNO, su Ubuntu 10.10 32bit :D ottima e utilissima guida!
PS affinchè sia completa la GUIDA bisogna trovare l'HEX originale  per permettere di ripristinare l'Atmega8U2 alle condizioni originali in caso di problemi!poi secondo me è il caso di postarla nel playground italiano :D!

supergiox

Hai ragione! Sul momento non mi sono neanche posto il problema :P però in effetti può servire l'HEX originale...

astrobeed

Gli hex originali sono posti nella directory :
"..\arduino-0022\hardware\arduino\firmwares\arduino-usbserial"

Quello per la UNO è:
"Arduino-usbserial-uno.hex"

Quello per la Mega2560 è:
"Arduino-usbserial-mega.hex"

supergiox

Ottimo! :)
Posso inserirli nel primo post per renderlo completo?

astrobeed

Penso di si, la differenza tra i due hex dovrebbe essere solo nel PID (Product ID) per l'USB che è diverso per le due schede.

supergiox

D'accordo, aspettiamo qualche altra conferma per sicurezza...

Go Up