Una simpatica soorpresa, dopo l’aggiornamento ad Ubuntu 11.10 nei laboratori della scuola scopro che Arduino 0023 non funziona, errore di compilazione!
Qualche tempo fa avevo realizzato il tutorial per l’installazione di Arduino su Ubuntu 9.10 (karmic), la procedura per l’installazione è simile anche per Ubuntu 11.10, ma per accelerare i passi userò i comandi da terminale ed inoltre vi mostrerò con alcune schermate come procedere per eliminare l’errore di compilazione.
La soluzione al problema di compilazione è stata trovata da Matt Greensmith che ha scoperto il bug presente su questa versione di Arduino.
Grazie Matt!
Al suo tutorial ho aggiunto una serie di schermate per:
- mantenere memoria storica e ricordarmi come procedere in futuro
- per rendere più semplice il lavoro a chi non è molto esperto nell’uso di Ubuntu.
Ma perchè si ha un errore di compilazione?
La nuova versione della libreria avr-gcc causa un errore di compilazione su qualsiasi sketch segnalando un problema sulla libreria math.h (vedi immagini più avanti). Il problema dipende dal fatto che nella libreria math.h è definita la funzione round che guarda caso è anche definita anche nel core di Arduino, questo ovviamente causa un conflitto.
Vediamo come procedere.
Installazione Arduino
01. Per prima cosa scaricate dal sito Arduino la versione 0023:

02. Con una nuova installazione di Ubuntu è necessario installare Java. Usiamo il terminale e digitiamo:
sudo apt-get install openjdk-7-jre

Inserite la password amministratore e premete invio:

Rispondete “s” quando vi viene chiesto di “Continuare” con l’installazione:

Non dovrete confermare più nulla, capirete che l’installazione di Java è conclusa quando comparirà nuovamente il prompt:

03. A questo punto, come detto nel tutorial precedente, bisogna installare la libreria AVR C, procediamo sempre da linea di comando:
sudo apt-get install avr-libc gcc-avr

Anche in questo caso vi verrà richiesto di confermare con “s” l’installazione:

e continuate fino a quando non compare nuovamente il prompt:

04. a questo punto eseguiamo Arduino facendo click sul “Arduino”

e facciamo click su esegui:

05. selezionate la board corretta (nel mio caso Arduino UNO):

06. selezionate la porta seriale corretta:

07. verifichiamo il funzionamento di Arduino aprendo dagli esempi lo sketch “blink” e compiliamo:

notate che, come detto all’inizio del tutorial, viene restituito l’errore che fa riferimento alla libreria math.h
08. per correggere l’errore bisogna aprire il file wiring.h la cui posizione è: /arduino-0023/hardware/arduino/cores/arduino/wiring.h, potete accedervi direttamente usando il terminale oppure aprirlo con il vostro editor di testo preferito. Di seguito le schermate che vi mostrano la posizione di wiring.h nella gerarchia delle cartelle partendo dalla cartella: Arduino 0023:
[wpspoiler name=”Dove si trova wiring.h ?”]





[/wpspoiler]
09. editiamo il file wiring.h
Come detto sopra, aprite il file con il vostro editor di testi preferito, io ho usato “pico” da terminale e posizionatevi sulla riga 79 e rendetela commento aggiungendo “//” all’inizio della riga:
// #define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))



Bene!
L’installazione e la correzione del bug è terminata, ora potete incominciare ad utilizzare Arduino.


Una variabile è un modo per nominare e memorizzare un valore numerico per un successivo utilizzo da parte del programma.




06. entrate con la vostra user e la vostra password e Ubuntu apparirà con l’interfaccia Gnome Classic.

Credo che voi come me abbiate incontrato durante la vostra vita insegnanti o amici che vi hanno donato un’idea o un modo di operare che vi ha arricchito intellettualmente e migliorato la vostra vita lavorativa. Io ne ho molti e tra questi sicuramente l’amico Alessandro Rodella (Alex per gli amici) è l’esempio per me di creatività tecnica/elettronica. Alessandro è un software engineer in una grande azienda che produce software di Borsa per l’Italia e per mercati borsistici esteri, a lui si deve la direzione di importantissimi progetti. Con lui condivido la stessa passione per l’elettronica e fin da bambini ci portiamo dentro la voglia di smontare dispositivi elettronici per scoprirne il funzionamento. Una delle ultime passioni di Alex è Arduino con cui sta realizzando apparati interessantissimi, in questo ultimo periodo si sta occupando di domotica e finalmente ha deciso di incomiciare a pubblicare i suoi esperimenti.



