» Eletrônicos » Arduino »Paleta de cores com função aleatória Arduino

Arduino Random Color Palette


Usando isto caseiro você pode fazer qualquer cor no sistema RGB com cinco botões

1 - adicione vermelho
2 - Adicionar verde
3 - Adicionar azul
4 - Aleatório (cor aleatória)
5 - Redefinir

Do que precisamos:
1. Arduino (no meu caso arduino mega)
2. Conselho de Desenvolvimento
3. Tipo de jumper: pai mãe e pai pai
4. LCD 1602 (2 linhas de 16 caracteres)
5. Botões 5 peças
6. LED RGB SMD
7. Resistor por 10 Kom 5 peças


Para começar, conectamos o LED RGB (na ausência de um resistor, coloque um resistor em 220 ohms).
Em seguida, colocamos 5 botões: uma perna de botão para fixar 5V e a outra através de um resistor de 10K no chão e a mesma perna no arduino.
Conectamos o monitor LCD 1602 ao SDA e SCL (I2C).
Tudo isso está conectado aos contatos do arduino (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) como na imagem.
Frente
Atrás


Bem, na verdade, o próprio esboço



#include "LiquidCrustal_I2C.h" // conecte a biblioteca para trabalhar com a exibição via I2C
#include "Wire.h" // Conecte a biblioteca para trabalhar com o I2C
int R = 9;
int G = 10;
int B = 11;
// cores RGB
int BR = 0;
int BG = 0;
int BB = 0;
// variáveis ​​para salvar o valor
int KR = 2; // botão vermelho
int KG = 3; // botão verde
int KB = 4; // botão azul
int C = 13; // botão reset
int RS = 12; // botão aleatório
LiquidCrystal_I2C lcd (0x27.16.2); // Conecta a tela (endereço, colunas, linhas)
void setup () {// executa uma vez
    pinMode (R, OUTPUT);
    pinMode (G, OUTPUT);
    pinMode (B, SAÍDA);
// conecte o LED RGB
    }
void loop () {// repete sem parar
    atraso (10); // atraso 10 ms
        lcd.init (); // define a exibição
lcd.backlight (); // liga a luz de fundo da tela
    lcd.clear (); // limpa a tela
lcd.setCursor (5, 0); // coloca o cursor na 6a coluna e na 0a linha
lcd.print ("Cor"); // escreve cor
lcd.setCursor (0, 1);
lcd.print ("R"); // escreve R
lcd.setCursor (6, 1);
lcd.print ("G"); / escreva G
lcd.setCursor (12, 1);
lcd.print ("B"); escreva B
lcd.print (BB); // imprime o valor azul
    lcd.setCursor (2, 1);
lcd.print (BR); // imprime o valor de vermelho
    lcd.setCursor (8, 1);
lcd.print (BG); // imprime o valor verde
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == ALTO) {BR + = 15; } // se o botão R for pressionado, o valor de R + 15
    if (leitura digital (KG) == ALTA) {BG + = 15; } // se o botão G for pressionado, o valor de G + 15
    if (digitalRead (KB) == ALTO) {BB + = 15; } // se o botão B for pressionado, o valor B + 15
     if (digitalRead (C) == ALTO) {BR - = 254; } // se o botão C for pressionado, o valor de R -254
    if (leitura digital (C) == ALTA) {BG - = 254; } // se o botão C for pressionado, o valor de G -254
    if (digitalRead (C) == ALTO) {BB - = 254; } // se o botão C for pressionado, o valor B -254
    if (digitalRead (RS) == ALTO) {BR = aleatório (0, 254); } // se o botão RS for pressionado, o valor de R será de 0 a 254
     if (digitalRead (RS) == ALTO) {BG = aleatório (0, 254); } // se o botão RS for pressionado, o valor de G será de 0 a 254
     if (digitalRead (RS) == ALTO) {BB = aleatório (0, 254); } // se o botão RS for pressionado, o valor de B será de 0 a 254
    
  BR = restrição (BR, 0, 254); // BR = (valor, de, para)
    analogWrite (R, BR); // usando a modulação PWM, ajustamos o brilho de 0 a 254
      

  BG = restrição (BG, 0, 254); // BG = (valor, de, para)
    analogWrite (G, BG); // usando a modulação PWM, ajustamos o brilho de 0 a 254
     
    
  BB = restrição (BB, 0, 254); // BB = (valor, de, até)
    analogWrite (B, BB); // usando a modulação PWM, ajustamos o brilho de 0 a 254
     
    }


Faça o download do esboço: sketch_feb07a2_ino.zip [587 b] (downloads: 71)

Isso é o que deveria ser!




Escreva nos comentários que não está claro que eu responderei a todas as perguntas
Enquete
Total de eleitores: 15
10
5
5

Adicionar um comentário

    • sorrirsorrisosxaxaoknão seiyahoonea
      chefearranhartolosimsim simagressivosegredo
      desculpedançardance2dance3perdãoajudabebidas
      pararamigosbomgoodgoodapitodesmaiarlíngua
      fumaçapalmascraydeclararirônicodon-t_mentionbaixar
      calorirritantelaugh1mdareuniãomoskingnegativo
      not_ipipocapunirlerassustarsustospesquisar
      provocarthank_youistoto_clueumnikagudoconcordar
      malbeeeblack_eyeblum3corargabar-setédio
      censuradobrincadeirasecret2ameaçarvitóriayusun_bespectacled
      sacudirrespektlolpreviubem vindoKrutoyya_za
      ya_dobryiajudantene_huliganne_othodifludproibirfechar
3 comentário
Ok ok
O autor
Essa paleta é necessária para selecionar um tom específico para projetos iluminados.
O que é e para quê?

Aconselhamos que você leia:

Entregue-o para o smartphone ...