Tutti gli articoli di Raoul Elia

Arduino per tutti parte quarta: si inizia a programmare (finalmente!)

Benritrovati nella rubrica Arduino per tutti che ritorna dopo una parentesi sul Raspberry. D’ora in poi, le due rubriche si alterneranno in modo abbastanza prevedibile al ritmo di un post a settimana (si spera…).
Finalmente, dopo la presentazione della scheda, l’installazione e la configurazione dell’IDE di Arduino, possiamo iniziare a programmare la nostra scheda di prototipazione.
Come inizia qualsiasi libri di programmazione che si rispetti? Ma con l’esempio base: l’”hello world” che tutti abbiamo imparato a conoscere (e temere).
In questo, Arduino e le schede consimili sono differenti, perché, ovviamente, non esiste “hello world”, nel senso che non è compito di una scheda di prototipazione produrre testi su un video. E allora?
L’equivalente nel mondo Arduino del programma hello world è Blink, ovvero l’accensione e lo spegnimento controllati del led della scheda stessa.

Prima di iniziare, diamo un’occhiata alla schermata dell’IDE che abbiamo già visto nella puntata precedente. Appena avviato, l’IDE apre in automatico un nuovo sketch. Appena aperto, lo sketch contiene sostanzialmente pochi elementi.

void setup() {
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:

}

Analizziamoli con calma.
Innanzitutto la dichiarazione “void” seguita da un identificativo (ad esempio setup()), è il nome con cui il linguaggio di programmazione “chiama” le variabili, cioè quegli elementi cui è possibile dare un valore di tipo statico (dato una volta e per sempre) o dinamico (il valore può essere assegnato durante l’esecuzione del codice). Qui ne troviamo due:
setup e loop.
La prima individua le operazioni che devono essere compiute una volta all’avvio del programma, l’altra quelle che devono essere compiute più volte in corso d’opera e più volte.
Il testo inserito dopo // invece è il commento del programmatore. Come si può vedere, ogni variabile ha un suo contenuto che deve essere appunto “contenuto” all’interno di due parentesi graffe {}.
Tutto qui. Come si vede, ci vuole poco.
E ora al nostro blink.
Molte schede Arduino contengono già preinstallato nel bootloader il blink. Tuttavia, sia nel caso non ci sia, sia nel cado ci sia, è bene osservare come sia possibile modificare la temporizzazione della scheda di prototipazione.
Innanzitutto, facciamo in modo che, all’avvio, la scheda si resetti e consenta di attivare il led (LED_BUILTIN, cioè il led preinstallato) e modificarne il comportamento (chiamando il comando OUTPUT). Inseriamo quindi nella void setup() il seguente codice:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

Ora, inizializzato il led, occorre stabilire la variabile loop().
Attiviamo il temporizzazione digitale passandogli, fra parentesi tonda, l’indicatore a cui collegare la temporizzazione e il comando da eseguire, avendo cura di chiudere la parentesi tonda e l’intera stringa con il punto e virgola (;). Ecco il codice relativo:
digitalWrite(LED_BUILTIN, HIGH);
HIGH si riferisce al voltaggio, indica che la corrente viene trasmessa al led che si accende. Similmente, per spegnere il led basterà sostituire, nell’istruzione più sopra, HIGH con LOW e il led, come per magia, si spegnerà. Ora, però, a noi serve fare in modo che il led lampeggi (to blink in inglese) non che si accenda e si spenga immediatamente.
Occorre quindi inserire la stringa che controlla la temporizzazione. Il comando per temporizzare un’azione del componente è delay(). Nella parentesi inseriamo il ritardo dell’operazione, in millisecondi (cioè, se vogliamo ritardare l’operazione di 1 secondo, occorre inserire nella parentesi 1000 e così via).
Dunque il nostro codice per il lampeggiare del led è:
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}

Ora il nostro sketch è pronto per l’uso, dobbiamo caricarlo sulla scheda perché si attivi all’avvio.
Fra le scelte rapide, premiamo il primo pulsante e verifichiamo che il nostro sketch funzioni (non si sa mai).
Ora bisogna inviare lo sketch sulla Arduino. Premiamo il pulsante “Carica” (il secondo da sinistra) e l’IDE procederà ad installare lo sketch sulla scheda. Ecco fatto, abbiamo finito.
Alla prossima…

FUTUROPASSATO – RASSEGNA DI CINEMA DI FANTASCIENZA DELL’ETA’ DELL’ORO PUNTATA 50: L’isola del dr. Moreau (1977)

Puntata speciale della nostra rassegna di cinema di fantascienza d’antan per la veterana delle nostre rubriche, Futuropassato.

“La
La locandina dell’edizione italiana

Continua la lettura di FUTUROPASSATO – RASSEGNA DI CINEMA DI FANTASCIENZA DELL’ETA’ DELL’ORO PUNTATA 50: L’isola del dr. Moreau (1977)

Breve storia degli alieni parte quinta: Alieni sulla Casa Bianca

Siamo di nuovo qui, in compagnia degli UFO che, come visto nelle precedenti puntate, sembrano decisamente aver invaso i cieli degli States (e, come vedremo più in là, non solo quelli).

Continua la lettura di Breve storia degli alieni parte quinta: Alieni sulla Casa Bianca

Raspberry Pi stagione 2 puntata 3: qualche ulteriore ritocco…

Ben ritrovati in questa terza puntata della seconda stagione dedicata al Pi famoso non greco. Dopo aver visto come mettere in funzione la nostra PirateBox, qualche piccolo ritocco per renderla più funzionale e sicura.

Continua la lettura di Raspberry Pi stagione 2 puntata 3: qualche ulteriore ritocco…

FUTUROPASSATO – RASSEGNA DI CINEMA DI FANTASCIENZA DELL’ETA’ DELL’ORO PUNTATA 49: Il Vampiro del pianeta rosso (1957)

Benvenuti in questa nuova puntata della nostra rassegna di fantascienza d’antan. Questa volta, parliamo di un film legato alle invasioni aliene e al pericolo rosso (non solo perché proveniente da Marte). Il film è un piccolo gioiello trash: Il vampiro del pianeta rosso (1957).

La locandina del film nella versione USA
La locandina del film nella versione USA

Continua la lettura di FUTUROPASSATO – RASSEGNA DI CINEMA DI FANTASCIENZA DELL’ETA’ DELL’ORO PUNTATA 49: Il Vampiro del pianeta rosso (1957)

Raspberry Pi stagione 2 puntata 2: Raspberry PIrateBox parte 2 Costruiamo la nostra PirateBox

Ben ritrovati in questa seconda stagione dedicata alla nostra single board preferita. Dopo aver visto in cosa consista e quali usi potrebbe avere la nostra PirateBox, è il momento di cominciare a costruirla.

Continua la lettura di Raspberry Pi stagione 2 puntata 2: Raspberry PIrateBox parte 2 Costruiamo la nostra PirateBox

FUTUROPASSATO – RASSEGNA DI CINEMA DI FANTASCIENZA DELL’ETA’ DELL’ORO PUNTATA 48: Il cervello dal pianeta Arous (1957)

Benritrovati su queste pagine dedicate alla fantascienza che fu.
La nostra macchina del tempo ci riporta molto indietro, stavolta, dopo gli anni ’70 e in attesa di finire la trilogia di Wells, ritorniamo ad atmosfere da Drive In con questo film del 1958: Il cervello dal pianeta Arous.

copertina dell’edizione in VHS
copertina dell’edizione in VHS

Continua la lettura di FUTUROPASSATO – RASSEGNA DI CINEMA DI FANTASCIENZA DELL’ETA’ DELL’ORO PUNTATA 48: Il cervello dal pianeta Arous (1957)

Comixologia puntata 9: Britannia

Bentrovati in questa rubrica alquanto ballerina, legata alle nostre letture fumettistiche, ormai sempre più rare, a causa del lavoro.
Questa volta parleremo di nuova serie di mystery-horror edita dalla Valiant ambientata nella Roma del I secolo d.C., durante il regno di Nerone: Britannia, di Peter Milligan e Juan Jose Ryp.

cover di Larosa
cover di Larosa

Continua la lettura di Comixologia puntata 9: Britannia

Raspberry Pi stagione 2 puntata 1: Raspberry PIrateBox parte 1

Benvenuti a questa seconda stagione dedicata alla nostra single board preferita. Dopo aver visto in cosa consista, quali siano le sue caratteristiche, quali progetti consente di lanciare e averla utilizzata per un server web, è il momento di affrontare un progetto più complesso. In questa prima parte della stagione, i cui post si alterneranno con i post della rubrica dedicata ad Arduino, vedremo un progetto innovativo e abbastanza facile da implementare, riutilizzabile in molti campi: la Pirate Box.

Logo della Piratebox
Logo della Piratebox

Continua la lettura di Raspberry Pi stagione 2 puntata 1: Raspberry PIrateBox parte 1

FUTUROPASSATO – RASSEGNA DI CINEMA DI FANTASCIENZA DELL’ETA’ DELL’ORO PUNTATA 47: Il cibo degli dei (1976)

Ben ritrovati sulle pagine di questa rubrica dedicata alla fantascienza dei tempi che furono.
Oggi analizziamo il secondo film di una serie di tre ispirati, in maniera molto vaga per lo più, ai romanzi di Herbert G. Wells: dopo l’impero delle termiti giganti, ecco allora il momento de Il cibo degli dei (1976).

La locandina della versione in lingua inglese del film
La locandina della versione in lingua inglese del film

Continua la lettura di FUTUROPASSATO – RASSEGNA DI CINEMA DI FANTASCIENZA DELL’ETA’ DELL’ORO PUNTATA 47: Il cibo degli dei (1976)