venerdì 30 settembre 2016

Arduino s2aio & Scratch - Progetto #1: Blink

Blink


Blink e’ la prima e la piu’ semplice applicazione per Arduino che possiamo programmare con Scratch
Nel mondo del software Blink e’ meglio conosciuto come Hello World !
Blink fa accendere e spegnere ogni secondo il led presente sulla scheda Arduino
Blink serve a verificare che l’ambiente Scratch e Arduino siano correttamente funzionanti






Circuito Finale

Questo e' l'aspetto che avra' il circuito finale. In questo caso non ci sono cablaggi.


IMG_0037.JPG



Circuito Finale in funzionamento

Questo e' il funzionamento del circuito finale in azione.



output_0p3AWP.gif



Bill of Material

Qui la lista dei componenti e del materiale di cui hai bisogno per realizzare il progetto.



Circuito Breadboard

Realizza il tuo progetto seguendo i cablaggi sulla breadboard e Arduino come raffigurato qui sotto.
In questo caso non ci sono cablaggi.



blink_bb.png


Codice Scratch

Implementa esattamente questo codice nell'ambiente Scratch per far funzionare il tuo progetto.





Complimenti


Complimenti se vedi il led sulla scheda Arduino lampeggiare ogni secondo significa che hai crerato il tuo primo programma per Arduino e tutto funzionabene !!!












sabato 17 settembre 2016

Scratch e Arduino con s2aio

In questo post faccio vedere come installare il software necessario per poter  programmare Arduino utilizzando l'ambiente di programmazione visuale Scratch e s2aio





Iniziamo con la lista di quello che ci serve:


  • Scheda Arduino con cavo USB






Io utilizzo una scheda Arduino UNO, ma qualsiasi altra scheda Arduino funziona in modo analogo.
In caso di utilizzo di schede Arduino cloni potrebbero essere necessari dei driver addizionali per Windows

  • Arduino Software e Ambiente di programmazione




Ambiente di sviluppo per Arduino (v 1.6.5) che si scarica gratuitamente qui. Non spaventatevi lo usiamo solo la prima volta, poi non lo useremo piu' per realizzare i nostri progetti con Arduino :)


  • Un Computer
Vi server un computer con Windows, Linux o MAC.

Oltretutto potete anche usare Linux o il MAC. In questo post tutte le istruzioni sono per WIndows siccome e' il piu' diffuso. Io uso Windows 7 ma versioni successive funzionano ugualmente. 

  • s2aio 
E' un estensione software disponibile qui,  che aggiunge il supporto per la programmazione di Arduino all'ambiente di programmazione Scratch2 off-line.


Adesso che abbiamo tutti i componenti necessari, iniziamo l'installazione. Nel resto del post spiego passo per passo cosa bisogna fare.

Passo #1: Installazione di Scratch




  • Segui le istruzioni a video per completare l'instllazione di Adobe Air


  • Segui le istruzioni a video per completare l'instllazione di Scratch
  • Verifica che Scratch sia instllato correttamente eseguendolo (cliccka sull'icona con il gattino Scratch)


  • Se tutto e' instllato correttamente devi vedere la finestra dell'ambiente Scratch a video


Passo #2: Installazione del Software Arduino


  • Unzip in una cartella: la versione di Arduino suggerita non richiede instllazione. Fai unzip del file in una cartella a tua scelta e poi esegui arduino direttamente da questa cartella.
E' possibile che in funzione del modello della tua scheda Arduino devi installare i driver.
Segui questa guida qui, ti spiega passo per passo come installare i driver

Se possiedi un Arduino clone puoi trovare i driver qui

  • Collega la scheda Arduino al PC tramite il cavo USB
La maggior parte delle schede Arduino viene alimentata direttamente dal PC tramite il cavo USB. In alcune schede devi appositamente selezionare un ponticello (Arduino Diecimila)


Passo #3: Verifica della porta COM in uso


Se tutto e' andato per il verso giusto una nuova porta COM e' stata aggiunta al tuo sistema.
Verifica in questo modo:


Start -> Control Panel



poi seleziona Hardware and Sound




poi seleziona Devices and Printers


Adesso al fondo della finestra dovresti vedere una nuova porta seriale COM chiamata Arduino




Nel mio caso la porta si chiama COM4. Nel tuo caso questo numero potrebbe cambiare.
Annotati questo nome siccome ci sara' utile dopo. 


Passo #4: Configurazione software Arduino

L'estensione s2aio di Scratch che utilizeremo per comunicare con Arduino usa un protocollo chiamato Firmata.
Dobbiamo installare il software Firmata sulla nostra scheda Arduino faceondo cosi':

  • Carica l'ambientre Arduino
Dal menu start di windows cercate il software Arduino appena installato e lanciatelo



Se tutto ha funzionato correttamente dovreste vedere una schermata simile a questa




  • Configurate il software
A questo punto bisogna configurare un paio di parametri nel software per far comunicare questo ambiente di programmazione con la scheda Arduino

Selziona il menu Tools -> Board

Vi compare una lunga lista di schede Arduino disponibili, voi selezionate esattamente quella che state utilizzando.
Nel mio caso ho selezionato Arduino Uno



Adesso non resta che completare la configurazione selezionando Tools -> Port
Da qui scegli la porta COM che ti eri annotato prima. Nel mio caso e' COM4






Passo #5: Installatiamo il software Firmata

Per installare il software di comunicazione Firmata sulla scheda Arduino basta fare cosi':

  • Carica il codice sorgente Firmata

Seleziona File -> Examples -> Firmata -> StandardFirmata



Adesso si apre una seconda finestra contenente il codice sorgente Firmata.
Puoi scorrere con mouse su' e giu' per vedere il codice sorgente, ma probabilmente ti risultera' incomprensibile. Niente paura non devi modificarlo.
In futuro quando acquisirai piu' esperienza sono sicuro che riuscirai a capire cosa fa' questo codice. :)


  • Upload del codice sulla scheda Arduino
Per compilare (il processo che trasforma il codice sorgente in codice macchina) e caricare il software su Arduino basta fare click sul pulsante Upload



Se tutto e' andato a buon fine dovresti vedere qualcosa di simile in basso nella finestra di Arduino




Come promesso all'inizio se hai raggiunto questo punto e' l'ultima volta che userai il software Arduino per programmare la tua scheda. Da ora in poi useremo Scratch. Pero' devi ancora completare l'installazione di un componente software. 
Guarda come si fa' come qui sotto.


Passo #6: Verifica della versione di Windows 

Prima di proseguire dobbiamo verificare la versione di Windows instllata (32 o 64 bit).




Seleziona Start -> Computer -> Taso destro del mouse -> Proprieta'

Dovresti vedere finestra simile a quella qui sotto






Nella riga dove c'e' scritto (Tipo di Sistema - System Type) vedi se il tuo windows e' a 32 o 64 bit.

Il mio e' a 64 bit. Annota questa informazione perche' e' utile nei passi successivi


Passo #7: Installazione di Python


E' necessario instllare la versione corretta (32 o 64 bit) di python in funzione della versione del tuo Windows.

  • Esegui il file .exe che hai scaricato per inizare l'installazione di python. Una finestra simile a questa qui sotto viene visualizzata

  • Scegli le opzioni come evidenziato nella figura sopra
  • Premi Install now. L'installazione comincia e vedi il progresso a video

  • Premi Close quando l'installazione e' al 100%

  • Ora verifica che python sia stato instllato correttamenteaprendo una finestra di terminale (Prompt o Finestra dei Comandi)


  • Ora scivi nel prompt dei comandi: python -V. Dovresti vedere un messaggio simile al mio

Ok se vedi visualizzata la versione di python significa che l'installazione e' andata a buon fine!

Passo #8: Installazione di s2aio

  • Installa s2aio tramite linea di comando (Prompt o Finestra dei Comandi)
  • Inserisci il seguente comando: pip install s2aio

  • Dovresti vedere una serie di messaggi simili ai miei

  • Al termine dell'installazione verifica che tutto sia andato a buon fine digitando il seguente comando nella finestra dei comandi: pip list
  • Dovresti vedere una serie di messaggi simili ai miei

  • Se nella lista di pacchetti installati leggi s2aio allora significa che l'estensione di scratch per arduino e' installata correttamente
  • Al termine dell'installazione verifica che tutto sia andato a buon fine digitando il seguente comando nella finestra dei comandi: pip list

Passo #9: Lanciamo l'ambiente Scratch

Per poter usare correttamente l'estensione s2aio in Scratch e' necessario lanciare l'editor di Scratch tramite linea di comando

  • Ora scivi nel prompt dei comandi: s2aio -l 9 -p COM4. Dovresti vedere un messaggio simile al mio

Nota  nel comando qui sopra ho specificato COM4 che e' il nome della porta seriale utilizzata per la comunicazione tra Scratch e Arduino. Se al passo 3 hai annotato un valore diverso allora usa il valore corretto nel comando appena inserito
  • In pochi istanti l'editor di Scrtach  deve partire a schermo

  • Ora vai nella tab/menu Altri Blocchi (in viola), dovresti vedere qualcosa di simile

Se la luce accanto a s2aio e' VERDE allora significa che tutto e' ok e che Scratch e' in grado di comuniocare con Arduino

Passo #10: Programma di Prova

  • Seleziona con il mouse lo sptrite di scratch ed inserisci il seguente script

  • Premi la bandierina verde per lanciare il programma su Arduino

  • A questo punto Scratch invia ad Arduino i comandi che hai programmato nello script
Questo script fa la seguente cosa:

Quando si preme la bandierina verde il programma inizia connettendo il led A al pin 13 di Arduino.
Dopo di cio' accende il led per 1 secondo, poi lo spegne per 1 secondo e poi ricomincia dall'inizio.
Quindi una volta che eseguiamo il programma (click su bandierina verde) il led sulla scheda arduino si accende e si spegne continuamente
  • Osserva la tua scheda Arduino e vedrai che il led con la L vicino si accende e spegne ogni secondo






Prova a cambiare il tempo di accensione e spegnimento e guarda che succede :) :)

Conclusioni

In conclusione abbiamo configurato tutto il necessario per poter eseguire i nostri programmi Scratch su Arduino. Tutta la programmazione avviene in ambrinte visuale Scratch e quindi non serve imparare nessun linguaggio specifico.

L'ambiente descritto in questo articolo si presta perfettamente all'utilizzo dei piu' piccoli permettendogli cosi' di imparare sia la programmazione visuale sia l'interazione con una scheda fantastica come quella di Arduino.