Questo sito non è ne attivo ne aggiornato, specialmente la pagina del download è ferma a 5 vesioni fa , utilizzate il sito in inglese finchè questo sito non sarà annunciato ufficialmente
Indice | Introduzione | Guide: Windows, Mac OS X, Linux; Arduino Nano, Arduino Mini, Arduino BT, LilyPad Arduino, Arduino Pro, Arduino Pro Mini; Xbee shield | Troubleshooting | Software
On this page... (hide)
Dato che il pin RX non è connesso a nulla, il bootloader sulla scheda potrebbe ritenere che i dati che arrivano da quel pin non siano integri e pertanto non andrebbe in timeout, condizione necessaria per l'avvio dello sketch. Si può risolvere collegando il pin RX a terra tramite una resistenza da 10K (oppure collegandolo al pin TX).
Ci sono diversi errori che possono impedire l'upload di un programma:
[VP 1] Device is not responding correctly. riprovare a fare l'upload del progetto (ovvero, resettare la scheda e premere il bottone di download una seconda volta).
Se anche quest'ultima soluzione non funzionasse, chiedere aiuto nel forum ricordando di aggiungere le seguenti informazioni:
Questo problema può essere causato da un conflitto con il processo Logitech in backgournd: 'LVPrcSrv.exe'. Aprire Task Manager e controllate se tale programma è attivo. In caso affermativo, terminate il processo prima di ritentare l'upload. maggiori informazioni
Se state usando una scheda munita di USB, assicuratevi che il jumper (piccolo componente in plastica vicino al connettore USB) si trovi nella posizione giusta. Se la scheda è alimentata attraverso il suo connettore della corrente, con un trasformatore esterno, il jumper deve trovarsi sui due pin più vicini al connettore. Se, invece, la scheda riceve corrente tramite USB, il jumper va posizionato a cavallo dei due pin più vicini alla porta USB. La foto seguente mostra la configurazione con alimentazione attraverso porta USB.
(si ringrazia mrbbp per la segnalazione e la foto)
Purtroppo su alcune schede Arduino Diecimila è stato inserito il bootloader della Arduino NG. Funzionano ugualmente, ma quando viene effettuato il reset ci vuole più tempo prima che si avvii lo sketch (perchè la versione NG non è dotata di reset automatico e questo implica che la scelta manuale del momento per effettuare l'upload). Si può riconoscere la presenza del bootloader NG, perchè il LED sul pin 13 lampeggerà tre volte quando viene resettata la scheda (mentre nel caso della Arduno Diecimila lampeggia una sola volta). Se siete in possesso di una scheda Diecimila con bootloader NG, dovrete premere il pulsante di reset sulla scheda prima di caricare il vostro sketch. E' comunque possibile inserire il corretto bootloader sulla vostra Diecimila, seguendo le istruzioni che trovate qui.
Se facendo doppio-click sull'eseguibile arduino.exe in Windows ottenete:
Arduino has encountered a problem and needs to close.
sarà necessario avviare Arduino usando il file run.bat. Perfavore siate pazienti, l'ambiente di sviluppo di Arduino ci metterà un pò di tempo ad aprirsi.
Se ricevete il seguente errore:
Link (dyld) error: dyld: /Applications/arduino-0004/Arduino 04.app/Contents/MacOS/Arduino Undefined symbols: /Applications/arduino-0004/librxtxSerial.jnilib undefined reference to _printf$LDBL128 expected to be defined in /usr/lib/libSystem.B.dylib
probabilmente dovete aggiornare Max OS X alla versione 10.3.9 o successive. Le versioni precedenti a questa si basano su librerie di sistema incompatibili con l'ambiente Arduino.
Grazie a Gabe462 per la segnalazione.
Se ricevete un errore simile a questo:
Uncaught exception in main method: java.lang.UnsatisfiedLinkError: Native Library /Users/anu/Desktop/arduino-0002/librxtxSerial.jnilib already loaded in another classloader
probabilmente avete una versione non aggiornata delle libreire di comunicazione. Cercate comm.jar o jcl.jar nella cartella /System/Library/Frameworks/JavaVM.framework/ oppure nelle altre directory indicate nel variabili d'ambiente CLASSPATH o PATH. (segnalato da Anurag Sehgal)
Se ricevete questo errore all'avvio di Arduino:
Java Virtual Machine Launcher: Could not find the main class. Program will exit.
assicuratevi di aver estratto correttamente il contenuto del file .zip di Arduino - controllate soprattutto che la cartella lib si trovi subito all'interno la directory di Arduino e che contenga il file pde.jar.
Se avete installato cygwin sul vostro computer, potreste ricevere un errore come questo nel momento in cui cercate di compilare uno sketch in Arduino:
6 [main] ? (3512) C:\Dev\arduino-0006\tools\avr\bin\avr-gcc.exe: *** fatal error - C:\Dev\arduino-0006\tools\avr\bin\avr-gcc.exe: *** system shared memory version mismatch detected - 0x75BE0084/0x75BE009C.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility and delete all but the most recent version. The most recent version *should* reside in x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution. Rebooting is also suggested if you are unable to find another cygwin DLL.
Per risolvere il problema, assicuratevi di non avere cygwin avviato quando usate Arduino. Se il problema persiste potete provare a cancellare la libreria cygwin1.dll dalla directory Arduino sostituendola con cygwin1.dll presente nella vostra istallazione di cygwin (probabilmente la potete trovare in c:\cygwin\bin).
Si ringrazia karlcswanson per il suggerimento.
Se Arduino ci mette tanto ad apparire sullo schermo e sembra che si blocchi quando si tenta di aprire il menu Tools, potrebbe esserci un conflitto con altri dispositivi sul vostro sistema. Il software Arduino, all'avvio ed all'apertura del menu Tools, tenta di costruire una lista di tutte le porte COM presenti sul vostro computer. E' possibile che una pora COM creata appositamente da un altro dispositivo sul pc, rallenti questo processo. Date un'occhiata alla Gestione Periferiche. Provate a disabilitare il dispositivo che crea porte COM aggiuntive (ad es. un dispositivo Bluetooth).
Se state usando un scheda Arduino USB, assicuratevi di aver installato i drivers FTDI (trovate le istruzioni su questo Howto ). Se state usando un adattatore USB-to-Serial con una scheda seriale, verificate di aver installato il giusto driver dell'adattatore.
Controllate che la scheda sia connessa correttamente: la lista delle porte seriali si aggiorna ogni volta che aprite il menu Tools menu, per cui se avete appena disconnesso la scheda, essa non si troverà nel menu.
Non usate altri programmi in ascolto sulle porte seriali contemporaneamente ad Arduino, come utility per la sincronizzazione di PDA, drivers Bluetooth-USB (come ad es. BlueSoleil), virtual daemon tools, etc.
Su Windows, la porta COM assegnata alla scheda potrebbe essere troppo elevata. Da zeveland:
"Un piccolo suggerimento se non foste in grado di esportare e se la vostra scheda USB stesse usando una porta COM dal numero troppo elevato: provate a cambiare l'assegnazione del numero di porta COM al chip FTDI ad un valore più basso."
"Io ho un certo numero di porte COM virtuali assegnate al Bluetooth per cui la scheda sta usando la porta COM17. L'IDE non era in grado di trovare la scheda, allora ho cancellato le altre porte virtuali nel Pannello di Controllo (su XP) e ho spostato il valore della porta assegnata al chip FTDI a COM2. Fatto questo controllate se state effettivamente usando la nuova porta e buona fortuna."
Sul Mac, se avete una versione meno recente dei drivers FTDI, rimuovetela e installate l'ultima versione. Visitate questo thread per sapere come fare (si ringrazia gck).
Error inside Serial.<init>()
gnu.io.PortInUseException: Unknown Application
at gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:354)
at processing.app.Serial.<init>(Serial.java:127)
at processing.app.Serial.<init>(Serial.java:72)
Questo messaggio d'errore indica che la porta è attualmente in uso da parte di un'altra applicazione. Verificate che non ci siano altri programmi che impegnano le porte seriali o USB, come applicativi per la sincronizzazione con PDA, gestori di drivers per Bluetooth, alcuni tipi di firewall, etc. Inoltre, può succedre che alcuni software (ad es. Max/MSP) tengano aperta la porta seriale anche se non la usano - chiudete tutte le patches che usano la porta seriale o chiudete direttamente l'applicazione in questione.
Se ricevete questo errore quando state usando Arduino 0004 o precedente, oppure quando state usando Processing, dovrete lanciare il comando macosx_setup.command, e riavviare il computer. Arduino 0004 include una versione modificate di questo script che sarà utile a tutti coloro che lo usano (anche quelli che finora hanno usato lo script presente in Arduino 0003). Potrebbe anche essere necessario cancellare il conteunuto della cartella /var/spool/uucp.
Provate a risolvere installando l'ultima versione dal sito FTDI o contattando il loro supporto tecnico all'indirizzo support1@ftdichip.com.
Molto probabilmente state inviando dati seriali sulla scheda durante la fase di accensione. Infatti durante i primi secondi, il bootloader (un frammento di codice pre-installato sul chip della scheda) attendo che il computer gli invii un nuovo sketch da caricare sulla scheda. Dopo aver aspettato alcuni secondi senza alcuna comunicazione, il bootloader va in time-out e avvia lo sketch già presente sulla scheda. Se continuate ad inviare dati al bootloader, quest'ultimo non andrà in time-out il lo sketch non si avvierà. Trovate un modo per non inviare dati sulla seriale durante i primi secondi di accensione della scheda (ad esempio abilitando il chip che invia i dati dall'interno della routine setup()) oppure fate l'upload dello sketch con un programmatore hardware esterno, sostituendo anche il bootloader.
Probabilmente avete scelto la voce sbagliata dal menu Tools > Microcontroller. Assicuratevi di avere selezionato esattamente il microcontroller che corrisponde a quello sulla vostra scheda (o un ATmega8 o un ATmega168) - Il nome esatto è scritto sul chip più presente sulla scheda.
Un'altra possibile causa è costituita da un alimentatore che produce rumore/disturbo di segnale. Questo potrebbe far perdere lo skecth al chip sulla scheda.
In alternativa si potrebbe verificare che lo sketch sia troppo grande per la scheda. Una volta fatto l'upload, Arduino 0004 controlla che lo sketch non sia troppo grande per l'ATmega8, il calcolo delle dimensioni si basa su un bootloader da 1 Kb. Sulla vostra scheda potreste avere invece, un vecchio bootloader che occupa 2 Kb degli 8 Kb disponibili nello spazio di memoria programmabile del chip (flash) ATmega8. In tal caso solo una parte dello sketch viene caricata sulla scheda, ma il software non è in grado di accorgersene e pertanto la scheda continuerà alternare le fasi: reset, pausa, reset.
Se avete accesso ad un programmatore AVR-ISP o su porta parallela, potete inserire l'ultima versione del bootloader sulla vostra scheda tramite la voce di menu, Tools | Burn Bootloader. In alternativa, potete impostare nell'ambiente di sviluppo di Arduino, la quantit&arave; massima di memoria disponibile per gli sketch: basta modificare il valore della variabile upload.maximum_size, nel file preferences (leggete le instruzioni su dove trovare il file 'preferences'). Cambiate il valore da 7168 a 6144 e l'ambiente di sviluppo vi avviserà tempestivamente nel caso in cui il vostro sketch è troppo grande.
Il chip ATmega168 sulla scheda Arduino è molto economico e possiede solo 16 Kb di memoria disponibile per il codice deo programmi, un quantitativo abbastanza modesto. (inoltre 2 Kb sono usati per il bootloader).
Se usate calcoli in virgola mobile, provate a riscrivere li vostro codice sfruttando solo interi, questo vi permetterà di risparmiare circa 2 Kb. All'inizio del vostro sketch, togliete tutti i frammenti di codice #include che si riferiscono a librerie che non utilizzate.
D'altro canto potete sempre provare a ridurre la logica del vostro programma rendendolo più corto.
Il nostro team tenta sempre di ridurne la parte core di Arduino per lasciare più spazio ai vostri sketch.
Il microcontroller sulla scheda Arduino (ATmega168) supporta PWM/analogWrite() solo su determinati pin. Usare analogWrite() sugli altri pin restituira un uscita alta (5 volts) per valori più grandi di 128 e bassa (0 volts) per valori inferiori a 128. (Le versioni meno recenti delle schede Arduino munite di ATmega8 supportano uscite PWM solo sui pin 9, 10, and 11.)
L'ambiente di sviluppo di Arduino prova a generare automaticamente dei prototipi per le vostre funzioni: in questo modo potete ordinarle nel modo che volete nel vostro sketch. Tuttavia questo processo, non è perfetto e, a volte, provoca messaggi d'errore imprevisti.
Se dichiarate un tipo di dato personalizzato nel vostro codice e create una funzione che accetta o restituisce un valore di quel tipo di dato, potreste ricevere un errore in fase di compilazione dello sketch. Questo si verifica perchè il prototipo della funzione, generato automaticamente, appare al di sopra della definizione del tipo di dato personalizzato.
Se dichiarate una funzione che restituisce un tipo definito da due parole (ad esempio "unsigned int"), l'ambiente di sviluppo non si renderà conto che si tratta di una funzione e non ne creerà il prototipo. Questo significa che dovete provvedere voi stessi a crearne uno, oppure che dovete spostare la definizione della funzione al di sopra di ogni chiamata alla stessa.
Guide Home
I contenuti della guida Come iniziare sono distribiuti con licenza Creative Commons Attribution-ShareAlike 3.0. Gli esempi di codice nella guida sono di pubblico dominio.