Visualizzazione post con etichetta sketch. Mostra tutti i post
Visualizzazione post con etichetta sketch. Mostra tutti i post

mercoledì 6 gennaio 2016

Scratch e Arduino - Progetto #5: Il led a luce variabile

In questo progetto vediamo come accendere un led con un'intensita' di luce variabile. Piu' in generale vediamo come pilotare un pin "analogico" o PWM di arduino.




Obiettivi del progetto

Accendere un led con un'intensita' di luce variabile impostata da un potenziometro.


Lista Componenti

Vediamo di cosa abbiamo bisogno per eseguire il progetto.


Scheda Arduino
Breadboard

Led

Resistenza da 220 ohm 

Potenziometro


Fili Maschio-Maschio




Come abbiamo visto nel progetto del led un pin digitale puo' assumere solo due valori

  • ON/HIGH/ACCESO o 100
  • OFF/LOW/SPENTO o 0

Tuttavia ci sono dei casi in cui vogliamo far assumere ad un pin digitale valori diversi da ON/OFF. Per esempio per accendere un led con un'intensita' di luce tra il massimo (tutto acceso = ON) e il minimo (tutto spento = OFF). In questo caso sul pidino che controlla il led dobbiamo passare valori differenti da ON e OFF.

Per far questo si usa una tecnica di modulazione chiamata PWM (Pulse With Modulation).
In questo modo possiamo far assumere al pin digitale di arduino un qualsiasi valore compreso tra 0 (OFF) e 100 (ON).
Ad ogni valore corrisponde un'intesita' di luce del led diversa.

Potete trovare una descrizione del concetto di PWM qui

Circuito e collegamenti

Qui lo schema dei collegamenti da realizzare. Ho usato il software Fritzing per rappresentare gli schemi di collegamento.




E qui la realizzazione su breadboard del circuito












Il circuito e' molto semplice. E' l'unione dei circuiti gia' realizzati per il led e per il potenziometro.

Abbiamo collegato il pin numero 9 di arduino, tramite il filo arancione, ad uno dei piedini della resistenza. L'altro piedino della resistenza e' collegato sul piedino positivo del led (anodo). Il piedino negativo del led (catodo) e' collegato indirettamente, tramite il filo nero, al pin GND (massa) di arduino (tramite la breadboard).

Abbiamo anche collegato il piedino centrale del potenziometro al pin analogico A0.

In questo modo quando ruoteremo il potenziometro la tensione sul piedino A0 variera' tra un valore di 0 e 100.
Useremo poi questo programma per accendere il led con una luce proporzionale a tale valore.




Programma Scratch

Crea questo script in Scratch usando il mouse







Adesso vediamo cosa fa il programma scratch descrivendo i vari blocchetti dall'alto al basso:





Imposta il Pin Analogio A0 come ingresso per legegre i valori del poteniometro ad esso collegato




Impostiamo il Pin 9 con uscita PWM.
 In questo caso possiamo solo usare i pin 3,5,6,9,10,11 o comunque quelli contrassegnati  con un tilde (~). Questi sono pin digitali speciali sui quali e' possibile impostare un valore qualsiasi tra 0 e 255 usando la tecnica PWM


Questo e' il ciclo principlae che viene eseguito per sempre. All'inizio devi creare una variabile chiamata luminosita. iniziamo il ciclo impostando il valore della variabile luminosita con il valore restituito dalla lettura del potenziometro (valore pin analogico (A) 0). A questo punto portiamo la luminosita' del ledA al valore contenuto nella variabile luminosita che ha sua volta e' il valore letto dal potenziometro. In questo modo al variare della posizione del potenziometro varia la luminosita' del ledA.
Notare che siccome il valore analogico assume valori tra 0 e 1023 sia necessario dividere il valore per 4 per portarlonel range 0 - 255


In questo modo abbiamo creato un programma che ha un input (il potenziometro) ed un output (il la luminosita' del led). Li abbiamo correlati tramite il software.

Faccio notare che questo circuito puo' essere implementato anche senza l'uso di Arduino, ma lo scopo e' di far comprendere l'uso dei pin PWM di arduino.






Complimenti!!! Con questo progetto hai imparato ad utilizzare i pin digitali ed analogici di Arduino in input e output.
Queste nozioni ti saranno utili in qualsiasi progetto arduino.










giovedì 24 dicembre 2015

Scratch e Arduino - Progetto #1: Il Led

In questo post vediamo come creare il nostro primo progetto Arduino: L'accensione di un Led.

Come sempre quando si impara qualcosa di nuovo si inizia con Hello World!. Ecco l'accensione del led e' l'equivalente Arduino di Hello World! nel software :)



Obiettivi del progetto

Far lampeggiare un led pilotato da Arduino


Lista Componenti

Vediamo di cosa abbiamo bisogno per eseguire il progetto.


Scheda Arduino
Breadboard

Led

Resistenza da 220 ohm 

Fili Maschio-Maschio




Potete trovare una breve spiegazione su come si usa una Breadboard qui

Una spiegazione dettagliata su cos'e' e come funziona un Led si trova qui

Per chi vuole capire cosa sono e cosa rappresentano le strisce colorate sul corpo della resistenza puo' dare un'occhiata qui 


Circuito e collegamenti

Qui lo schema dei collegamenti da realizzare. Ho usato il software Fritzing per rappresentare gli schemi di collegamento.




E qui la realizzazione su breadboard del circuito





Il circuito e' molto semplice.
Abbiamo collegato il pin numero 7 di arduino, tramite il filo arancione, ad uno dei piedini della resistenza. L'altro piedino della resistenza e' collegato sul piedino positivo del led (anodo). Il piedino negativo del led (catodo) e' collegato, tramite il filo nero, al pin GND (massa) di arduino.
In questo modo quando il piedino 7 di arduino sara' acceso (HIGH level) la corrente iniziera' a fluire da arduino, attraverso la resistenza e poi attraverso il led illuminandolo. Infine ritornera' in arduino tramite il piedino GND

Nota che la resistenza non ha verso, cioe' i due piedini sono equivalenti.
Mentre il led ha un verso. Il piedino piu' lungo si chiama anodo e' ha il segno +, mentre quello piu' corto si chiama catodo ed ha il segno -


Programma Scratch

Adesso vediamo il codice che dobbiamo creare con Scratch per far lampeggiare il led

Come spiegato in questo articolo apri ScratchX in Firefox da qui

Crea questo script in Scratch usando il mouse






Adesso vediamo cosa fa il programma scratch descrivendo i vari blocchetti dall'alto al basso:




Questo e' l'inizio del programma. In particolare diciamo a scratch di iniziare ad eseguire il programma quando facciamo click con il mouse sulla bandierina verde




diciamo a scratch di collegare il ledA al pin 7 di arduino. Questo e' importante siccome nello schema elettrico abbiamo collegato l'anodo del led al pin 7.

questo e' un che in programmazione si chiama ciclo. Piu' imparticolare questo e' un ciclo infinito. Cio' significa che tutte le istruzioni o comandi che sono contenuti al suo interno vengono ripetuti per esempre dal primo all'ultimo, e poi dinuovo dall'inizio

questo blocco dice s scratch di impostare il led A (quello collegato al pin 7 di arduino) ad accesso, di fatto accendendo il led

questo blocco dice a scratch di aspettare per 1 secondo prima di eseguire il comando successivo

questo blocco dice s scratch di impostare il led A (quello collegato al pin 7 di arduino) a spento, di fatto spegnendo il led



Quindi una volta fatto click sulla bandierina verde il programma inizia collegando il led A al pin 7 di arduino.
Poi inizia un ciclo infinito che accende il led A, aspetta 1 secondo, spegne il led A, aspetta 1 secondo e poi comincia dinuovo accendendo il led A.

In questo modo abbiamo realizzato sia la parte HW (il collegamento elettrico) sia la parte Software (il programma a blocchi scratch) per far lampeggiare un Led.






Complimenti!!! come detto all'inizio avete realizzato l' Hello World! di Arduino.
Tutti hanno iniziato cosi'... :)










sabato 12 dicembre 2015

Scratch e Arduino

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


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 con Windows
Vi server un computer con il sistema operativo Windows. Io uso Windows 7 ma versioni successive funzionano ugualmente.

Oltretutto potete anche usare Linux o il MAC. In questo post tutte le istruzioni sono per WIndows siccome e' il piu' diffuso.


  • Firefox Web Browser


E' possibile utilizzare anche altri browser, ma consiglio di usare Firefox in quanto l'utilizzo di Scratch con Arduino e' piu' semplice con Firefox che con altri browser.


  • Estensione Arduino Browser Plugin
E' un plugin del browser Firefox che ci permette di mettere in comunicazione il browser con la scheda Arduino. Puo' essere scaricato gratuitamente qui

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

Passo #1: Installazione 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)


  • Verifica la porta COM
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 #2: Configurazione software Arduino

L'estensione 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 #3: 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 #4: Installiamo il plugin di Firefox per Arduino

Per far comunicare la scheda Arduino, con il software Firmata che abbiamo caricato precedentemente, e' necessario installare un plugin per il Browser.

  • Download Plugin
Il plugin si scarica qui 


  • Installazione plugin
Fai doppio click sul file scaricato prima. Questo installaera' automaticamente il plugin necessario




A questo punto tutti i pasis necessari per iniziare ad usare l'ambiente Scratch per programmare Arduino sono stati completati. Non ti resta che iniziare

Passo #5: Carichiamo Scratch 


Dal Broser Firefox apri questo link 

Dopo alcuni secondi dovrebbe apparore questa finestra




Non ti preoccupare ti dice solo che l'estensione Arduino che stai per usare non e' mantenuta dal team ufficiale di Scratch. In ogni caso tutto apposto non ci sono pericoli.

Seleziona I Understand, continue

Se tutto ha funzionato a dovere al centro della finestra devi vedere un pallino verde




Il pallino verde ti dice che la comunicazione con Arduino funziona correttamente e tutto e' pronto per iniziare con i tuoi progetti Scratch e Arduino

NOTA

Il pallino puo' assuemere altri due colori:

  • ROSSO: significa che il plugin per il browser non e' stato installato correttamente
  • GIALLO:  significa che la comunicazione tra il browser e Arduino ha qualche problema

In caso di pallino GIALLO tipicamente basta scollegare Arduino, ricollegare Arduino e ricaricare scratch dal broser come spiegato prima



Se tutto ha funzionato a dovere dovresti vedere questa finestra nel tuo broswer




Il mio primo progetto Arduino: Lampeggio LED

Adesso che l'abiente Scratch per programmare Arduino e' pronto programmiamo il nostro primo progetto.

Lo scopo e' far lampeggiare un LED sulla scheda di Arduino senza il bisogno di nessun componente esterno.


Nella finestra Script crea questo programma attaccando insieme i vari blocchetti come visualizzato in figura




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


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





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.