Índice:

Arduino Nano Baised RGB controlado por LED RGB: 5 etapas
Arduino Nano Baised RGB controlado por LED RGB: 5 etapas

Vídeo: Arduino Nano Baised RGB controlado por LED RGB: 5 etapas

Vídeo: Arduino Nano Baised RGB controlado por LED RGB: 5 etapas
Vídeo: ChatGPT with Arduino Nano #arduino #chatgpt #technology #openAI #electronic 2024, Novembro
Anonim
LED RGB Arduino Nano Baised controlado por IR
LED RGB Arduino Nano Baised controlado por IR

neste pequeno projeto, quero mostrar como construí LED RGB baseado em Arduino, controlado por IR remoto e alimentado por cabo USB.

Suprimentos

1. RGB LED

2. Receptor IR

3. cabo USB

4. Arduino nano

5. IR remoto

6. alguns cabos

7. Resistores de 50-100 ohms (estou usando resistores de 47 ohms, mas não há muita diferença)

Etapa 1: Escolha o seu controle remoto

Escolha o seu controle remoto
Escolha o seu controle remoto

Portanto, qual controle remoto você usará é sua decisão, mas seu controle remoto deve ter 6 teclas que você deseja usar. 2 deles são para Vermelho, 2 deles para Verde e 2 para Azul.

Etapa 2: construa primeiro em uma tábua de pão (não é necessário, mas recomendado)

Construa primeiro em uma tábua de pão (não é necessário, mas recomendado)
Construa primeiro em uma tábua de pão (não é necessário, mas recomendado)
Construa primeiro em uma tábua de pão (não é necessário, mas recomendado)
Construa primeiro em uma tábua de pão (não é necessário, mas recomendado)

Agora, construa o circuito em uma placa de ensaio

conexões:

RGB LED GND> Arduino nano GND

RGB LED Vermelho> Arduino nano Digital pino 5

RGB LED Verde> Arduino nano Digital pino 6

RGB LED Azul> Arduino nano Digital pino 9

GND USB> Arduino nano GND

USB 5v> Arduino nano 5v

Pino 1 do receptor IR> Pino 4 do Arduino nano Digital

Pino 2 do receptor IR> Arduino nano GND

Pino 3 do receptor IR> Arduino nano 5v

(todas as conexões são mostradas acima)

(cada pino de cor do LED RGB é conectado em série a resistores)

Etapa 3: O Código

o código é o seguinte:

Aqui está a biblioteca que usei.

#incluir

int IR_Recv = 4; // pino do receptor IR

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Pino vermelho int G = 6; // Pino verde int B = 9; // Pino azul #define Rup1 1976685926 // faz o brilho vermelho aumentar #define Rup2 3772818013 // faz o brilho vermelho aumentar #define Rdown1 3843765582 // faz o brilho vermelho diminuir #define Rdown2 3772813933 // faz o brilho vermelho diminuir #define Gup1 3772797613 // faz o brilho do verde aumentar #define Gup2 3774104872 // faz o brilho do verde aumentar #define Gdown1 3772834333 // faz o brilho do verde diminuir #define Gdown2 1784778242 // faz o brilho do verde diminuir #define Bup1 3980777284 // torna o azul o brilho aumenta #define Bup2 3772781293 // faz o brilho do azul aumentar #define Bdown1 3772801693 // faz o brilho do azul diminuir #define Bdown2 3361986248 // faz o brilho do azul diminuir // NOTA: VOCÊ DEVE ALTERAR NÚMEROS NO SEU REMOTO !!! ! // Eu tenho 2 de chaves duplicadas, por exemplo Rup1 e Rup2. porque // meu controle remoto gera 2 números quando você pressiona uma tecla. // no seu caso, você pode colocar os mesmos números em Rup1 e Rup2, Gup1 e Gup2 e assim um. // Quando você pressiona uma tecla o número deve aparecer no monitor serial, // Isso é o que você deve digitar na seção "#define". IRrecv irrecv (IR_Recv); resultados de decode_results; void setup () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); irrecv.enableIRIn (); pinMode (R, OUTPUT); pinMode (G, SAÍDA); pinMode (B, OUTPUT); Serial.begin (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; switch (results.value) {/////////// RED case Rup1: Rval = Rval + 10; pausa; caso Rup2: Rval = Rval + 10; pausa; caso Rdown1: Rval = Rval - 10; pausa; caso Rdown2: Rval = Rval - 10; pausa; //////////// GREEN case Gup1: Gval = Gval + 10; pausa; caso Gup2: Gval = Gval + 10; pausa; caso Gdown1: Gval = Gval - 10; pausa; caso Gdown2: Gval = Gval - 10; pausa; ///////////// CASO AZUL Bup1: Bval = Bval + 10; pausa; caso Bup2: Bval = Bval + 10; pausa; caso Bdown1: Bval = Bval - 10; pausa; caso Bdown2: Bval = Bval - 10; pausa; ////////////////////////////////////////////} irrecv.resume (); } se (Rval> 255) (Rval = 255); if (Rval 255) (Gval = 255); if (Gval 255) (Bval = 255); if (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (resultados.valor); atrasoMicrosegundos (1); }

Etapa 4: acabamento

Acabamento
Acabamento
Acabamento
Acabamento
Acabamento
Acabamento

Eu não fiz um bom trabalho de casing. tudo o que fiz foi apenas gravá-lo, mas tentei torná-lo o mais pequeno possível.

Se você tiver alguma dúvida ou algum erro, não deixe de me dizer, farei o possível para ajudá-lo a corrigir o erro. obrigado pela leitura.

Recomendado: