» elektronikk » Arduino »Fargepalett med Arduino tilfeldig funksjon

Arduino tilfeldig fargepalett


Bruker dette hjemmelaget Du kan lage hvilken som helst farge i RGB-systemet med fem knapper

1 - legg til rødt
2 - Legg til grønt
3 - Legg til blått
4 - Tilfeldig (tilfeldig farge)
5 - Tilbakestill

Hva vi trenger:
1. Arduino (i mitt tilfelle arduino mega)
2. Utviklingsstyre
3. Jumper type: pappa mamma og pappa pappa
4. LCD 1602 (2 linjer med 16 tegn)
5. Knapper 5 stk
6. SMD RGB LED
7. Motstand for 10 Kom 5 stk


For å starte kobler vi RGB LED (i mangel av en motstand, sett en motstand på 220 ohm).
Deretter satte vi 5 knapper: det ene knappbenet til 5V-pinnen, og det andre gjennom en 10K-motstand til bakken og det samme benet til arduino.
Vi kobler LCD 1602-skjermen til SDA og SCL (I2C).
Alt dette er koblet til arduino-kontakter (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) som på bildet.
foran
bak


Vel, faktisk selve skissen



#include "LiquidCrustal_I2C.h" // koble biblioteket til å fungere med skjermen via I2C
#include "Wire.h" // Koble biblioteket til å jobbe med I2C
int R = 9;
int G = 10;
int B = 11;
// RGB-farger
int BR = 0;
int BG = 0;
int BB = 0;
// variabler for å lagre verdien
int KR = 2; // rød knapp
int KG = 3; // -knappen er grønn
int KB = 4; // blå knapp
int C = 13; // tilbakestillingsknapp
int RS = 12; // knapp tilfeldig
LiquidCrystal_I2C lcd (0x27.16.2); // Koble skjermen (adresse, kolonner, linjer)
void setup () {// kjør en gang
    pinMode (R, OUTPUT);
    pinMode (G, OUTPUT);
    pinMode (B, OUTPUT);
// koble RGB LED
    }
void loop () {// gjenta uendelig
    forsinkelse (10); // forsinkelse 10 ms
        lcd.init (); // definere displayet
lcd.backlight (); // slå på bakgrunnsbelysningen på skjermen
    lcd.clear (); // tøm skjermen
lcd.set Markør (5, 0); // sett markøren på sjette kolonne og 0. rad
lcd.print ("Farge"); // skriv farge
lcd.set Markør (0, 1);
lcd.print ("R"); // skriv R
lcd.set markør (6, 1);
lcd.print ("G"); / skriv G
lcd.set markør (12, 1);
lcd.print ("B"); skriv B
lcd.print (BB); // skriv den blå verdien
    lcd.set markør (2, 1);
lcd.print (BR); // skriv ut verdien av rødt
    lcd.set markør (8, 1);
lcd.print (BG); // skriv ut den grønne verdien
    lcd.set markør (13, 1);
    if (digitalRead (KR) == HIGH) {BR + = 15; } // hvis du trykker på R-knappen, er verdien R +15
    if (digitalRead (KG) == HIGH) {BG + = 15; } // hvis du trykker på G-knappen, er verdien til G +15
    if (digitalRead (KB) == HØY) {BB + = 15; } // hvis du trykker på knapp B, deretter verdien B +15
     if (digitalRead (C) == HIGH) {BR - = 254; } // hvis du trykker på C-knappen, er verdien R -254
    if (digitalRead (C) == HIGH) {BG - = 254; } // Hvis du trykker på C-knappen, er verdien G -254
    if (digitalRead (C) == HØY) {BB - = 254; } // Hvis du trykker på C-knappen, er verdien B -254
    if (digitalRead (RS) == HØY) {BR = tilfeldig (0, 254); } // Hvis du trykker på RS-knappen, er verdien R fra 0 til 254
     if (digitalRead (RS) == HØY) {BG = tilfeldig (0, 254); } // Hvis du trykker på RS-knappen, er verdien til G fra 0 til 254
     if (digitalRead (RS) == HØY) {BB = tilfeldig (0, 254); } // Hvis du trykker på RS-knappen, er verdien på B fra 0 til 254
    
  BR = begrensning (BR, 0, 254); // BR = (verdi, fra, til)
    analogWrite (R, BR); // ved bruk av PWM-modulering justerer vi lysstyrken fra 0 til 254
      

  BG = begrensning (BG, 0, 254); // BG = (verdi, fra, til)
    analogWrite (G, BG); // ved bruk av PWM-modulering justerer vi lysstyrken fra 0 til 254
     
    
  BB = begrensning (BB, 0, 254); // BB = (verdi, fra, til)
    analogWrite (B, BB); // ved bruk av PWM-modulering justerer vi lysstyrken fra 0 til 254
     
    }


Last ned skisse: sketch_feb07a2_ino.zip [587 b] (nedlastinger: 71)

Det er hva det skal være!




Skriv i kommentarene at det ikke er klart at jeg vil svare på alle spørsmål
intervju
Totalt velgere: 15
10
5
5

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
3 kommentarer
Ok, ok.
Forfatteren
Denne paletten er nødvendig for å velge en spesifikk nyanse for opplyste prosjekter.
Hva er det og for hva?

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...