» elektronik » Arduino »Arduino rasgele fonksiyonlu renk paleti

Arduino Rastgele Renk Paleti


Bunu kullanma ev yapımı RGB düğmesinde beş düğmeyle istediğiniz rengi yapabilirsiniz

1 - kırmızı ekle
2 - Yeşil Ekle
3 - Mavi Ekle
4 - Rastgele (rastgele renk)
5 - Sıfırla

Neye ihtiyacımız var:
1. Arduino (benim durumumda arduino mega)
2. Kalkınma kurulu
3. Jumper tipi: baba anne ve baba baba
4. LCD 1602 (16 karakterlik 2 satır)
5. Düğmeler 5 parça
6. SMD RGB LED
7. 10 Kom 5 parça için direnç


Başlamak için RGB LED'i bağlarız (bir direnç olmadan 220 ohm'a bir direnç koyarız).
Ardından, 5 düğme koyduk: bir düğme ayağı 5V pimine, diğeri yere 10K direnç ve aynı bacağı arduinoya.
LCD 1602 ekranını SDA ve SCL'ye (I2C) bağlarız.
Bütün bunlar resimdeki gibi arduino kontaklarına (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) bağlanır.
önünde
arkasında


Aslında taslağın kendisi



#include "LiquidCrustal_I2C.h" // ekranla çalışmak için kütüphaneyi I2C üzerinden bağlayın
#include "Wire.h" // I2C ile çalışmak için kütüphaneyi bağlayın
int R = 9;
int G = 10;
int B = 11;
// RGB renkleri
int BR = 0;
int BG = 0;
int BB = 0;
// değeri kaydetmek için değişkenler
int KR = 2; // kırmızı düğme
int KG = 3; // düğme yeşil
int KB = 4; // mavi düğme
int C = 13; // sıfırlama düğmesi
int RS = 12; // düğme rastgele
LiquidCrystal_I2C lcd (0x27.16.2); // Ekranı bağlayın (adres, sütunlar, çizgiler)
void setup () {// bir kez çalıştır
    pinMode (R, ÇIKIŞ);
    pinMode (G, ÇIKIŞ);
    pinMode (B, ÇIKIŞ);
// RGB LED'ini bağlayın
    }
void loop () {// durmadan tekrarlayın
    gecikme (10); // 10 ms gecikme
        lcd.init (); // ekranı tanımla
lcd.backlight (); // ekran arka ışığını aç
    lcd.clear (); // ekranı temizle
lcd.setİmleç (5, 0); // imleci 6. sütuna ve 0. satıra getir
lcd.print ("Renk"); // renk yaz
lcd.setİmleç (0, 1);
lcd.print ("R"); // R yaz
lcd.setİmleç (6, 1);
lcd.print ("G"); / G yaz
lcd.setİmleç (12, 1);
lcd.print ("B"); B yaz
lcd.print (BB); // mavi değeri yazdır
    lcd.setİmleç (2, 1);
lcd.print (BR); // kırmızı değerini yazdır
    lcd.setİmleç (8, 1);
lcd.print (BG); // yeşil değeri yazdır
    lcd.setİmleç (13, 1);
    eğer (digitalRead (KR) == YÜKSEK) {BR + = 15; } // R düğmesine basılırsa, R +15 değeri
    eğer (digitalRead (KG) == YÜKSEK) {BG + = 15; } // G düğmesine basılırsa G +15 değeri
    if (digitalRead (KB) == YÜKSEK) {BB + = 15; } // B düğmesine basılırsa B +15 değeri
     if (digitalRead (C) == YÜKSEK) {BR - = 254; } // C düğmesine basılırsa, R-254 değeri
    eğer (digitalRead (C) == YÜKSEK) {BG - = 254; } // C düğmesine basılırsa G -254 değeri
    eğer (digitalRead (C) == YÜKSEK) {BB - = 254; } // C düğmesine basılırsa B -254 değeri
    if (digitalRead (RS) == YÜKSEK) {BR = rastgele (0, 254); } // RS düğmesine basılırsa, R değeri 0 ila 254 arasındadır
     eğer (digitalRead (RS) == YÜKSEK) {BG = rastgele (0, 254); } // RS düğmesine basılırsa, G değeri 0'dan 254'e kadardır
     eğer (digitalRead (RS) == YÜKSEK) {BB = rastgele (0, 254); } // RS düğmesine basılırsa, B değeri 0 ila 254 arasındadır
    
  BR = kısıtlama (BR, 0, 254); // BR = (değer, - arası)
    analogyazma (R, BR); // PWM modülasyonunu kullanarak parlaklığı 0'dan 254'e ayarlıyoruz
      

  BG = kısıtlama (BG, 0, 254); // BG = (değer, - arası)
    analogWrite (G, BG); // PWM modülasyonunu kullanarak parlaklığı 0'dan 254'e ayarlıyoruz
     
    
  BB = kısıtlama (BB, 0, 254); // BB = (değer, - arası)
    analogWrite (B, BB); // PWM modülasyonunu kullanarak parlaklığı 0'dan 254'e ayarlıyoruz
     
    }


Kroki indir: sketch_feb07a2_ino.zip [587 b] (indirmeler: 71)

Olması gereken bu!




Tüm soruları cevaplayacağımın açık olmadığını yorumlarda yazın
görüşme
Toplam Oy: 15
10
5
5

Yorum ekle

    • gülümsegülümsemelerxaxatamamdontknowyahoonea
      patronçizikaptalevetevet-evetagresifgizli
      üzgünümdansdance2dance3pardonyardımiçecekler
      Durarkadaşlariyigoodgooddüdükbaygınlıkdil
      dumanzırıltıcraybeyanalaycıDon-t_mentionindir
      ısıöfkelilaugh1mdatoplantımoskingnegatif
      Not_ipatlamış mısırcezalandırmakokumakkorkutmakkorkutuyorarama
      alaythank_youbuto_clueumnikakutanlaşmak
      kötübeeeblack_eyeblum3kızarmakövünçcan sıkıntısı
      sansürlüşakasecret2tehdit etmekzaferyusun_bespectacled
      shokrespektlolPrevedkarşılamaKrutoyya_za
      ya_dobryiyardımcıne_huliganne_othodiFludyasakyakın
3 yorumlar
Tamam, tamam.
Yazar
Bu palet, aydınlatılmış projeler için belirli bir gölge seçmek için gereklidir.
Nedir ve ne için?

Okumanızı tavsiye ederiz:

Akıllı telefon için verin ...