» Electrònica » Arduino »Paleta de colors amb funció aleatòria Arduino

Paleta de colors aleatoris Arduino


Utilitzant això casolans podeu fer qualsevol color al sistema RGB amb cinc botons

1: afegir vermell
2: afegeix el verd
3: afegir blau
4 - Aleatori (color aleatori)
5 - Restablir

El que necessitem:
1. Arduino (en el meu cas arduino mega)
2. Taula de desenvolupament
3. Tipus de pont: pare mare i pare
4. LCD 1602 (2 línies de 16 caràcters)
5. Botons 5 peces
6. LED SMD RGB
7. Resistiu per a 10 peces de 5 Kom


Per començar, connectem el LED RGB (si no hi ha resistència, poseu una resistència a 220 ohms).
A continuació, posem 5 botons: una cama de botó per pin 5V, i l’altra mitjançant una resistència de 10K a terra i la mateixa cama a arduino.
Connectem la pantalla LCD 1602 a SDA i SCL (I2C).
Tot això està connectat a contactes arduino (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) com a la imatge.
Front
Darrere


Bé, en realitat l’esbós en si



#include "LiquidCrustal_I2C.h" // connecta la biblioteca per treballar amb la pantalla mitjançant I2C
#include "Wire.h" // Connecta la biblioteca per funcionar amb I2C
int R = 9;
int G = 10;
int B = 11;
// colors RGB
int BR = 0;
int BG = 0;
int BB = 0;
// variables per desar el valor
int KR = 2; // botó vermell
int KG = 3; // el botó // és verd
int KB = 4; // botó blau
int C = 13; // botó de restabliment
int RS = 12; // botó aleatori
LiquidCrystal_I2C lcd (0x27.16.2); // Connectar la pantalla (adreça, columnes, línies)
void setup () {// executar una vegada
    pinMode (R, OUTPUT);
    pinMode (G, OUTPUT);
    pinMode (B, OUTPUT);
// connecteu el LED RGB
    }
void loop () {// repetir sense fi
    retard (10); // retard de 10 ms
        lcd.init (); // definir la pantalla
lcd.backlight (); // encendre el retroil·luminació de la pantalla
    lcd.clear (); // esborreu la pantalla
lcd.setCursor (5, 0); // poseu el cursor a la sisena columna i a la 0a fila
lcd.print ("Color"); // color d’escriptura
lcd.setCursor (0, 1);
lcd.print ("R"); // escriure R
lcd.setCursor (6, 1);
lcd.print ("G"); / escriu G
lcd.setCursor (12, 1);
lcd.print ("B"); escriu B
lcd.print (BB); // imprimiu el valor blau
    lcd.setCursor (2, 1);
lcd.print (BR); // imprimiu el valor de vermell
    lcd.setCursor (8, 1);
lcd.print (BG); // imprimiu el valor verd
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == HIGH) {BR + = 15; } // si es prem el botó R, el valor de R +15
    if (digitalRead (KG) == HIGH) {BG + = 15; } // si es prem el botó G, el valor de G +15
    if (digitalRead (KB) == HIGH) {BB + = 15; } // si es prem el botó B, el valor B +15
     if (digitalRead (C) == HIGH) {BR - = 254; } // si es prem el botó C, el valor de R -254
    if (digitalRead (C) == HIGH) {BG - = 254; } // si es prem el botó C, el valor de G -254
    if (digitalRead (C) == HIGH) {BB - = 254; } // si es prem el botó C, el valor B -254
    if (digitalRead (RS) == HIGH) {BR = aleatori (0, 254); } // si es prem el botó RS, el valor de R és de 0 a 254
     if (digitalRead (RS) == HIGH) {BG = aleatori (0, 254); } // si es prem el botó RS, el valor de G és de 0 a 254
     if (digitalRead (RS) == HIGH) {BB = aleatori (0, 254); } // si es prem el botó RS, el valor de B és de 0 a 254
    
  BR = restringir (BR, 0, 254); // BR = (valor, de, a)
    analogWrite (R, BR); // mitjançant la modulació PWM ajustem la brillantor de 0 a 254
      

  BG = restringir (BG, 0, 254); // BG = (valor, de, a)
    analogWrite (G, BG); // mitjançant la modulació PWM ajustem la brillantor de 0 a 254
     
    
  BB = restringir (BB, 0, 254); // BB = (valor, de, a)
    analogWrite (B, BB); // mitjançant la modulació PWM ajustem la brillantor de 0 a 254
     
    }


Descarregar esbós: sketch_feb07a2_ino.zip [587 b] (descàrregues: 71)

Això hauria de ser!




Escriu als comentaris que no està clar que respondré a totes les preguntes
Enquesta
Total d'electors: 15
10
5
5

Afegeix un comentari

    • somriuresomriuxaxad'acordno ho séyahoonea
      capratllarximplesísí-síagressiusecret
      ho sentoballarballar2ballar3perdóajudarbegudes
      pararamicsbébondatxiuletswoonllengua
      fumaraplaudintcranideclararderisiudon-t_mentiondescarregar
      calorirritariure1mdareuniómosquitnegatiu
      no_icrispetescastigarllegirporespantosbuscar
      burlargràcies_youaixòto_clueumnikagutd'acord
      dolentbeeeblack_eyeblum3ruborpresumirl'avorriment
      censuradaplaersecret2amenaçarvictòriatusun_bespectacled
      xocrespectlolpreveurebenvingudaKrutoyja_za
      ja_dobryiajudantne_huliganne_othodifludprohibicióa prop
3 comentari
D'acord, està bé.
L’autor
Aquesta paleta és necessària per seleccionar una ombra específica per a projectes il·luminats.
Què és i per a què?

Us aconsellem que llegiu:

Doneu-lo al telèfon intel·ligent ...