» електроника » Arduino »Цветна палитра с произволна функция Arduino

Случайна цветова палитра Arduino


Използвайки това домашно можете да направите всеки цвят в RGB системата с пет бутона

1 - добавете червено
2 - Добавете зелено
3 - Добавете синьо
4 - Случайни (произволен цвят)
5 - Нулиране

От какво се нуждаем:
1. Arduino (в моя случай arduino mega)
2. Съвет за развитие
3. Тип джъмпер: татко мама и татко татко
4. LCD 1602 (2 реда с 16 знака)
5. Бутони 5 броя
6. SMD RGB LED
7. Резистор за 10 Kom 5 броя


За начало свързваме RGB светодиода (ако няма резистор, сложете резистор на 220 ома).
След това поставяме 5 бутона: един крак за бутон да закрепи 5V, а другият през 10K резистор към земята и същия крак към arduino.
Свързваме LCD 1602 дисплея към SDA и SCL (I2C).
Всичко това е свързано с ардуино контакти (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13), както е на снимката.
отпред
зад


Е, всъщност самата скица



#include "LiquidCrustal_I2C.h" // свържете библиотеката за работа с дисплея чрез I2C
#include "Wire.h" // Свържете библиотеката за работа с I2C
int R = 9;
int G = 10;
int B = 11;
// RGB цветове
int BR = 0;
int BG = 0;
int BB = 0;
// променливи за запазване на стойността
int KR = 2; // червен бутон
int KG = 3; // бутонът е зелен
int KB = 4; // син бутон
int C = 13; // бутон за нулиране
int RS = 12; // бутон произволен
LiquidCrystal_I2C lcd (0x27.16.2); // Свържете дисплея (адрес, колони, редове)
void setup () {// стартира веднъж
    pinMode (R, OUTPUT);
    pinMode (G, OUTPUT);
    pinMode (B, OUTPUT);
// свържете RGB светодиода
    }
void loop () {// повтаря безкрайно
    забавяне (10); // забавяне 10 ms
        lcd.init (); // определяне на дисплея
lcd.backlight (); // включете подсветката на дисплея
    lcd.clear (); // изчистете дисплея
lcd.setCursor (5, 0); // поставете курсора на 6-та колона и 0-и ред
lcd.print ("Цвят"); // цвят на писане
lcd.setCursor (0, 1);
lcd.print ("R"); // пише R
lcd.setCursor (6, 1);
lcd.print ("G"); / пише G
lcd.setCursor (12, 1);
lcd.print ("B"); напишете Б
lcd.принт (BB); // отпечатайте синята стойност
    lcd.setCursor (2, 1);
lcd.принт (BR); // отпечатай стойността на червено
    lcd.setCursor (8, 1);
lcd.принт (BG); // отпечатайте зелената стойност
    lcd.setCursor (13, 1);
    ако (digitalRead (KR) == HIGH) {BR + = 15; } // ако бутонът R е натиснат, то стойността на R +15
    ако (digitalRead (KG) == HIGH) {BG + = 15; } // ако е натиснат бутона G, тогава стойността на G +15
    ако (digitalRead (KB) == HIGH) {BB + = 15; } // ако се натисне бутон B, тогава стойността B +15
     ако (digitalRead (C) == HIGH) {BR - = 254; } // ако се натисне бутон C, тогава стойността на R -254
    ако (digitalRead (C) == HIGH) {BG - = 254; } // ако е натиснат бутона C, тогава стойността на G -254
    ако (digitalRead (C) == HIGH) {BB - = 254; } // ако е натиснат бутона C, тогава стойността B -254
    if (digitalRead (RS) == HIGH) {BR = случаен (0, 254); } // ако се натисне бутона RS, стойността на R е от 0 до 254
     ако (digitalRead (RS) == HIGH) {BG = случаен (0, 254); } // ако се натисне бутона RS, стойността на G е от 0 до 254
     ако (digitalRead (RS) == HIGH) {BB = случаен (0, 254); } // ако се натисне бутона RS, тогава стойността на B е от 0 до 254
    
  BR = ограничение (BR, 0, 254); // BR = (стойност, от, до)
    analogWrite (R, BR); // използвайки PWM модулация коригираме яркостта от 0 до 254
      

  BG = ограничение (BG, 0, 254); // BG = (стойност, от, до)
    analogWrite (G, BG); // използвайки PWM модулация коригираме яркостта от 0 до 254
     
    
  BB = ограничение (BB, 0, 254); // BB = (стойност, от, до)
    analogWrite (B, BB); // използвайки PWM модулация коригираме яркостта от 0 до 254
     
    }


Изтеглете скица: sketch_feb07a2_ino.zip [587 b] (изтегляния: 71)

Това трябва да бъде!




Напишете в коментарите, че не е ясно, че ще отговарям на всички въпроси
интервю
Общо избиратели: 15
10
5
5

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо
3 коментари
Добре, добре.
Авторът
Тази палитра е необходима, за да изберете конкретен нюанс за осветени проекти.
Какво е това и за какво?

Съветваме ви да прочетете:

Предайте го за смартфона ...