» Elektronika » Arduino »Paleta kolorów z losową funkcją Arduino

Arduino Random Color Palette


Za pomocą tego domowej roboty w systemie RGB można wykonać dowolny kolor za pomocą pięciu przycisków

1 - dodaj czerwony
2 - Dodaj zielony
3 - Dodaj niebieski
4 - Losowo (losowy kolor)
5 - Zresetuj

Czego potrzebujemy:
1. Arduino (w moim przypadku arduino mega)
2. Rada rozwoju
3. Rodzaj skoczka: tata mama i tata tata
4. LCD 1602 (2 linie po 16 znaków)
5. Przyciski 5 sztuk
6. Dioda LED SMD RGB
7. Rezystor na 10 sztuk Kom 5 sztuk


Aby rozpocząć, podłączamy diodę LED RGB (w przypadku braku rezystora, ustaw rezystor na 220 omów).
Następnie wkładamy 5 przycisków: jeden przycisk nogi do styku 5 V, a drugi przez rezystor 10K do ziemi i tę samą nogę do arduino.
Podłączamy wyświetlacz LCD 1602 do SDA i SCL (I2C).
Wszystko to jest podłączone do styków arduino (GND, 5 V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) jak na zdjęciu.
Przód
Z tyłu


Właściwie sam szkic



#include „LiquidCrustal_I2C.h” // podłącz bibliotekę do pracy z wyświetlaczem przez I2C
#include „Wire.h” // Podłącz bibliotekę do pracy z I2C
int R = 9;
int G = 10;
int B = 11;
// kolory RGB
int BR = 0;
int BG = 0;
int BB = 0;
// zmienne, aby zapisać wartość
int KR = 2; // czerwony przycisk
int KG = 3; // przycisk jest zielony
int KB = 4; // niebieski przycisk
int C = 13; // przycisk resetowania
int RS = 12; // losowy przycisk
LiquidCrystal_I2C lcd (0x27.16.2); // Połącz wyświetlacz (adres, kolumny, wiersze)
void setup () {// uruchom raz
    pinMode (R, WYJŚCIE);
    pinMode (G, WYJŚCIE);
    pinMode (B, WYJŚCIE);
// podłącz diodę RGB
    }
void loop () {// powtarzaj w nieskończoność
    opóźnienie (10); // opóźnienie 10 ms
        lcd.init (); // zdefiniuj sposób wyświetlania
lcd.backlight (); // włącz podświetlenie wyświetlacza
    lcd.clear (); // wyczyść wyświetlacz
lcd.setCursor (5, 0); // umieść kursor w 6 kolumnie i 0 rzędzie
lcd.print („Kolor”); // napisz kolor
lcd.setCursor (0, 1);
lcd.print („R”); // napisz R
lcd.setCursor (6, 1);
lcd.print („G”); / napisz G
lcd.setCursor (12, 1);
lcd.print („B”); napisz B
lcd.print (BB); // wydrukuj niebieską wartość
    lcd.setCursor (2, 1);
lcd.print (BR); // wydrukuj wartość koloru czerwonego
    lcd.setCursor (8, 1);
lcd.print (BG); // wydrukuj zieloną wartość
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == HIGH) {BR + = 15; } // jeśli wciśnięty jest przycisk R, to wartość R +15
    if (digitalRead (KG) == HIGH) {BG + = 15; } // po naciśnięciu przycisku G wartość G +15
    if (digitalRead (KB) == HIGH) {BB + = 15; } // jeśli zostanie naciśnięty przycisk B, wówczas wartość B +15
     if (digitalRead (C) == HIGH) {BR - = 254; } // jeśli wciśnięty jest przycisk C, to wartość R-254
    if (digitalRead (C) == HIGH) {BG - = 254; } // jeśli wciśnięty jest przycisk C, to wartość G-254
    if (digitalRead (C) == HIGH) {BB - = 254; } // jeśli naciśnięty zostanie przycisk C, wówczas wartość B -254
    if (digitalRead (RS) == HIGH) {BR = losowy (0, 254); } // po naciśnięciu przycisku RS wartość R wynosi od 0 do 254
     if (digitalRead (RS) == HIGH) {BG = losowy (0, 254); } // po naciśnięciu przycisku RS wartość G wynosi od 0 do 254
     if (digitalRead (RS) == HIGH) {BB = losowy (0, 254); } // po naciśnięciu przycisku RS wartość B wynosi od 0 do 254
    
  BR = ograniczenie (BR, 0, 254); // BR = (wartość, od, do)
    analogWrite (R, BR); // za pomocą modulacji PWM dostosowujemy jasność od 0 do 254
      

  BG = ograniczenie (BG, 0, 254); // BG = (wartość, od, do)
    analogWrite (G, BG); // za pomocą modulacji PWM dostosowujemy jasność od 0 do 254
     
    
  BB = ograniczenie (BB, 0, 254); // BB = (wartość, od, do)
    analogWrite (B, BB); // za pomocą modulacji PWM dostosowujemy jasność od 0 do 254
     
    }


Pobierz szkic: sketch_feb07a2_ino.zip [587 b] (pliki do pobrania: 71)

Tak powinno być!




Napisz w komentarzach, że nie jest jasne, że odpowiem na wszystkie pytania
Ankieta
Wszystkich głosujących: 15
10
5
5

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij
3 komentarz
W porządku
Autor
Ta paleta jest potrzebna do wybrania określonego odcienia dla oświetlonych projektów.
Co to jest i po co?

Radzimy przeczytać:

Podaj go do smartfona ...