Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES Buy from JP

La OSOYOO Magic I/O Shield per Arduino con questa scheda prestigiosa, possiamo facilmente collegare vari sensori e attuatori molto più facilmente di prima.

In questa lezione, mostreremo come cambiare gradualmente la luminosità di un modulo LED attraverso la programmazione. Dato che la luce pulsante sembra respirare, gli diamo un nome magico: breathing LED. Realizzeremo questo effetto con la modulazione di larghezza d’impulso (PWM).

Cos’è il PWM?

Pulse Width Modulation, o PWM, è una tecnica per ottenere risultati analogici con mezzi digitali. In parole povere, il pin PWM può generare un’uscita di corrente “analogica” controllata da un programma per computer. Il seguente testo è un’introduzione dettagliata sul PWM, se non siete interessati a tali dettagli tecnici, potete saltarli e andare direttamente alla sezione COME FARE

 

Il controllo digitale è usato per creare un’onda quadra, un segnale commutato tra on e off. Questo modello on-off può simulare tensioni tra il pieno on (5 volt) e off (0 volt) cambiando la porzione di tempo che il segnale trascorre in on rispetto al tempo che il segnale trascorre in off. La durata del “tempo di accensione” è chiamata larghezza dell’impulso. Per ottenere valori analogici variabili, si cambia, o si modula, la larghezza dell’impulso. Se ripetete questo schema on-off abbastanza velocemente con un LED per esempio, il risultato è come se il segnale fosse una tensione costante tra 0 e 5V che controlla la luminosità del LED. (Vedi la descrizione PWM sul sito ufficiale di Arduino).

Possiamo vedere dall’oscillogramma superiore che l’ampiezza della tensione DC in uscita è di 5V. Tuttavia, la tensione effettiva in uscita è solo 3.75V attraverso il PWM perché il livello alto occupa solo il 75% della tensione totale in un periodo.Ecco un’introduzione ai tre parametri di base del PWM:

  1. Duty cycle descrive la proporzione di tempo “on” rispetto all’intervallo regolare o al periodo di tempo.
  2. Period descrive il reciproco degli impulsi in un secondo.
  3. L’ampiezza della tensione qui è 0V-5V.

Ci sono 6 pin sulla maggior parte delle schede Arduino contrassegnati con ‘PWM’ accanto al numero di pin (su alcune schede è un simbolo “~”) – questi pin sono pin PWM.

Usiamo il pin D3 per controllare il modulo LED qui.

Quindi collegare il modulo LED alla porta D3 dello schermo Magic I/O con un cavo PNP a 3 pin come qui sotto:

Avviso:
Non si può collegare direttamente un LED a una batteria o a una fonte di tensione. In primo luogo, perché il LED ha un cavo positivo e uno negativo e non si accende se sono al contrario; In secondo luogo, un LED deve essere utilizzato con una resistenza per limitare o ‘choke’ la quantità di corrente che scorre attraverso il LED – altrimenti il LED può essere bruciato!

Avviso: Togliere la batteria o scollegare l’adattatore di alimentazione quando si carica il codice dello sketch su Arduino.

Dopo che le operazioni di cui sopra sono state completate, connetti la scheda Arduino al tuo computer usando il cavo USB. Il LED verde di alimentazione (etichettato PWR) dovrebbe accendersi.

Aprite il software di programmazione grafica Mixly, se Mixly non è inglese, dovete prima cambiare la lingua:

Puoi scaricare il codice direttamente, poi clicca su “Apri” in Mixly per scegliere il codice che hai scaricato:

Download Code

Oppure potete fare le seguenti operazioni:

  1. Click sul blocco “Control”;
  2. Trascina  “Setup” allo spazio vuoto;
  3. Click sul blocco “In/Out”;
  4. Drag il “pinMode” sotto il blocco “Setup“, nserire i due blocchi e definire il parametro “pinMode 3 Stat OUTPUT“;
  5. Click sul blocco “Control”;
  6. Drag il blocco “count with” nello spazio vuoto,  e modifica i parametri “count with from 0 to 255 step 1” .

Questo ciclo dovrebbe partire da a=0, in ogni ciclo, la variabile “a” continua ad aggiungere 1 finché a=255, poi il ciclo finirà.

Quando 0≤a≤255, assegna il suo valore al pin 3 del LED di volta in volta, per lasciare che il LED diventi più luminoso. Il LED manterrà la luminosità attuale per 10ms in ogni ciclo.

  1. Click sul blocco “In/Out”;
  2. Trascina “AnalogWrite PIN#” sotto il blocco “count with“, inserire i due blocchi e definire il parametro “AnalogWrite PIN# value a“;
  3. Click sul blocco “Control”;
  4. Drag  “Delay” sotto il blocco “AnalogWrite PIN#“, inserire i due blocchi e definire il parametro“Delay  ms 10“.

Impostate un altro ciclo for per far sì che il LED diventi più fioco. Il valore della variabile “a” diminuisce da 255 a 0. Abbiamo assegnato questo valore al pin 3 nel primo ciclo, quindi possiamo semplicemente duplicare il blocco combinato per ottenerne un altro. Il LED manterrà la luminosità attuale per 10ms in ogni ciclo.

  1. Muovi il mouse sul blocco “ccount with” e clicca con il tasto destro per duplicare i blocchi;
  2. Trascinate i blocchi duplicati per adattarli ai blocchi precedenti;
  3. Modifica il parametro del blocco duplicato “count with” a “count with from 255 to 0 step –1″

Impostare un ritardo di 1 secondo per la massa del LED che diventa più luminoso e poi più fioco. Poi eseguire questa respirazione LED ripetutamente.

  1. Click sul blocco “Control”;
  2. Trascina il blocco “Delay” sotto il blocco“count with”, incastrare i due blocchi e definire il parametro“Delay ms 1000”.

I blocchi dell’intero programma sono i seguenti:

  1. Click Save quando il programma è pronto
  2. Seleziona il tipo di scheda e la porta seriale prima di caricare. Per installare una scheda UNO, seleziona semplicemente Arduino/Genuino Uno: se usi un Mega2560, seleziona Arduino/Genuino Mega o Mega2560.
  3. Selezionate il dispositivo seriale della scheda Arduino dal menu COM. È probabile che questa sia COM3 o superiore (COM1 e COM2 sono di solito riservate alle porte seriali hardware). Per scoprirlo, puoi scollegare la tua scheda Arduino e riaprire il menu; la voce che scompare dovrebbe essere la scheda Arduino. Ricollegate la scheda e selezionate quella porta seriale.
  4. Successivamente, caricare il codice. Se il caricamento non riesce, controllate e correggete il codice secondo le indicazioni.
  5. Infine, lo stato cambierà in ‘Upload success!

how_to_play.png (1150×56)

Pochi secondi dopo la fine del caricamento, dovreste vedere il LED diventare sempre più luminoso, e poi lentamente più fioco, proprio come il respiro.