» elektronika » Težak »Paleta boja s Arduino slučajnom funkcijom

Arduino slučajna paleta boja


Koristeći ovo domaći u RGB sustavu možete napraviti bilo koju boju s pet gumba

1 - dodajte crvenu
2 - Dodajte zelenu
3 - Dodajte plavu
4 - Slučajno (slučajna boja)
5 - resetiranje

Što nam treba:
1. Težak (u mom slučaju arduino mega)
2. Razvojna ploča
3. Tip skakača: mama mama i tata tata
4. LCD 1602 (2 retka od 16 znakova)
5. Gumbi 5 komada
6. SMD RGB LED
7. Otpornik za 10 Kom 5 komada


Za početak povezujemo RGB LED (u nedostatku otpornika, stavimo otpornik na 220 ohma).
Zatim stavimo 5 gumba: jedna noga tipke na pin 5V, a druga kroz otpornik od 10K prema zemlji i ista noga prema arduinu.
LCD zaslon 1602 spajamo na SDA i SCL (I2C).
Sve je to povezano s arduino kontaktima (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) kao na slici.
ispred
iza


Pa, zapravo sama skica



#include "LiquidCrustal_I2C.h" // povežite biblioteku za rad s zaslonom putem I2C
#include "Wire.h" // Povežite biblioteku za rad s I2C
int R = 9;
int G = 10;
int B = 11;
// RGB boje
int BR = 0;
int BG = 0;
int BB = 0;
// varijable za spremanje vrijednosti
int KR = 2; // crveni gumb
int KG = 3; // gumb je zelene boje
int KB = 4; // plavo dugme
int C = 13; // gumb za resetiranje
int RS = 12; // tipka slučajna
LiquidCrystal_I2C lcd (0x27.16.2); // Spojite zaslon (adresa, stupci, redovi)
void setup () {// pokrenuti jednom
    pinMode (R, IZLAZ);
    pinMode (G, IZLAZ);
    pinMode (B, IZLAZ);
// spojite RGB LED
    }
void petlje () {// ponavljati beskrajno
    kašnjenje (10); // kašnjenje 10 ms
        lcd.init (); // definirati prikaz
lcd.backlight (); // uključite pozadinsko osvjetljenje zaslona
    lcd.clear (); // obrišite zaslon
lcd.setCursor (5, 0); // postavite kursor na 6. stupac i 0. reda
lcd.print ("Boja"); // pisati u boji
lcd.setCursor (0, 1);
lcd.print ("R"); // pisati R
lcd.setCursor (6, 1);
lcd.print ("G"); / napisati G
lcd.setCursor (12, 1);
lcd.print ("B"); napisati B
lcd.print (BB); // ispisati plavu vrijednost
    lcd.setCursor (2, 1);
lcd.print (BR); // ispisati vrijednost crvene boje
    lcd.setCursor (8, 1);
lcd.print (BG); // ispisati zelenu vrijednost
    lcd.setCursor (13, 1);
    ako je (digitalno čitanje (KR) == HIGH) {BR + = 15; } // ako se pritisne gumb R, tada je vrijednost R +15
    ako je (digitalno čitanje (KG) == HIGH) {BG + = 15; } // ako se pritisne gumb G, tada je vrijednost G +15
    ako je (digitalno čitanje (KB) == HIGH) {BB + = 15; } // ako se pritisne gumb B, tada je vrijednost B +15
     ako je (digitalno čitanje (C) == HIGH) {BR - = 254; } // ako se pritisne tipka C, tada vrijednost R -254
    ako je (digitalno čitanje (C) == HIGH) {BG - = 254; } // ako se pritisne tipka C, tada je vrijednost G -254
    ako je (digitalno čitanje (C) == HIGH) {BB - = 254; } // ako se pritisne tipka C, tada je vrijednost B -254
    ako je (digitalno čitanje (RS) == HIGH) {BR = slučajno (0, 254); } // ako se pritisne RS tipka, tada je vrijednost R od 0 do 254
     ako je (digitalno čitanje (RS) == HIGH) {BG = slučajno (0, 254); } // ako se pritisne RS tipka, tada je vrijednost G od 0 do 254
     ako je (digitalno čitanje (RS) == HIGH) {BB = slučajno (0, 254); } // ako se pritisne RS tipka, tada je vrijednost B od 0 do 254
    
  BR = ograničenje (BR, 0, 254); // BR = (vrijednost, od, do)
    analogWrite (R, BR); // pomoću PWM modulacije podešavamo svjetlinu od 0 do 254
      

  BG = ograničenje (BG, 0, 254); // BG = (vrijednost, od, do)
    analogWrite (G, BG); // pomoću PWM modulacije podešavamo svjetlinu od 0 do 254
     
    
  BB = ograničenje (BB, 0, 254); // BB = (vrijednost, od, do)
    analogWrite (B, BB); // pomoću PWM modulacije podešavamo svjetlinu od 0 do 254
     
    }


Preuzmi skicu: sketch_feb07a2_ino.zip [587 b] (preuzimanja: 71)

To bi trebalo biti!




Napišite u komentarima da nije jasno da ću odgovoriti na sva pitanja
intervju
Ukupno birača: 15
10
5
5

Dodajte komentar

    • osmijehosmjesixaxau redudontknowprostakNea
      gazdaogrebotinabudaladaDa-Daagresivantajna
      oprostiteplesdance2dance3pomilovanjepomoćpića
      zaustavljanjeprijateljidobrogoodgoodzviždaljkapasti u nesvijestjezik
      dimpljeskanjeCrayObjavitepodrugljivdon-t_mentionpreuzimanje
      vrućinaljutitlaugh1MDAsastanakmoskingnegativan
      not_ikokicekaznitičitatiuplašitiplašitraži
      podsmijehthank_youovoto_clueumnikakutansložiti
      lošebeeeblack_eyeblum3rumenilohvalisati sedosada
      cenzuriranizadirkivanjesecret2prijetitipobjedayusun_bespectacled
      shokrespektlolpreveddobrodošlikrutoyya_za
      ya_dobryipomoćnikne_huliganne_othodifludzabranablizu
3 komentari
Ok, ok.
Autor
Ova je paleta potrebna za odabir određene nijanse za osvijetljene projekte.
Što je to i za što?

Savjetujemo vam da pročitate:

Predaj to pametnom telefonu ...