» Elektronika » Arduino »Barevná paleta s náhodnou funkcí Arduino

Náhodné barevné palety Arduino


Pomocí tohoto domácí v systému RGB můžete udělat libovolnou barvu pomocí pěti tlačítek

1 - přidat červenou
2 - Přidat zelenou
3 - Přidat modrou
4 - Náhodné (náhodná barva)
5 - Reset

Co potřebujeme:
1. Arduino (v mém případě arduino mega)
2. Vývojová deska
3. Typ propojky: táta máma a táta táta
4. LCD 1602 (2 řádky 16 znaků)
5. Tlačítka 5 kusů
6. SMD RGB LED
7. Rezistor pro 10 Kom 5 kusů


Pro začátek připojíme RGB LED (pokud není rezistor, vložte rezistor na 220 ohmů).
Dále jsme dali 5 tlačítek: jedno tlačítko noha na pin 5V, a druhé přes 10K odpor k zemi a stejnou nohu k arduino.
Displej LCD 1602 připojujeme k SDA a SCL (I2C).
To vše je spojeno s arduino kontakty (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) jako na obrázku.
Přední
Zezadu


Vlastně skica samotná



#include "LiquidCrustal_I2C.h" // připojte knihovnu pro práci s displejem přes I2C
#include "Wire.h" // Připojte knihovnu pro práci s I2C
int R = 9;
int G = 10;
int B = 11;
// RGB barvy
int BR = 0;
int BG = 0;
int BB = 0;
// proměnné k uložení hodnoty
int KR = 2; // červené tlačítko
int KG = 3; // tlačítko je zelené
int KB = 4; // modré tlačítko
int C = 13; // tlačítko reset
int RS = 12; // tlačítko náhodně
LiquidCrystal_I2C lcd (0x27.16.2); // Připojte displej (adresa, sloupce, řádky)
void setup () {// spustit jednou
    pinMode (R, VÝSTUP);
    pinMode (G, OUTPUT);
    pinMode (B, VÝSTUP);
// připojte RGB LED
    }
void loop () {// opakujte donekonečna
    zpoždění (10); // zpoždění 10 ms
        lcd.init (); // definovat displej
lcd.backlight (); // zapněte podsvícení displeje
    lcd.clear (); // vymaže displej
lcd.setCursor (5, 0); // umístěte kurzor na 6. sloupec a 0. řádek
lcd.print ("Barva"); // napsat barvu
lcd.setCursor (0, 1);
lcd.print ("R"); // napište R
lcd.setCursor (6, 1);
lcd.print ("G"); / napište G
lcd.setCursor (12, 1);
lcd.print ("B"); napište B
lcd.print (BB); // vytiskni modrou hodnotu
    lcd.setCursor (2, 1);
lcd.print (BR); // vytiskne hodnotu červené
    lcd.setCursor (8, 1);
lcd.print (BG); // vytiskne zelenou hodnotu
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == HIGH) {BR + = 15; } // pokud je stisknuto tlačítko R, pak hodnota R +15
    if (digitalRead (KG) == HIGH) {BG + = 15; } // Pokud stisknete tlačítko G, pak hodnota G +15
    if (digitalRead (KB) == HIGH) {BB + = 15; } // pokud je stisknuto tlačítko B, pak hodnota B +15
     if (digitalRead (C) == HIGH) {BR - = 254; } // pokud je stisknuto tlačítko C, pak hodnota R-254
    if (digitalRead (C) == HIGH) {BG - = 254; } // pokud je stisknuto tlačítko C, pak hodnota G-254
    if (digitalRead (C) == HIGH) {BB - = 254; } // pokud je stisknuto tlačítko C, pak hodnota B -254
    if (digitalRead (RS) == HIGH) {BR = náhodný (0, 254); } // pokud je stisknuto tlačítko RS, pak je hodnota R od 0 do 254
     if (digitalRead (RS) == HIGH) {BG = náhodný (0, 254); } // Pokud stisknete tlačítko RS, pak hodnota G je od 0 do 254
     if (digitalRead (RS) == HIGH) {BB = náhodný (0, 254); } // Pokud stisknete tlačítko RS, pak je hodnota B od 0 do 254
    
  BR = omezení (BR, 0, 254); // BR = (hodnota, od, do)
    analogWrite (R, BR); // pomocí PWM modulace upravujeme jas od 0 do 254
      

  BG = omezení (BG, 0, 254); // BG = (hodnota, od, do)
    analogWrite (G, BG); // pomocí PWM modulace upravujeme jas od 0 do 254
     
    
  BB = omezení (BB, 0, 254); // BB = (hodnota, od, do)
    analogWrite (B, BB); // pomocí PWM modulace upravujeme jas od 0 do 254
     
    }


Stáhnout skicu: sketch_feb07a2_ino.zip [587 b] (počet stažení: 71)

To by mělo být!




Do komentářů napište, že není jasné, že zodpovím všechny otázky
Anketa
Celkem voličů: 15
10
5
5

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko
3 komentář
Dobře, dobře.
Autor
Tato paleta je potřebná pro výběr konkrétního odstínu pro osvětlené projekty.
Co je to a za co?

Doporučujeme si přečíst:

Podejte to pro smartphone ...