Articles

Tutto quello che c’è da sapere su Arduino CodeBlog Postcircuito teamMarch 11, 2018

Dal lancio della piattaforma open-source Arduino, il brand si è affermato al centro di un’ampia comunità open-source. L’ecosistema Arduino è composto da una diversa combinazione di hardware e software. La versatilità di Arduino e la sua interfaccia semplice lo rende una scelta leader per una vasta gamma di utenti in tutto il mondo da hobbisti, designer e artisti ai prototipi di prodotto.

La scheda Arduino è collegata a un computer tramite USB, dove si collega con l’ambiente di sviluppo Arduino (IDE). L’utente scrive il codice Arduino nell’IDE, quindi lo carica sul microcontrollore che esegue il codice, interagendo con ingressi e uscite come sensori, motori e luci.

Sia i principianti che gli esperti hanno accesso a una vasta gamma di risorse e materiali gratuiti per supportarli. Gli utenti possono cercare informazioni su come impostare la propria scheda o anche come codificare su Arduino. L’open source dietro Arduino ha reso particolarmente amichevole per gli utenti nuovi ed esperti. Ci sono migliaia di esempi di codice Arduino disponibili online. In questo post, ti guideremo attraverso alcuni principi di base della codifica per Arduino.

Pianifica il tuo prossimo progetto Arduino>>

Ambiente di codifica Arduino e strumenti di base

Che lingua è Arduino?

Il codice Arduino è scritto in C++ con un’aggiunta di metodi e funzioni speciali, che menzioneremo più avanti. C++ è un linguaggio di programmazione leggibile dall’uomo. Quando si crea uno ‘schizzo’ (il nome dato ai file di codice Arduino), viene elaborato e compilato in linguaggio macchina.

Arduino IDE

L’ambiente di sviluppo integrato Arduino (IDE) è il principale programma di editing di testo utilizzato per la programmazione Arduino. E ‘ dove sarete digitando il codice prima di caricarlo sulla scheda che si desidera programmare. Codice Arduino è indicato come schizzi.

Nota: È importante utilizzare l’ultima versione di Arduino IDE. Di tanto in tanto, controlla gli aggiornamenti qui.

Esempio di codice Arduino

Come puoi vedere, l’IDE ha un design minimalista. Ci sono solo 5 intestazioni sulla barra dei menu, così come una serie di pulsanti sotto i quali consentono di verificare e caricare i tuoi schizzi. In sostanza, l’IDE traduce e compila i tuoi schizzi in codice che Arduino può capire. Una volta compilato il codice Arduino, viene caricato nella memoria della scheda.

Tutto ciò che l’utente deve fare per iniziare a compilare il proprio schizzo è premere un pulsante (una guida a questo può essere trovata sotto).

Se ci sono errori nel codice Arduino un messaggio di avviso segnalerà chiedendo all’utente di apportare modifiche. La maggior parte dei nuovi utenti spesso incontrano difficoltà con la compilazione a causa dei severi requisiti di sintassi di Arduino. Se si commettono errori nella punteggiatura quando si utilizza Arduino, il codice non verrà compilato e verrà visualizzato un messaggio di errore.

Monitor seriale e Plotter seriale

Arduino serial monitor può essere aperto facendo clic sull’icona della lente di ingrandimento sul lato superiore destro dell’IDE o sotto strumenti. Il monitor seriale viene utilizzato principalmente per interagire con la scheda Arduino utilizzando il computer ed è un ottimo strumento per il monitoraggio e il debug in tempo reale. Per poter utilizzare il monitor, è necessario utilizzare la classe seriale.

Il codice da cui si scarica circuito.io ha una sezione di test che ti aiuta a testare ogni componente utilizzando il monitor seriale, come puoi vedere nello screenshot qui sotto:

Arduino serial plotter è un altro componente dell’IDE Arduino, che ti permette di generare un grafico in tempo reale dei tuoi dati seriali. Il plotter seriale rende molto più facile per voi per analizzare i dati attraverso un display visivo. Sei in grado di creare grafici, grafici a valori negativi e condurre l’analisi della forma d’onda.

Debug di codice e hardware Arduino

A differenza di altre piattaforme di programmazione software, Arduino non ha un debugger integrato. Gli utenti possono utilizzare software di terze parti, oppure possono utilizzare il monitor seriale per stampare i processi attivi di Arduino per il monitoraggio e il debug.

Utilizzando la classe Seriale, è possibile stampare sul monitor seriale, debug commenti e valori delle variabili. Sulla maggior parte dei modelli Arduino, questo utilizzerà i pin seriali 0 e 1 che sono collegati alla porta USB.

Struttura del codice

Librerie

In Arduino, proprio come altre piattaforme di programmazione leader, ci sono librerie integrate che forniscono funzionalità di base. Inoltre, è possibile importare altre librerie ed espandere le funzionalità e le funzionalità della scheda Arduino. Queste librerie sono approssimativamente suddivise in librerie che interagiscono con un componente specifico o quelle che implementano nuove funzioni.

Per importare una nuova libreria, devi andare su Sketch > Importa libreria

Inoltre, nella parte superiore del tuo .ino file, è necessario utilizzare ‘# include ‘ per includere librerie esterne. È inoltre possibile creare librerie personalizzate da utilizzare in schizzi isolati.

Definizioni pin

Per utilizzare i pin Arduino, è necessario definire quale pin viene utilizzato e la sua funzionalità. Un modo conveniente per definire i pin utilizzati è usare:

‘#define pinName pinNumber’.

La funzionalità è input o output ed è definita utilizzando il metodo pinMode () nella sezione setup.

Dichiarazioni

Variabili

Ogni volta che si utilizza Arduino, è necessario dichiarare variabili globali e istanze da utilizzare in seguito. In poche parole, una variabile consente di nominare e memorizzare un valore da utilizzare in futuro. Ad esempio, è possibile memorizzare i dati acquisiti da un sensore per utilizzarlo in un secondo momento. Per dichiarare una variabile è sufficiente definirne il tipo, il nome e il valore iniziale.

Vale la pena ricordare che dichiarare variabili globali non è una necessità assoluta. Tuttavia, è consigliabile dichiarare le variabili per semplificare l’utilizzo dei valori più in basso.

Istanze

Nella programmazione software, una classe è una raccolta di funzioni e variabili che vengono tenute insieme in un unico luogo. Ogni classe ha una funzione speciale nota come costruttore, che viene utilizzata per creare un’istanza della classe. Per utilizzare le funzioni della classe, dobbiamo dichiarare un’istanza per essa.

Setup ()

Ogni schizzo Arduino deve avere una funzione di setup. Questa funzione definisce lo stato iniziale di Arduino all’avvio e viene eseguita una sola volta.

Qui definiamo il seguente:

  1. Pin funzionalità utilizzando la funzione pinMode
  2. stato Iniziale di pin
  3. Inizializzare classi
  4. Inizializzare le variabili
  5. Codice

Loop()

La funzione loop è anche un must per ogni sketch di Arduino e viene eseguito una sola volta setup() non è completa. È la funzione principale e come suggerisce il nome, viene eseguito in un ciclo più e più volte. Il ciclo descrive la logica principale del circuito.

Ad esempio:

Nota: L’uso del termine ‘void’ significa che la funzione non restituisce alcun valore.

Come programmare Arduino

La logica di base del codice Arduino è una struttura “if-then” e può essere divisa in 4 blocchi:

Setup – di solito viene scritto nella sezione setup del codice Arduino e esegue cose che devono essere fatte solo una volta, come la calibrazione del sensore.

Input-all’inizio del ciclo, leggi gli input. Questi valori saranno usati come condizioni (“if”) come la lettura della luce ambientale da un LDR usando analogRead ().

Manipolare i dati – questa sezione viene utilizzata per trasformare i dati in una forma più conveniente o eseguire calcoli. Ad esempio, AnalogRead() fornisce una lettura di 0-1023 che può essere mappata su un intervallo di 0-255 da utilizzare per PWM.(vedi analogWrite ())

Output-questa sezione definisce il risultato finale della logica (“then”) in base ai dati calcolati nel passaggio precedente. Guardando il nostro esempio di LDR e PWM, accendere un LED solo quando il livello di luce ambientale scende al di sotto di una certa soglia.

Librerie di codici Arduino

Struttura della libreria

Una libreria è una cartella composta da file con C++ (.cpp) file di codice e C++ (.h) file di intestazione.

Il .h file descrive la struttura della libreria e dichiara tutte le sue variabili e funzioni.

Il .il file cpp contiene l’implementazione della funzione.

Importazione di librerie

La prima cosa che devi fare è trovare la libreria che vuoi usare tra le molte librerie disponibili online. Dopo averlo scaricato sul tuo computer, devi solo aprire Arduino IDE e fare clic su Sketch >Includi Libreria> Gestisci librerie. È quindi possibile selezionare la libreria che si desidera importare nell’IDE. Una volta completato il processo, la libreria sarà disponibile nel menu schizzo.

Nel codice fornito da circuito.io invece di aggiungere librerie esterne come menzionato prima, forniamo loro la cartella del firmware. In questo caso, l’IDE sa come trovarli quando si utilizza # include.

Dal software all’hardware

C’è molto da dire sulle capacità software di Arduino, ma è importante ricordare che la piattaforma è composta sia da software che da hardware. I due lavorano in tandem per eseguire un sistema operativo complesso.

Code → Compile → Upload → Run

Al centro di Arduino, è la capacità di compilare ed eseguire il codice.

Dopo aver scritto il codice nell’IDE è necessario caricarlo su Arduino. Facendo clic sul pulsante Carica (l’icona della freccia rivolta a destra), compilerà il codice e lo caricherà se ha superato la compilazione. Una volta completato il caricamento, il programma inizierà a funzionare automaticamente.

Puoi anche fare questo passo dopo passo:

  1. Per prima cosa, compila il codice. Per fare ciò è sufficiente fare clic sull’icona di controllo (o fare clic su sketch > Verifica / Compila nella barra dei menu.

Come puoi vedere, l’icona di controllo si trova in alto a sinistra sotto il tag “File” nella sezione menu.

Una volta fatto questo, Arduino inizierà a compilare. Una volta terminato, riceverai un messaggio di completamento simile a questo:

Come puoi vedere, la linea verde in fondo alla pagina ti dice che hai “finito di compilare”. Se il codice non viene eseguito, riceverai una notifica nella stessa sezione e il codice problematico verrà evidenziato per la modifica.

Una volta compilato il tuo schizzo, è il momento di caricarlo.

  1. Scegli la porta seriale a cui Arduino è attualmente connesso. Per fare ciò fare clic su Strumenti > Porta seriale nel menu per designare la porta seriale scelta (come mostrato in precedenza sopra). È quindi possibile caricare lo schizzo compilato.
  2. Per caricare lo schizzo, fare clic sull’icona di caricamento accanto al segno di spunta. In alternativa puoi andare dal menu e fare clic su File> carica. I LED Arduino lampeggeranno una volta che i dati vengono trasferiti.

Una volta completato, sarete accolti con un messaggio di completamento che ti dice Arduino ha terminato il caricamento.

Impostazione dell’IDE

Per collegare una scheda Arduino al computer è necessario un cavo USB. Quando si utilizza Arduino UNO, l’USB trasferisce i dati nel programma direttamente alla scheda. Il cavo USB viene utilizzato per alimentare il vostro arduino. È inoltre possibile eseguire il vostro Arduino attraverso una fonte di alimentazione esterna.

Prima di poter caricare il codice, ci sono alcune impostazioni che è necessario configurare.

Scegli la tua scheda-È necessario designare quale scheda Arduino si sta andando ad utilizzare. Fai questo con Strumenti di clic> Scheda > La tua scheda.

Scegli il tuo processore-ci sono alcune schede (ad esempio Arduino pro-mini) per le quali è necessario specificare quale modello di processore si ha. In strumenti> processore> seleziona il modello che hai.

Scegli la tua porta – per selezionare la porta a cui è collegata la tua scheda, vai su strumenti > Porta > COMX Arduino (Questa è la porta seriale di Arduino).NodeMCU)

Alcuni modelli di schede non sono preinstallati nell’IDE Arduino, quindi è necessario installarli prima di poter caricare il codice.

Per installare una scheda non nativa come NodeMCU, è necessario:

  1. Fare clic su strumenti> Boards> Boards Manager
  2. Cercare la scheda che si desidera aggiungere nella barra di ricerca e fare clic su “installa”.

Alcune schede non possono essere trovate attraverso il Board Manager. In questo caso, è necessario aggiungerli manualmente. Per fare ciò:

  1. Fare clic su File > Preferenze
  2. Nel campo Gestione schede aggiuntive, incollare l’URL del pacchetto di installazione della scheda. Ad esempio, per NodeMCU, aggiungere il seguente URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Fare clic su OK
  4. Andare su strumenti> Boards> Boards Manager
  5. Cercare la scheda che si desidera aggiungere nella barra di ricerca e fare clic su “installa”.

Una volta completato questo passaggio, vedrai le schede installate nell’elenco delle schede sotto strumenti.

Nota: il processo può differire leggermente per le diverse schede.

Arduino: Una piattaforma estremamente versatile

Arduino è molto più di un semplice microcontrollore. Con un IDE espansiva e una vasta gamma di configurazioni hardware, Arduino è veramente una piattaforma diversificata. La varietà delle sue librerie e il suo design intuitivo lo rende un favorito per i nuovi utenti e produttori esperti allo stesso modo. Ci sono migliaia di risorse della comunità per aiutarti a iniziare con hardware e software.

Mentre avanzi le tue abilità, potresti affrontare problemi che richiedono il debug, che è un punto debole dell’IDE Arduino. Fortunatamente, ci sono diversi strumenti e metodi per eseguire il debug di hardware e software Arduino. Nel prossimo articolo, vedremo come eseguire il debug di Arduino (e come testare il codice Arduino) e come utilizzare simulatori ed emulatori.