» Elektronika » Arduino »Spalvų paletė su„ Arduino “atsitiktine funkcija

„Arduino“ atsitiktinių spalvų paletė


Naudojant tai naminis penkiais mygtukais galite padaryti bet kokią spalvą RGB sistemoje

1 - pridėkite raudoną
2 - pridėkite žalią
3 - pridėkite mėlyną
4 - Atsitiktinė (atsitiktinė spalva)
5 - atstatyti

Ko mums reikia:
1. Arduino (mano atveju arduino mega)
2. Plėtros taryba
3. Džemperio tipas: tėčio mama ir tėčio tėtis
4. LCD 1602 (2 eilutės iš 16 simbolių)
5. Mygtukai 5 vnt
6. SMD RGB šviesos diodas
7. Rezistorius 10 Kom 5 vienetų


Norėdami pradėti, mes prijungiame RGB šviesos diodą (jei nėra rezistoriaus, padėkite rezistorių esant 220 omų).
Toliau mes įdėjome 5 mygtukus: vieno mygtuko koją prijunkite prie 5 V, o kitą - per 10K varžą į žemę, o tą pačią koją - į arduino.
Mes prijungiame LCD 1602 ekraną prie SDA ir SCL (I2C).
Visa tai prijungta prie arduino kontaktų (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13), kaip parodyta paveikslėlyje.
Priekyje
Už nugaros


Na, iš tikrųjų pats eskizas



#include „LiquidCrustal_I2C.h“ // prijunkite biblioteką darbui su ekranu per I2C
#include "Wire.h" // Prijunkite biblioteką darbui su I2C
int R = 9;
int G = 10;
int B = 11;
// RGB spalvos
int BR = 0;
int BG = 0;
int BB = 0;
// kintamieji reikšmei išsaugoti
int KR = 2; // raudonas mygtukas
int KG = 3; // mygtukas yra žalias
int KB = 4; // mėlynas mygtukas
int C = 13; // atstatymo mygtukas
int RS = 12; // mygtukas atsitiktinis
„LiquidCrystal_I2C LCD“ (0x27.16.2); // Prijunkite ekraną (adresą, stulpelius, eilutes)
void setup () {// paleisti vieną kartą
    pinMode (R, OUTPUT);
    pinMode (G, OUTPUT);
    pinMode (B, OUTPUT);
// prijunkite RGB šviesos diodą
    }
void loop () {// pakartokite be galo
    vėlavimas (10); // vėlavimas 10 ms
        lcd.init (); // apibrėžkite ekraną
lcd.backlight (); // įjunkite ekrano foninį apšvietimą
    lcd.clear (); // išvalykite ekraną
„lcd.setCursor“ (5, 0); // užveskite žymeklį ant 6 stulpelio ir 0 eilutės
lcd.print („Spalva“); // rašyti spalvą
lcd.setCursor (0, 1);
lcd.print („R“); // parašyti R
„lcd.setCursor“ (6, 1);
lcd.print („G“); / parašyti G
„lcd.setCursor“ (12, 1);
lcd.print („B“); rašyti B
lcd.print (BB); // atsispausdinkite mėlyną vertę
    „lcd.setCursor“ (2, 1);
lcd.print (BR); // atsispausdinkite raudonos spalvos reikšmę
    „lcd.setCursor“ (8, 1);
lcd.print (BG); // spausdinkite žalią reikšmę
    „lcd.setCursor“ (13, 1);
    if (digitalRead (KR) == AUKŠTAS) {BR + = 15; } // jei paspaudžiamas mygtukas R, tada R +15 reikšmė
    if (digitalRead (KG) == AUKŠTAS) {BG + = 15; } // jei paspaudžiamas mygtukas G, tada vertė G +15
    if (digitalRead (KB) == AUKŠTAS) {BB + = 15; } // jei paspaudžiamas mygtukas B, tada vertė B +15
     if (digitalRead (C) == AUKŠTAS) {BR - = 254; } // jei paspaudžiamas C mygtukas, tada R -254 reikšmė
    if (digitalRead (C) == AUKŠTAS) {BG - = 254; } // jei paspaudžiamas C mygtukas, tada G -254 vertė
    if (digitalRead (C) == AUKŠTAS) {BB - = 254; } // jei paspaudžiamas mygtukas C, tada vertė B -254
    if (digitalRead (RS) == AUKŠTAS) {BR = atsitiktinis (0, 254); } // Jei paspaudžiamas mygtukas RS, tada R vertė yra nuo 0 iki 254
     if (digitalRead (RS) == AUKŠTAS) {BG = atsitiktinis (0, 254); } // Jei paspaudžiamas mygtukas RS, tada G vertė yra nuo 0 iki 254
     if (digitalRead (RS) == AUKŠTAS) {BB = atsitiktinis (0, 254); } // Jei paspaudžiamas mygtukas RS, tada B vertė yra nuo 0 iki 254
    
  BR = suvaržymas (BR, 0, 254); // BR = (vertė, nuo, iki)
    „analogWrite“ (R, BR); // Naudodami PWM moduliaciją, sureguliuojame ryškumą nuo 0 iki 254
      

  BG = suvaržymas (BG, 0, 254); // BG = (vertė, nuo, iki)
    „analogWrite“ (G, BG); // Naudodami PWM moduliaciją, sureguliuojame ryškumą nuo 0 iki 254
     
    
  BB = suvaržymas (BB, 0, 254); // BB = (vertė, nuo, iki)
    „analogWrite“ (B, BB); // Naudodami PWM moduliaciją, sureguliuojame ryškumą nuo 0 iki 254
     
    }


Atsisiųsti eskizą: „sketch_feb07a2_ino.zip“ [587 b] (atsisiuntimų: 71)

Štai koks jis turėtų būti!




Komentaruose parašykite, kad neaišku, ar atsakysiu į visus klausimus
Apklausa
Iš viso rinkėjų: 15
10
5
5

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalėju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti
3 komentaras
Gerai, gerai.
Autorius
Ši paletė reikalinga tam, kad pasirinktumėte konkretų apšviestų projektų atspalvį.
Kas tai ir kam?

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...