» elektroniikka » Työläs »Väripaletti satunnaistoiminnolla Arduino

Arduino Random väripaletti


Tämän käyttäminen kotitekoinen voit tehdä mitä tahansa väriä RGB-järjestelmässä viidellä painikkeella

1 - lisää punainen
2 - Lisää vihreä
3 - Lisää sininen
4 - satunnainen (satunnainen väri)
5 - Palauta

Tarvitsemme:
1. Työläs (minun tapauksessani arduino mega)
2. Kehityslautakunta
3. Puserotyyppi: isä äiti ja isä isä
4. LCD 1602 (2 riviä 16 merkkiä)
5. Painikkeet 5 kpl
6. SMD RGB LED
7. Vastus 10 Kom 5 kappaleelle


Aluksi liitämme RGB-merkkivalon (jos vastusta ei ole, aseta vastus 220 ohmiin).
Seuraavaksi laitamme 5 nappia: yksi nappijalka kiinnittää 5V, ja toinen 10K: n vastuksen kautta maahan ja sama jalka arduinoon.
Yhdistämme LCD 1602 -näytön SDA: hon ja SCL: ään (I2C).
Kaikki tämä on kytketty arduino-koskettimiin (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) kuten kuvassa.
edessä
takana


No, itse luonnos



#include "LiquidCrustal_I2C.h" // yhdistä kirjasto toimimaan näytön kanssa I2C: n kautta
#include "Wire.h" // Yhdistä kirjasto toimimaan I2C: n kanssa
int R = 9;
int G = 10;
int B = 11;
// RGB-värit
int BR = 0;
int BG = 0;
int BB = 0;
// muuttujat arvon tallentamiseksi
int KR = 2; // punainen painike
int KG = 3; // -painike on vihreä
int KB = 4; // sininen painike
int C = 13; // nollauspainike
int RS = 12; // painike satunnainen
LiquidCrystal_I2C lcd (0x27,16,2); // Yhdistä näyttö (osoite, sarakkeet, rivit)
void setup () {// suorita kerran
    pinMode (R, OUTPUT);
    pinMode (G, OUTPUT);
    pinMode (B, OUTPUT);
// kytke RGB-LED
    }
void loop () {// toista loputtomasti
    viive (10); // viive 10 ms
        lcd.init (); // määritä näyttö
lcd taustavalo (); // kytke näytön taustavalo päälle
    lcd.selkeä (); // tyhjennä näyttö
lcd.setCursor (5, 0); // laita kursori kuudenteen sarakkeeseen ja 0. riviin
lcd.print ("väri"); // kirjoita väri
lcd.setCursor (0, 1);
lcd.print ("R"); // kirjoita R
lcd.setCursor (6, 1);
lcd.print ("G"); / kirjoita G
lcd.setCursor (12, 1);
lcd.print ("B"); kirjoita B
lcd-painos (BB); // tulosta sininen arvo
    lcd.setCursor (2, 1);
lcd.print (BR); // tulosta punaisen arvo
    lcd.setCursor (8, 1);
lcd.print (BG); // tulosta vihreä arvo
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == KORKEA) {BR + = 15; } // jos R-painiketta painetaan, niin R +15-arvo
    if (digitalRead (KG) == KORKEA) {BG + = 15; } // jos G-painiketta painetaan, sitten arvo G +15
    if (digitalRead (KB) == KORKEA) {BB + = 15; } // jos painiketta B painetaan, arvo B +15
     if (digitalRead (C) == KORKEA) {BR - = 254; } // Jos painiketta C painetaan, niin R -254: n arvo
    if (digitalRead (C) == KORKEA) {BG - = 254; } // jos C-painiketta painetaan, arvo G-254
    if (digitalRead (C) == KORKEA) {BB - = 254; } // jos C-painiketta painetaan, arvo B -254
    if (digitalRead (RS) == KORKEA) {BR = satunnainen (0, 254); } // Jos RS-painiketta painetaan, R: n arvo on 0 - 254
     if (digitalRead (RS) == KORKEA) {BG = satunnainen (0, 254); } // Jos RS-painiketta painetaan, G: n arvo on 0-254
     if (digitalRead (RS) == KORKEA) {BB = satunnainen (0, 254); } // Jos RS-painiketta painetaan, B: n arvo on 0-254
    
  BR = rajoitus (BR, 0, 254); // BR = (arvo, välillä, arvoon)
    analogWrite (R, BR); // säädämme kirkkautta PWM-modulaatiolla 0 - 254
      

  BG = rajoitus (BG, 0, 254); // BG = (arvo, välillä, arvoon)
    analogWrite (G, BG); // säädämme kirkkautta PWM-modulaatiolla 0 - 254
     
    
  BB = rajoitus (BB, 0, 254); // BB = (arvo, välillä, arvoon)
    analogWrite (B, BB); // säädämme kirkkautta PWM-modulaatiolla 0 - 254
     
    }


Lataa luonnos: sketch_feb07a2_ino.zip [587 b] (lataukset: 71)

Sitä sen pitäisi olla!




Kirjoita kommentteihin, että ei ole selvää, että vastaan ​​kaikkiin kysymyksiin
haastattelu
Äänestäjiä yhteensä: 15
10
5
5

Lisää kommentti

    • hymyillähymyileexaxakunnossadontknowyahoonea
      pomonaarmutyperyskylläkyllä-kylläaggressiivinensalaisuus
      anteeksitanssidance2dance3anteeksihelpjuomat
      pysäytysystäväthyvägoodgoodpillipyörtyäkieli
      savutaputusCrayjulistaapilkallinenDon-t_mentiondownload
      lämpöirefullaugh1MDAkokousmoskingnegatiivinen
      not_ipopcornrangaistaluettupelästyttääpelottaaetsi
      kiusatathank_youtämäto_clueumnikakuuttisuostua
      huonoBeeeblack_eyeblum3punastuaylpeilläikävystyminen
      sensuroituhassutussecret2uhatavoittoyusun_bespectacled
      SHOKrespektlolprevedtervetuloakrutoyya_za
      ya_dobryiauttajane_huliganne_othodifludkieltolähellä
3 kommentit
Okei, okei.
Kirjailija
Tätä palettia tarvitaan tietyn varjosteen valitsemiseksi valaistuille projekteille.
Mikä se on ja mihin?

Suosittelemme lukemaan:

Anna se älypuhelimelle ...