Primi passi con Arduino Uno sguardo ravvicinato al circuito e alla struttura di un programma

Primi passi con Arduino Uno sguardo ravvicinato al circuito e alla struttura di un programma / Fai da te

L'ultima volta che ho lasciato l'installazione Avvio con Arduino Starter Kit - Installazione dei driver e configurazione della scheda e della porta Guida introduttiva con Arduino Starter Kit - Installazione dei driver e impostazione della scheda e della porta Quindi, ti sei comprato un Starter kit Arduino, e possibilmente qualche altro componente casuale - ora cosa? In che modo inizi a programmare questa cosa di Arduino? Come impostarlo ... Leggi di più il tuo Arduino per lavorare con Mac o Windows, e dopo aver caricato una semplice app di test che ha lampeggiato il LED di bordo. Oggi ho intenzione di spiegare il codice che hai caricato, la struttura del software Arduino e un po 'di più sui bit elettronici sulla scheda stessa.

Questo articolo fa parte di un'introduzione alla serie di Arduino. Gli altri articoli della serie finora sono:

  • Cosa è Arduino e cosa puoi fare con esso Cosa è Arduino e cosa puoi fare con esso? Cosa è Arduino e cosa puoi fare con esso? L'Arduino è un eccezionale dispositivo elettronico, ma se non ne hai mai usato uno prima, cosa sono esattamente e cosa puoi fare con uno? Leggi di più ?
  • Cos'è un kit di avvio Arduino e cosa contiene? Cosa è incluso in un kit di avvio Arduino? [MakeUseOf Explains] Cosa è incluso in un Arduino Starter Kit? [MakeUseOf Explains] Ho già introdotto l'hardware open source Arduino qui su MakeUseOf, ma non avrai bisogno di altro che l'effettivo Arduino per crearne qualcosa e iniziare davvero. I "kit di avvio" Arduino sono ... Leggi di più
  • Componenti più interessanti da acquistare con il tuo kit di avvio 8 Altri componenti fantastici per i tuoi progetti Arduino 8 Altri componenti fantastici per i tuoi progetti Arduino Quindi stai pensando di ottenere un kit di avvio Arduino, ma ti chiederai se alcuni LED e resistori di base saranno abbastanza per tenerti occupato per il weekend? Probabilmente no. Ecco altri 8 ... Leggi altro
  • Guida introduttiva al kit di avvio Arduino - Installazione dei driver e configurazione della scheda e della porta Guida introduttiva di Arduino Starter Kit - Installazione dei driver e configurazione della scheda e della porta Guida introduttiva con Arduino Starter Kit - Installazione dei driver e impostazione della scheda & Port Quindi, ti sei comprato un kit di avvio Arduino, e possibilmente qualche altro componente casuale - ora cosa? In che modo inizi a programmare questa cosa di Arduino? Come si imposta ... Per saperne di più

L'hardware

Diamo uno sguardo più da vicino a ciò che l'Arduino Uno ha in termini di bit sul circuito stampato.

Ecco uno schema ingrandito per fare riferimento a:

  • Lungo la parte superiore, ci sono 14 pin di input / output digitali (numerati 0-13). Questi sono i pin più versatili sul tuo Arduino e possono funzionare come input o output e formeranno il nucleo dei tuoi progetti. Digitale significa che il segnale che questi pin possono scrivere o leggere sarà acceso o spento.
  • 6 di quei pin digitali, che sono contrassegnati dal segno tilde ~ sono in grado di fare ciò che viene chiamato modulazione della larghezza di impulso. Non sono un ingegnere elettrico quindi non mi metterò in imbarazzo spiegando la scienza alla base di questo, ma a voi e io significa che possiamo fornire una gamma di livelli di uscita - ad esempio, dimmerare un LED o guidare un motore a velocità variabili.
  • Il pin 13 è speciale in quanto ha un LED incorporato. Questo è solo per motivi di praticità e di prova. Puoi utilizzare il LED integrato, come hai fatto nell'app di esempio Blink, semplicemente inserendo nel pin 13 - o può essere usato come pin I / O standard.
  • In basso a destra ci sono 6 pin di ingresso analogici. Questi leggeranno il valore di sensori analogici come un misuratore di luce o resistori variabili.
  • In basso a sinistra accanto ai pin di ingresso analogici sono i pin di alimentazione. Gli unici di cui devi davvero preoccuparti sono le linee di terra (GND), 3.3v e 5v.
  • Infine, l'unico interruttore trovato su Arduino è un interruttore di ripristino. Questo riavvierà qualsiasi programma abbia nella sua memoria.
  • L'Arduino ha una certa quantità di memoria, e se il tuo programma diventa troppo grande, il compilatore ti darà un errore.

La struttura di un programma Arduino

Ogni programma Arduino è composto da almeno due funzioni (se non sai quale sia una funzione, assicurati di leggere il mio tutorial di programmazione di base, parte 2 - istruzioni sulla funzione e il controllo. Le basi assolute della programmazione per principianti (parte 2) Le basi assolute della programmazione per principianti (parte 2) Nella parte 2 della nostra guida assoluta alla programmazione per principianti, illustrerò le basi delle funzioni, i valori restituiti, i loop e i condizionali. Assicurati di aver letto la parte 1 prima di affrontare questo , dove ho spiegato il ... Read More, e parte 1 dove abbiamo discusso le variabili The Basics Of Computer Programming 101 - Variable And DataTypes Le basi della programmazione computerizzata 101 - Variabili e DataTypes Avendo introdotto e parlato un po 'di programmazione orientata agli oggetti prima e dove la sua deriva l'omonima, ho pensato che è ora di passare attraverso le basi assolute della programmazione in un modo non specifico per la lingua. ... Leggi di più prima di continuare).

Il primo è la funzione di configurazione. Questo viene eseguito inizialmente - una sola volta - e viene utilizzato per comunicare all'Arduino cosa è connesso e dove, oltre a inizializzare qualsiasi variabile che potrebbe essere necessaria nel programma.

Il secondo è il ciclo. Questo è il nucleo di ogni programma Arduino. Quando Arduino è in esecuzione, dopo che la funzione di configurazione è stata completata, il ciclo scorrerà attraverso tutto il codice, quindi eseguirà di nuovo l'operazione, finché non si interrompe l'alimentazione o si preme il pulsante di ripristino. Il tempo necessario per completare un ciclo completo dipende dal codice contenuto. Puoi scrivere del codice che dice “aspetta 6 ore”, nel qual caso il ciclo non si ripeterà molto spesso.

Ecco un rapido diagramma di stato per illustrare:

Esaminando il programma Blink

Dai un'occhiata al codice del programma Blink e identifica le funzioni di setup e loop.

Ecco la configurazione:

void setup () // inizializza il pin digitale come output. // Il pin 13 ha un LED collegato sulla maggior parte delle schede Arduino: pinMode (13, OUTPUT); 

Le linee che iniziano con // sono semplicemente commenti per spiegare il codice ad un lettore umano, e non vengono caricati su Arduino. Di fatto, c'è solo una riga di codice di configurazione in questa particolare app di Arduino. Quella frase sta dicendo “Impostare il pin 13 sulla modalità di uscita”. 13, ricorda, è il LED incorporato.

Poi c'è il ciclo:

void loop () digitalWrite (13, HIGH); // imposta il ritardo del LED (1000); // aspetta un secondo digitalWrite (13, LOW); // imposta il ritardo di spegnimento del LED (1000); // aspetta un secondo

I commenti alla fine di ogni riga di codice spiegano abbastanza bene la loro funzione. HIGH e LOW si riferiscono allo stato ON e OFF di un'uscita digitale - nel nostro caso il LED. Puoi anche scrivere ON o OFF nel codice, entrambi sono sinonimi (come lo sono anche 0 e 1). Ritardo dice ad Arduino di aspettare un po ', in questo caso 1000 millisecondi (o 1 secondo).

Infine, una nota sul linguaggio di programmazione usato qui. Si noti che sia le funzioni di setup che quelle di loop hanno la parola vuoto prima di loro. Questa è una parola speciale per Niente, perché la funzione non restituisce nulla quando viene chiamato, esegue semplicemente il codice contenuto all'interno. Per ora, lasciamo che ciò affermi che il blocco di codice della funzione è racchiuso tra parentesi graffe e che ogni riga di codice deve terminare con a; punto e virgola.

Prova a modificare il programma di base in qualche modo cambiando i valori di ritardo precisi a qualcosa di più grande o più piccolo. Guarda quanto in piccolo riesci a portarlo a termine prima che il lampeggiamento non sia più evidente. Calcola il valore da cambiare per far sì che rimanga più a lungo o rimanga fuori più a lungo. Prova ad aggiungere un po 'di istruzioni digitalWrite e delay nella funzione loop per creare un modello di lampeggio più complesso come il codice morse per SOS. Se hai un cicalino, prova a collegarlo anche ai pin 13 e GND (suggerimento: il filo rosso va a 13, nero a terra).

È tutto per oggi. La prossima volta aggiungeremo altri LED e scriveremo la nostra applicazione da zero. Come sempre, commenti e condivisioni molto apprezzati. Non riesco a immaginare che potresti avere problemi con il codice di cui si parla oggi, ma se hai provato a modificare leggermente il codice e hai riscontrato errori o comportamenti imprevisti, sentiti libero di postarlo nei commenti e vedremo se possiamo lavorarci insieme.

Scopri di più su: Arduino.