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
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.
Queste nozioni ti saranno utili in qualsiasi progetto arduino.
Nessun commento:
Posta un commento