Circuito de luz sequencial de fluxo Arduino RGB

Experimente Nosso Instrumento Para Eliminar Problemas





Este circuito gerador de luz sequencial Arduino RGB irá gerar um fluxo suave vermelho, padrão azul verde sobre o LED RGB conectado.

O LED usado aqui é um LED RGB de 30mA de quatro pinos, tipo de ânodo comum, o que significa que o pino comum para este LED precisará ser atribuído a um positivo contínuo para as operações necessárias. Os LEDs especificados como cátodo comum requerem um negativo contínuo ou aterramento para as iluminações RGB.



O hardware necessário para este projeto:

Uma placa Arduino UNO.
Um resistor de 220 ohms, 1/4 watt
Um LED RGB, 5 mm, 30 mA (tipo de ânodo comum)
Link Wires
Ferro de solda,
Adaptador 9V AC / DC

Os detalhes de conexão do circuito de luz sequencial LED RGB proposto usando Arduino podem ser vistos no diagrama acima.



As conexões são muito fáceis de implementar, basta inserir os condutores de LED nas pinagens do Arduino burg, ligar a tomada e visualizar o LED RGB rodando o vermelho, verde e azul iluminando de forma sequencial.

O código é totalmente personalizável de acordo com as preferências e seleções individuais,

Código:

Em seguida, o código de esboço para este circuito de luz de fluxo sequencial LED RGB pode ser encontrado conforme abaixo:

/ *
Fluxo de cor RGB LED
Exibe uma [razoavelmente] suave
sequência de cores em um LED RGB

por Jeremy Fonte
Copyright (c) 2012 Jeremy
Fonte. Todos os direitos reservados.
Este código é lançado sob o
Licença MIT:

https://opensource.org/licenses/MIT*/

int r = 0
int g = 0
int b = 0

int ri = 1
int gi = 3
int bi = 2

// a rotina de configuração é executada uma vez quando você pressiona reset:
void setup () {
// inicializa o pino digital como
uma saída.
pinMode (8, OUTPUT)
pinMode (9, OUTPUT)
pinMode (10, OUTPUT)
pinMode (11, OUTPUT)

digitalWrite (9, HIGH)
}

// a rotina de loop é executada indefinidamente:
void loop () {
r = r + ri
g = g + gi
b = b + bi

if (r> 255) {
r = 255
ri = -1 * aleatório (1, 3)
}
else if (r<0) {
r = 0
ri = aleatório (1, 3)
}

if (g> 255) {
g = 255
gi = -1 * aleatório (1, 3)
}
else if (g<0) {
g = 0
gi = aleatório (1, 3)
}

if (b> 255) {
b = 255
bi = -1 * aleatório (1, 3)
}
else if (b<0) {
b = 0
bi = aleatório (1, 3)
}

analogWrite (8, r)
analogWrite (10, g)
analogWrite (11, b)
atraso (20)
}




Anterior: Circuito gerador de melodia musical do Arduino Próximo: Arduino LCD KeyPad Shield (SKU: DFR0009) Datasheet