Preparazione all'aggiornamento del codice
Verifica dell'installazione e della configurazione dell'IDE Arduino

Ad esempio, se stai utilizzando un Arduino Uno con un adattatore USB-to-serial basato su CH340 su Windows e la porta non viene visualizzata nell’IDE, puoi scaricare i driver CH340 dal sito Web del produttore. Dopo l’installazione, riavvia il computer e la porta dovrebbe essere rilevata.
Connessioni hardware

Seleziona la scheda e la porta corretta

Guida passo passo per aggiornare il codice della scheda
Scrivi o apri il tuo sketch
Un “sketch” è come Arduino chiama i suoi file di codice. Inizia creando un nuovo sketch (puoi farlo facendo clic sul pulsante “Nuovo” nella barra degli strumenti, che assomiglia a una pagina vuota, oppure andando su File > Nuovo). Se hai già un progetto su cui lavorare, apri uno sketch esistente (fai clic sul pulsante “Apri”, simile a un’icona di cartella, oppure vai su File > Apri). Per chi cerca un esempio specifico per capire il processo di caricamento del codice, considera questo codice LED lampeggiante personalizzato. Quando crei un nuovo sketch, incolla quanto segue:

void setup() {
// put your setup code here, to run once:
pinMode(5, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(5, HIGH);
delay(300);
digitalWrite(5, LOW);
delay(300);
}
setup configura il pin 5 come output, consentendogli di fornire corrente. La funzione loop imposta ripetutamente il pin 5 su HIGH (produzione di 5V, accendendo il LED) per 300 millisecondi, quindi su LOW (0V, spegnendo il LED) per altri 300 millisecondi.setup() viene eseguita una volta quando la scheda è accesa o resettata, impostando il pin 5 collegato al LED come output. La funzione loop() viene eseguita continuamente, creando un effetto lampeggiante. Questo esempio personalizzato è ideale per verificare che la tua scheda e il circuito collegato rispondano ai caricamenti del codice, offrendo un tocco personale sull’esempio Blink tradizionale con una configurazione specifica basata sui pin per le esigenze del tuo progetto.Compila lo sketch (Verifica)

Ricordo quando stavo imparando Arduino per la prima volta, ho commesso un semplice errore di non aver messo un punto e virgola alla fine di una riga nel mio codice. Quando ho cliccato sul pulsante Verifica, l’IDE ha immediatamente segnalato l’errore, evidenziando la riga in cui si è verificato il problema. Mi ci sono voluti alcuni minuti per individuare il punto e virgola mancante, ma dopo averlo corretto, la compilazione è andata a buon fine.
Carica il Codice sulla Scheda
Verifica la Funzionalità
Problemi Comuni e Risoluzione dei Problemi
“Porta Non Trovata” o Errori di Porta Seriale
- Ricollega il cavo USB e prova una porta diversa. A volte, la connessione potrebbe essere allentata, oppure la porta stessa potrebbe avere dei problemi. Ad esempio, una volta ho passato un’ora a risolvere un errore di “porta non trovata”, solo per rendermi conto che il cavo USB non era inserito completamente. Una semplice riconnessione ha risolto il problema.
- Installa o aggiorna i driver: utilizza i driver ufficiali di Arduino oppure, per le schede di terze parti, scarica i driver specifici del produttore (ad esempio, i driver Silicon Labs CP2102 per ESP32). Se stai utilizzando una scheda ESP32 con un bridge USB-UART Silicon Labs CP2102 e la porta non viene rilevata, scaricare e installare gli ultimi driver CP2102 può risolvere il problema.
- Su macOS/Linux, assicurati di avere il permesso di accedere alle porte seriali (esegui ls /dev/tty* per elencare le porte e controllare i permessi). In alcuni casi, l’utente potrebbe non avere i permessi appropriati per accedere alla porta seriale. Puoi aggiungere il tuo utente al gruppo dialout (su Linux) o regolare i permessi di conseguenza per ottenere l’accesso.
Errori di compilazione: "riferimento non definito" o "previsto ';' prima di..."
- Controlla attentamente la presenza di errori di battitura, parentesi mancanti o inclusioni di librerie errate. Un semplice errore di battitura come scrivere int main() invece di void setup() in uno sketch Arduino può portare a errori di compilazione. Assicurati inoltre che tutte le parentesi, le parentesi quadre e le parentesi graffe siano abbinate correttamente.
- Assicurati che tutte le librerie utilizzate siano installate tramite Sketch > Includi libreria > Gestisci librerie (per librerie esterne) o facciano parte delle librerie principali di Arduino. Se stai utilizzando una libreria come la libreria DHT per sensori di temperatura e umidità e ricevi un errore di “riferimento non definito” relativo alle funzioni in quella libreria, è probabile che la libreria non sia installata correttamente o non sia inclusa correttamente nel tuo sketch.
Caricamento fallito a metà processo (ad esempio, "Caricamento... 10%")
- Premi il pulsante di reset sulla tua scheda proprio quando l’IDE inizia a caricare (vedrai “Caricamento” nella console). Questo ripristina la scheda in modalità bootloader, che accetta un nuovo codice. Molte schede Arduino richiedono che il bootloader sia nello stato corretto per accettare un caricamento. Premendo il pulsante di reset al momento giusto, puoi assicurarti che la scheda sia pronta a ricevere il nuovo codice.
- Disabilita temporaneamente il software antivirus o firewall, poiché potrebbe interferire con la comunicazione seriale. Alcuni software di sicurezza possono bloccare la comunicazione seriale tra l’IDE e la scheda Arduino, considerandola una potenziale minaccia alla sicurezza. Disabilitare temporaneamente tale software può spesso risolvere il problema di caricamento.
- Per le schede più vecchie come Arduino Uno, assicurati che il bootloader sia intatto; brucialo nuovamente usando Strumenti > Brucia Bootloader (richiede un programmatore esterno in alcuni casi). Se il bootloader sulla tua Arduino Uno è diventato danneggiato, potrebbe essere necessario bruciarlo nuovamente. In alcuni casi, avrai bisogno di un programmatore esterno come un AVRISP mkII per eseguire questa operazione.
Il codice viene eseguito brevemente ma non persiste
- Conferma che la scheda e la porta corrette sono state selezionate durante il caricamento: indirizzare accidentalmente la scheda sbagliata (ad esempio, Uno invece di Mega) può causare questo problema. Se hai più schede Arduino connesse o hai recentemente cambiato la scheda su cui stai lavorando, è facile selezionare la scheda sbagliata nell’IDE. Controlla attentamente le impostazioni della scheda e della porta per assicurarti di caricare sul dispositivo corretto.
- Verifica che il tuo sketch sia stato salvato e caricato correttamente; a volte, le modifiche non salvate portano all’utilizzo di codice obsoleto. Una volta ho passato molto tempo a cercare di capire perché il mio codice non funzionava come previsto dopo un ciclo di alimentazione, solo per rendermi conto di aver apportato modifiche al codice ma di non averlo salvato prima di caricarlo. Assicurati sempre di salvare il tuo sketch prima di tentare un caricamento.
Best practice per un aggiornamento efficiente del codice
Per semplificare il tuo flusso di lavoro e ridurre al minimo gli errori, adotta queste strategie comprovate:
Usa il controllo di versione per gli schizzi
Tieni traccia delle modifiche al codice con strumenti come Git, soprattutto per progetti complessi. Questo ti consente di tornare a versioni funzionanti se un nuovo caricamento causa problemi. Git è un sistema di controllo versione distribuito che è diventato lo standard per gli sviluppatori in tutto il mondo. Inizializzando un repository Git nella cartella del tuo progetto Arduino, puoi registrare ogni modifica apportata al tuo codice.
Ad esempio, se stai lavorando a un progetto di automazione domestica complesso con più sensori e attuatori controllati da Arduino e hai appena aggiunto una nuova funzionalità che sta causando il malfunzionamento del sistema, puoi facilmente tornare allo stato di lavoro precedente del codice. Puoi visualizzare la cronologia dei commit, che mostra tutte le modifiche apportate, chi le ha apportate e quando. Questo non solo aiuta nel debug, ma anche nella collaborazione con altri maker. Se stai lavorando in un team, ogni membro può contribuire alla codebase e Git gestirà tutte le modifiche, assicurando che tutti lavorino con l’ultima e la versione corretta del codice.
Mantieni le librerie e l'IDE aggiornati
Allo stesso modo, le librerie svolgono un ruolo cruciale nei progetti Arduino. Forniscono codice pre-scritto per varie funzioni, come la comunicazione con i sensori o il controllo dei motori. Tuttavia, se una libreria è obsoleta, potrebbe non funzionare correttamente con l’ultima scheda Arduino o l’IDE. Ad esempio, se stai utilizzando una libreria DHT per leggere la temperatura e l’umidità da un sensore DHT, una vecchia versione della libreria potrebbe non essere compatibile con gli ultimi modelli di sensori DHT. Il gestore di librerie integrato nell’Arduino IDE semplifica l’aggiornamento delle librerie. Puoi semplicemente andare su Sketch > Include Library > Manage Libraries, cercare la libreria che desideri aggiornare e fare clic sul pulsante “Update”.
Testa prima con il codice minimo
Documenta la tua configurazione
Aggiornare il codice su schede di terze parti
Molti maker utilizzano schede Arduino non ufficiali (ad esempio, ESP8266, ESP32, STM32). Il processo differisce leggermente a causa della configurazione aggiuntiva:
Aggiungi pacchetti di supporto per la scheda
Le schede di terze parti richiedono l’aggiunta dei loro pacchetti di supporto all’IDE. Per una scheda ESP8266, vai su File > Preferenze nell’Arduino IDE. Qui troverai un campo etichettato “URL aggiuntivi del gestore di schede”. Incolla l’URL del repository della scheda in questo campo.
Per l’ESP8266, l’URL è:
http://arduino.esp8266.com/stable/package_esp8266com_index.json.
Se stai lavorando con una scheda ESP32, l’URL è:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
Se hai già altri URL in questo campo (ad esempio, se stai utilizzando più schede di terze parti), separali con virgole.
Dopo aver aggiunto l’URL, vai su Strumenti > Scheda > Gestore schede. Nel Gestore schede è disponibile una barra di ricerca. Digita il nome della scheda che stai utilizzando, come “esp8266” o “esp32”. Una volta trovato il pacchetto pertinente, fai clic su “Installa” per aggiungere i file di supporto necessari al tuo Arduino IDE. Questo passaggio è fondamentale in quanto consente all’IDE di riconoscere e comunicare con la tua scheda non ufficiale, fornendo le corrette impostazioni di compilazione e librerie specifiche per tale scheda.


