- 1. Scheda Arduino non riconosciuta
- 2. Scheda non sincronizzata
- 3. Il codice non si avvia al ripristino dell'alimentazione
- 4. Errore di firma del dispositivo non valido
- 5. Errore Launch4j
- 6. Porta seriale già in uso
- 7: lo schizzo viene caricato correttamente ma non succede nulla
- 8. Errore di collegamento insoddisfatto
- 9. Schizzo troppo grande
- 10. java.lang.StackOverflowError
Iniziare come principiante con Arduino, può essere piuttosto impegnativo per le persone senza un background di elettronica, ti imbatteresti in errori, alcuni dei quali potrebbero avere soluzioni semplici ma potrebbero richiedere giorni per risolverli. Quindi, per rendere le cose un po 'più facili, ho creato un elenco dei 10 errori Arduino più popolari insieme alle possibili soluzioni.
1. Scheda Arduino non riconosciuta
Si riferisce a una situazione in cui una scheda Arduino, collegata a un computer, non viene riconosciuta dal computer. Quando ciò accade, la scheda di solito non è elencata negli elenchi di porte dell'IDE di Arduino e talvolta è etichettata USB2.0 sotto il gestore del dispositivo.
Soluzione
Ciò accade quando si utilizzano alcuni cloni Arduino economici che utilizzano il chip convertitore da USB a seriale CH340g invece dell'FTDI (FT232RL) e altri utilizzati dalle schede Arduino standard. I driver per i chip da USB a seriale utilizzati dalle schede Arduino standard sono sempre impacchettati insieme al file di configurazione IDE di Arduino, quindi quando installi l'IDE, i driver vengono installati automaticamente sul tuo PC. Per poter utilizzare questa scheda Arduino basata su convertitore da USB a seriale CH340g, dovrai scaricare e installare il driver per il chip. Il driver può essere scaricato da questo link. L'installazione è semplice come fare clic sul pulsante di installazione nell'interfaccia di installazione mostrata di seguito.
Fatto ciò, ora dovresti essere in grado di individuare la porta a cui è collegata la scheda sull'IDE di Arduino.
2. Scheda non sincronizzata
Di solito, quando ciò accade, non sarai in grado di caricare il codice (anche se l'IDE a volte mostrerà "caricamento completato") sulla scheda Arduino e l'IDE visualizzerà il codice di errore; " Avrdude: stk500_getsync (): non sincronizzato: resp = 0x00 ".
Soluzione
La sincronizzazione: resp = 0x00 è una risposta generica che si traduce in "il chip Atmega non funziona " su Arduino. Quando ciò accade, ci sono un sacco di cose che potrebbero essere sbagliate. Di seguito sono riportati alcuni passaggi che potrebbero essere eseguiti per eliminare questo errore.
1. Assicurati che non ci sia nulla collegato ai pin digitali 0 e 1 su Arduino (inclusi gli shield).
2. Verificare che la porta com e la scheda corrette siano state selezionate nel menu strumenti.
3. Premere il pulsante di ripristino su Arduino un paio di volte e ricaricare il codice.
4. Scollegare e ricollegare Arduino al PC.
5. Riavvia l'IDE di Arduino.
Se qualcosa di simile non funziona, potrebbe essere il momento di provare a utilizzare una scheda Arduino diversa con il PC o utilizzare la scheda Arduino "difettosa" con un altro PC. Questo dovrebbe aiutarti a identificare quale di loro è l'origine del problema. Se scopri che il problema è con il PC, reinstalla l'IDE di Arduino. Tuttavia, se l'origine del problema è la scheda Arduino "difettosa", una soluzione definitiva sarà eseguire il flashing della scheda con il firmware Arduino. Se nessuna delle soluzioni precedenti funziona, potrebbe essere il momento di cambiare la scheda Arduino.
3. Il codice non si avvia al ripristino dell'alimentazione
Questo si riferisce ai casi in cui Arduino non esegue lo schizzo caricato su di esso quando è acceso e nella maggior parte dei casi, torna semplicemente allo schizzo lampeggiante associato al bootloader.
Soluzione
Proprio come gli altri problemi trattati, ci sono una serie di cose che potrebbero causare questo.
Se la scheda si blocca e non fa nulla, dovresti controllare il tuo codice per assicurarti di non inviare dati seriali alla scheda quando si accende. All'accensione di Arduino, il bootloader, nei primi secondi, ascolta il computer per inviargli un nuovo sketch da caricare sulla scheda. Se non viene ricevuto alcun nuovo sketch, dopo poco il bootloader scadrà ed eseguirà l'ultimo sketch caricato sulla scheda. Se il tuo codice sta inviando dati seriali durante i primi minuti, il bootloader non scadrà e l'ultimo sketch caricato sulla scheda non verrà avviato.
Se l'invio di dati seriali non appena la scheda si accende è una parte importante del tuo progetto, potresti dover trovare un modo per dargli un po 'di ritardo per impedire ai dati seriali di arrivare immediatamente l'Arduino si accende. Se le modifiche influiranno sull'attività che il progetto deve eseguire, potrebbe essere necessario caricare il tuo schizzo sulla scheda utilizzando un programmatore esterno, poiché il bootloader può essere bypassato da loro.
Se la scheda non si blocca ma ritorna allo schizzo di lampeggiamento di Arduino (il LED sul pin 13 lampeggia di tanto in tanto), una soluzione semplice sarà eseguire il flashing della scheda con il bootloader di Arduino, poiché quello sulla scheda potrebbe essere stato danneggiato.
4. Errore di firma del dispositivo non valido
Questo errore viene visualizzato quando si tenta di caricare il codice, su una scheda, diversa da quella selezionata sotto la lista strumenti> scheda sull'IDE di Arduino. Questo errore di solito si verifica perché la firma del dispositivo sulla scheda di destinazione è diversa da quella della scheda selezionata sull'IDE.
Soluzione
La soluzione a questo errore è semplice come assicurarsi che la scheda corretta sia selezionata sull'IDE di Arduino. Se questo non funziona, potrebbe essere necessario eseguire il flashing del microcontrollore con l'ultima versione del bootloader di Arduino.
5. Errore Launch4j
L'IDE di Arduino a volte impiega un po 'di tempo prima del caricamento e quando viene caricato, se fai clic su qualcosa, verrà visualizzato l'errore Launch4J come mostrato sopra. Launch4j è uno strumento utilizzato per avvolgere applicazioni Java (jars) in eseguibili nativi di Windows, consentendo loro di essere utilizzati come un normale programma Windows.
L'IDE di Arduino stesso è scritto in JAVA e questo errore si verifica a causa dell'incompatibilità della libreria Java Run Time Environment (JRE) fornita con l'IDE di Arduino.
Soluzione
Per esperienza, questo errore può essere cancellato semplicemente spegnendo la connettività Bluetooth o WiFi del PC. Tuttavia, una soluzione più completa e permanente è sostituire il JRE nel pacchetto Arduino con una versione recente.
6. Porta seriale già in uso
Questo è probabilmente uno degli errori più facili da risolvere. Di solito si verifica quando si tenta di caricare il codice su un Arduino mentre il monitor seriale è aperto (questo non è più un problema se si utilizzano versioni IDE recenti) o quando si tenta di avviare il monitor seriale quando Arduino sta parlando con un altro software o dispositivo tramite la porta seriale. In sostanza, si verifica quando si tenta di utilizzare la porta seriale di Arduino per due cose diverse contemporaneamente.
Soluzione
Proprio come suggerito dall'IDE, chiudi ogni altro software / strumento (incluso il monitor / plotter seriale) che potrebbe utilizzare la porta com. Se non sei sicuro del software in particolare, scollega Arduino. Dovrebbe essere pronto quando lo ricolleghi.
7: lo schizzo viene caricato correttamente ma non succede nulla
Questo errore è simile ad alcuni degli altri errori già trattati in precedenza. Per questo errore, l'IDE di Arduino suggerirà che il codice è stato caricato correttamente, ma la scheda non fa nulla.
Soluzione
- Assicurati che la scheda selezionata nell'IDE sia la stessa della scheda di destinazione.
- Ciò potrebbe essere dovuto al fatto che la dimensione dello schizzo è maggiore della capacità della scheda. Controlla le dimensioni dello schizzo e utilizza alcuni dei metodi sopra menzionati per ridurre le dimensioni.
- Infine, questo errore potrebbe verificarsi quando viene utilizzato un alimentatore rumoroso. Assicurarsi che l'alimentazione sia sufficientemente stabile.
8. Errore di collegamento insoddisfatto
Questo è probabilmente l'unico errore raro che è stato inserito in questo elenco. Ciò si verifica quando si dispone di una vecchia versione della libreria di comunicazione in giro sul PC, molto probabilmente da un'installazione precedente.
Soluzione
Per risolvere questo errore, cerca comm.jar o jcl.jar in /System/Library/Frameworks/JavaVM.framework/ o nelle directory sulle variabili di ambiente CLASSPATH o PATH del tuo PC.
9. Schizzo troppo grande
Questo errore si verifica quando il codice è più grande della memoria flash di quella particolare scheda Arduino. La dimensione della memoria flash di Arduino Uno, ad esempio, è di 32 KB con 2 KB già utilizzati dal bootloader di Arduino. Se devi caricare un codice con una dimensione superiore a 32Kb, Arduino mostrerà questo avviso.
Soluzione
Come accennato in precedenza, ciò si verifica quando il tuo schizzo è più grande della memoria flash della particolare scheda che stai utilizzando, quindi, per risolvere questo problema, devi trovare modi per ridurre la quantità di spazio occupato dal tuo codice. Alcuni dei suggerimenti per raggiungere questo obiettivo includono;
- Ove possibile, usa tipi di dati interi al posto di un float.
- Dove possibile utilizzare il qualificatore "const" quando si dichiarano le variabili.
- Includere solo le librerie necessarie. Ove possibile, utilizza le versioni leggere delle librerie più importanti.
- Migliora il codice in generale. Sviluppa algoritmi che potrebbero aiutarti a rendere il tuo codice più breve e generalmente leggero.
Una soluzione più radicale sarà quella di spostare il progetto su un'altra scheda, come la Arduino Mega, che ha una memoria flash più grande rispetto alla Uno.
10. java.lang.StackOverflowError
Durante l'elaborazione dello schizzo, Arduino utilizza alcune espressioni regolari per l'elaborazione e talvolta si confonde quando incontra determinati errori relativi alle stringhe come le virgolette mancanti.
Soluzione
Questo errore viene risolto dando una seconda occhiata al codice, in particolare alle parti in cui vengono utilizzate le sequenze di stringhe. Assicurati che le virgolette siano complete, che i backslash siano usati correttamente ecc.
C'è un limite al numero di errori che si possono inserire in un singolo tutorial e per questo motivo ci fermeremo qui. Tuttavia, questo elenco contiene alcuni degli errori più comuni che i principianti devono affrontare quando usano Arduin o. Stai combattendo un errore particolare, sentiti libero di lasciare un commento, si spera, possiamo risolverlo insieme.
La prossima volta.