Capitani…Buongiorno,

Oggi parliamo di…

Arduino P. 6 – Usare le variabili all’interno di arduino

Il percorso di conoscenza del sistema Arduino oggi ci porta verso un nuovo comando.

Vi ricordo che questo articolo è la libera trascrizione di un video tratto dal canale Youtube di Paolo Aliverti postato su Accademy Lab, canale dell’Accademia che ci aiuta a conoscere e imparare cose nuove.

Se avete perso gli altri articoli vi invito ad andare sul giornalino e sul sito dell’accademia per scoprire altre nuove informazioni su questo interessante sistema digitale.

Paolo ci parlerà di come usare le variabili cioè quei valori da inserire nello sketch per comandare in modo efficiente il vostro Arduino.

 

“Per scrivere degli sketch efficienti e funzionanti vi serviranno per forza delle variabili, non ne potete fare a meno.

Una variabile non è nulla di spaventoso, è semplicemente una specie di cassetto che sta nella memoria di arduino.

Quindi immaginate di avere una cassettiera in cui potrete riporre delle cose, queste cose sono delle informazioni, dei dati.

Tutti i linguaggi di programmazione utilizzano le variabili….Arduino utilizza il C++ che è un linguaggio molto pignolo e preciso quindi i cassetti che definite dentro Arduino, cioè le variabili che utilizzerete, devono avere un tipo.

Cosa vuol dire?

Significa che non potete usare un cassetto generico ma dovete dire ad Arduino esattamente che cosa ci metterete in quel cassetto.

Che cosa potete mettere nel cassetto? Numeri oppure dei caratteri o delle scritte.

E’ come dire che voi siete dei tipi molto precisi e quindi la vostra cassettiera avrà un cassetto a forma di calzino per metterci i calzini, un cassetto a forma di mutande per metterci le mutande, un cassetto a forma di camicie per mettere le camicie eccetera…

Questo significa che non potrete mettere la camicia nel cassetto del calzino e viceversa!

In termini di programmazione significa che utilizzerete dei tipi specifici di dati, per esempio diciamo che userete dei numeri: interi con o senza virgole e se voi definite un cassetto che possa contenere uno di questi tipi di dati dovrete metterci dentro solo quel tipo di dato altrimenti il programma non funzionerà.

Ora, aprite Arduino e troverete il solito sketch vuoto, togliete i commenti e provate a creare una prima variabile in cima allo sketch:

 

Scriviamo dunque una temperatura uguale a 10, quindi con questa scrittura abbiamo creato una variabile chiamata temperatura che contiene un numero intero, un numero senza virgole che può essere sia positivo che negativo.

Per creare una variabile all’interno del nostro sketch scrivete: int e poi il nome della variabile.

Il nome della variabile può essere di qualsiasi tipo, ma con delle limitiazioni, cioè:

  • non può iniziare con i numeri
  • non può avere degli spazi
  • non può usare certi caratteri speciali

diciamo però che se stiamo all’interno di nomi ragionevoli non ci sono problemi.

I programmatori e i più pigri usano quasi sempre “pippo” ma cercate di usare nomi significativi….quindi se dovete salvare una temperatura utilizzate temperatura come il nome della variabile.

Questi accorgimenti poi si si imparano un pò col tempo, seguite sempre il vostro buon senso.

Potete anche creare un cassetto vuoto quindi, come in questo caso

int “temperatura”; ….

poi da qualche parte per esempio nel loop a un certo punto dire:

temperatura uguale a 12.

ok quindi create prima il cassetto vuoto e poi quando serve andate a scrivere e sovrascrivere il valore che vi interessa.

per sovrascrivere un valore immaginate di avere nel setup la variabile temperatura uguale a zero e quindi inserite il valore zero, poi ne al loop a un certo punto scrivendo temperatura uguale 12 andate a sovrascrivere il valore che era preesistente (ndr. zero) all’interno del vostro sketch.

Potete anche utilizzare il contenuto del cassetto semplicemente scrivendo il suo nome e quindi se in un certo punto volete stampare la temperatura scriverete: print temperatura.

Arduino trova temperatura quindi va a cercare il cassetto con il nome corrispondente, e se non lo trova si arrabbia, lo apre, guarda cosa c’è scritto dentro e con print la stamperà…

Per incrementare il valore all’interno della variabile potete scrivere una cosa del genere:

creiamo una variabile int “i” uguale zero.

Ora nel loop vogliamo aumentare il suo valore. Quindi basterà fare: “i” = i + 1;

Con questa scrittura sto dicendo ad Arduino a questo punto di aprire il cassetto “i” di vedere dentro che cosa c’è e aggiungere 1, così ad ogni esecuzione del loop il valore contenuto dentro la variabile aumenterà di 1.

I programmatori che sono pigri preferiscono scrivere in questo modo: “i”++; questa scrittura compatta è equivalente a quella che avevamo prima, ovvero prende “i” e incrementa il valore all’interno della variabile.

Lo Scopo della variabile

Quando si usano le variabili bisogna fare attenzione allo scopo della variabile che è un pò come avere delle scatole cinesi…

La prima scatola quella dello sketch, è la principale, all’interno della scatola dello sketch abbiamo altre due scatole, che sono quelle di setup e di loop.

la scatola è definita dalle parentesi graffe, ok? quindi sia definisco una variabile al di fuori di setup e di loop questa variabile sarà utilizzabile e visibili sia all’interno di setup e di loop.

Facciamo un esempio:

definiamo una variabile chiamata “led”. A questa variabile diamo il valore 13, che mi servirà per impostare il pin su cui fare lampeggiare il led.

Nel setup scriviamo: pinMode(led, OUTPUT);

quindi invece che scrivere esplicitamente 13 scrivo led cioè una variabile e quando Arduino arriverà in questo punto vedrà che qui c’è scritto led e dirà, che cos’è led? ah led è una variabile.

Qquindi andrà a vedere da qualche parte se c’è un cassetto si chiama “led”, lo trova, e dentro il cassetto c’è scritto 13; quindi sa che al comando pinMode al posto di “led” ci andrà 13 e imposterà il pin 13 con un’uscita.

Analogamente nella parte di loop per accendere il led scriverò: digitalWrite(led, HIGH);

In questo caso anche dentro il Loop è visibile la variabile “led” e non c’è nessun problema perché è a un livello superiore, ma se proviamo a modificare lo sketch mettendo la variabile all’interno di setup, in questo caso lo sketch non funzionerà.

Sse voi fate verify troverete un errore, Arduino vi dice che led non è stato dichiarato all’interno di loop perché se voi create la variabile led all’interno del contenitore setup, questa non sarà visibile all’interno di loop perché è come se fossero allo stesso livello.

Se volete che è una variabile sia visibile dentro tutte le parti dello sketch la dovete definire all’esterno di setup e loop il posto ideale è di metterla all’inizio eventualmente con dei commenti per sapere esattamente chi sono cosa sono e a cosa servono.

per mettere un commento basta che mettete due barre e poi scrivete le informazioni necessarie per ricordarvi che cos’è questa variabile. Potete scrivere commenti anche su più righe quindi con la doppia barra state solo su una ringa e dovete scrivere tanto commento potete usare barra asterisco (ndr. all’inizio) e asterisco barra (ndr. alla fine), e in questo modo Arduino ignorerà tutte queste informazioni.

 

Tipi di dato

Oltre al tipo di dato int esistono tante altre possibilità quindi avete per esempio: il float, il double, il long che sono vari tipi di numeri che possono essere utilizzati con Arduino. int è quello più utilizzato perché consuma meno memoria di tutti gli altri.”

Questo è stato un articolo un pò più tecnico degli altri di questa serie ma speriamo di avertvi fatto ocmprendere come vengono utilizzati e definiti i dati all’interno delle macchine, in questo caso il nostro computerino digitale Arduino.

Buono studio a tutti…

I ricercatori dell’Accademia Ricerca la Verità