Errori arduino IDE

Domenica 27 ottobre 2013 ho incontrato in aula alcuni appassionati arduino che sono intervenuti al Corso Base Arduino in aula non ufficiale.

errori arduino ide  compilazione

Innanzitutto ringrazio tutti i presenti per la bellissima giornata e la partecipazione alla giornata, sicuramente il clima propositivo e la voglia di imparare cose nuove hanno contribuito alla buona riuscita del corso e alla crescita personale di ciascuno con arduino.

Domenica abbiamo affrontato insieme alcuni esercizi pratici di scrittura del codice e testato il corretto funzionamento non solo degli sketch ma anche della logica con cui affrontiamo un progetto arduino.

Errori arduino IDE

Ogni sketch scritto durante il corso lo abbiamo trasferito su arduino e testato, questo mi ha permesso di osservare alcuni errori arduino ide ricorrenti che possono capitare quando scrivi il tuo sketch e lo compili per trasferirelo su Arduino. Non ho mai dedicato un articolo ad alcuni degli errori arduino ide “classici” in cui puoi incorrere quando scrivi i tuoi sketch.

Sono errori con cui tutti ci siamo scontrati, sopratutto all’inizio, e che ancora oggi anche a me capitano quando scrivo uno sketch.

Ho deciso di farne una piccola panoramica e di tenerla aggiornata ogni volta che mi capita un nuovo errore.

Come riconosco un errore

La prima cosa che devi sapere sugli errori è che l’IDE arduino ti segnala gli errori di sintassi e di comunicazione con la scheda, questo significa che se commetti errori di logica: vuoi accendere un led collegato al pin 13 e scrivi digitalWrite( 9,HIGH ); sintatticamente è corretto ma logicamente non accenderai MAI il led collegato al pin 13, al massimo quello collegato al pin 9.

La seconda informazione che ti potrà risultare utile è che gli errori arduino ide sono segnalati in arancione nella parte inferiore dell’ide arduino.

Se il tuo sketch non presenta errori e non ci sono difficoltà di trasferimento del codice compilato sulla scheda arduino avrai una situzione simile alla seguente:

errori arduino ide success

in caso di errori la parte inferiore dell’ide apparirà in questo modo:

errori arduino ide errore

La terza cosa importante è che l’ide arduino cerca di darti tutte le informazioni necessarie a risolvere l’errore sintattico e questo a volte comporta un’eccessiva mole di informazioni nella parte inferiore dell’ide ma quello che ti interessa spesso è relativo alle prime 2/3 righe di errore.

“Classici” errori arduino ide

Ho ripreso 4 errori arduino ide in cui potresti trovarti scrivendo sketch per il i tuoi progetti ed ho riportato possibili soluzioni.

Errore Uno

Il primo errore che tutti facciamo e che sicuramente ti sarà capitato è:

Blink:11: error: expected unqualified-id before numeric constant
Blink:13: error: expected ‘,’ or ‘;’ before ‘void’

errori arduino ide punto e virgola

Se lo leggi con attenzione comprendi subito che si tratta di un errore di sintassi.

La seconda riga di errore dice che era attesa una “,” o un “;” prima della dichiarazione ‘void’.

Ricevi anche un’altra informazione: Blink:11 la linea 11 presenta l’errore e alla linea 13 si manifesta l’effetto descritto sopra.

CAUSA: controlla la linea 11, precedente a quella in cui hai dichiarato il void setup() , manca proprio un punto e virgola “;”.

RISOLUZIONE: aggiungi il punto e virgola alla linea 11 ed esegui la verifica.

Errore Due

Un altro degli errori arduino ide frequente è il seguente:

Blink.ino: In function ‘void setup()’:
Blink:19: error: a function-definition is not allowed here before ‘{‘ token
Blink:24: error: expected `}’ at end of input

errori arduino ide parentesi

Anche in questo caso la terza riga ti dice che alla linea 24 dello sketch si aspettava una parentesi graffa chiusa “}” mentre le linee precedenti evidenziamo che alla linea 19 dello sketch è stat aperta una parentesi graffa che non ha una corrispondente parentesi di chiusura.

CAUSA: osserva la linea 24 e vedrai che manca la parentesi graffa a chiudere la dichiarazione della funzione setup().

RISOLUZIONE: aggiungi la parentesi graffa alla linea 24 e riesegui la verifica.

Errore Tre

Uno degli errori arduino ide meno comuni ma che quando si verifica non è semplice da comprendere è il seguente:

Blink.ino: In function ‘void loop()’:
Blink:20: error: invalid conversion from ‘const char*’ to ‘uint8_t’
Blink:20: error: initializing argument 2 of ‘void digitalWrite(uint8_t, uint8_t)’

errori arduino ide const char

Il significato dell’errore lo trovi alla seconda linea dell’errore in cui ti dice che alla linea 20 c’è un errore di conversione da una const char* a uint8_t e alla linea successiva continua la segnalazione sulla riga 20 in quanto il secondo argomento del comando digitalWrite() deve essere di tipo uint8_t;

CAUSA: osserva la linea 20, nota che il secondo parametro passato al comando digitalWrite è “A”, la lettera A è tra virgolette, questa sintassi rende il parametro una stringa.

Il comando digitalWrite() accetta due parametri di tipo integer ( u_int8_t ) per cui un parametro di tipo String genera l’errore.

RISOLUZIONE: Sostituisci

Errore Quattro

Differente è il caso degli errori legati all’avrdude come il seguente:

avrdude: stk500_recv(): programmer is not responding

errori arduno ide avrdude

In questo caso non è lo sketch a presentare un errore ma la comunicazione con arduino che non è avvenuta in modo corretto impedendo all’IDE di trasferire il software.

CAUSA: le cause possono essere:

  • mancanza di collegamento del cavo USB
  • arduino in uno stato non pronto a ricevere il trasferimento
  • ide non in grado di utilizzare la porta di comunicazione corretta
  • porta seriale selezionata non corretta
  • tipo di scheda arduino selezionata errata
  • disconnessione da parte del computer dell’arduino

solo per citarne alcuni, in ogni caso la causa comune è dovuta al collegamento tra arduino e il computer.

RISOLUZIONE: la soluzione più semplice da applicare è quella di disconnettere e riconnettere arduino al computer, successivamente controlla che la scheda selezionata sia ancora quella corretta, se usi Arduino Uno controlla che sia selezionato questo tipo di controllore. Verifica che il computer riconosca arduino come connesso ad una delle porte seriali e che tale porta sia anche quella selezionata per il trasferimento dello sketch.

Ora sai come affrontare i principali errori arduino ide che possono capitarti quando inizi a lavorare con arduino e non solo agli inizi.

Buon progetto !!!

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/errori-arduino-ide.html

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.