Dissolvenza di un LED ON / OFF - Arduino Basics

Prova Il Nostro Strumento Per Eliminare I Problemi





Il post discute una funzione di base di Arduino in cui apprendiamo il processo di dissolvenza di un LED ON / OFF attraverso alcune implementazioni di codice di base.

Creazione di un effetto di dissolvenza

Vediamo come utilizzare una funzione analogwrite () per implementare una dissolvenza ON / OFF di un LED. La funzione incorpora impulsi PWM su un pinout per eseguire l'azione di dissolvenza suggerita sul LED collegato.



Hardware necessario

Insieme al tuo Arduino, per l'esperimento sarebbero necessari altri materiali come una breadboard, un LED e una resistenza da 220 ohm, 1/4 wat.

Il circuito

I passaggi coinvolti per la proposta di dissolvenza LED ON / OFF con un Arduino sono i seguenti:



1. Collegare il terminale più lungo del LED al pin # 9 dell'uscita digitale tramite il resistore da 220 ohm in serie, mentre il catodo o il terminale più corto del LED con la massa direttamente o la barra di alimentazione negativa.

Il codice

Una volta che il pin # 9 della scheda è integrato come pin positivo del LED, la funzione setup () potrebbe essere semplicemente lasciata da sola e non richiederebbe ulteriori operazioni.

Il componente del codice del loop principale sotto forma di analogwrite () necessita di un paio di riconoscimenti: il primo riguarda la funzione relativa a quale pin deve essere utilizzato per la scrittura, e il secondo è il valore del PWM da determinare.

Per innescare un effetto di dissolvenza ON / OFF sul LED collegato, il PWM può essere variato in modo consistente da zero a massimo oppure a 255 e viceversa, completando l'intero singolo ciclo di funzionamento.

Il codice seguente mostra l'intensità PWM determinata tramite una variabile denominata luminosità. Inoltre, aumenta in base alla variabile fadeAmount nel ciclo.

In una situazione in cui la luminosità è ai valori estremi (0 o 255), richiede dissolvenza

ammontare a diventare negativo.

Significa che se supponiamo che fadeAmount sia 5, cambia in -5 e 5 nel caso in cui sia impostato a 55. Negli ultimi periodi del ciclo questi cambiamenti producono luminosità per variare anche il corso dell'azione.

La funzione analoguewrite () provoca rapide alterazioni dei valori PWM, in modo tale che il ritardo alla conclusione dello sketch controlli la velocità di dissolvenza.
È possibile sperimentare i valori di ritardo per esaminare i cambiamenti prodotti nel programma.
/ *
Dissolvenza

Questo esempio mostra come sfumare un LED sul pin 9
utilizzando la funzione analogWrite ().

Questo codice di esempio è di pubblico dominio.
* /

int led = 9 // il pin a cui è collegato il LED
int luminosità = 0 // quanto è luminoso il LED
int fadeAmount = 5 // di quanti punti far sfumare il LED

// la routine di installazione viene eseguita una volta quando si preme reset:
void setup () {
// dichiara che il pin 9 è un'uscita:
pinMode (led, OUTPUT)
}

// la routine del ciclo viene eseguita più e più volte per sempre:
void loop () {
// imposta la luminosità del pin 9:
analogWrite (led, luminosità)

// cambia la luminosità per la prossima volta attraverso il ciclo:
luminosità = luminosità + fadeAmount

// inverte la direzione della dissolvenza alle estremità della dissolvenza:
if (luminosità == 0 || luminosità == 255) {
fadeAmount = -fadeAmount
}
// aspetta 30 millisecondi per vedere l'effetto di attenuazione
ritardare (30)
}




Precedente: Circuito Tubelight LED compatto da 110 V. Avanti: Transistor ad alta tensione e alta corrente TIP150 / TIP151 / TIP152 Datasheet