Съдържание:

Arduino Nano Baised IR контролиран RGB LED: 5 стъпки
Arduino Nano Baised IR контролиран RGB LED: 5 стъпки

Видео: Arduino Nano Baised IR контролиран RGB LED: 5 стъпки

Видео: Arduino Nano Baised IR контролиран RGB LED: 5 стъпки
Видео: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Юли
Anonim
Arduino Nano Baised IR контролиран RGB LED
Arduino Nano Baised IR контролиран RGB LED

в този малък проект искам да ви покажа как изградих RGB LED базиран на Arduino, който се управлява от IR дистанционно и се захранва от USB кабел.

Консумативи

1. RGB LED

2. IR приемник

3. USB кабел

4. Arduino nano

5. IR дистанционно

6. някои кабели

7. 50-100 ома резистори (използвам резистори 47 ома, но няма голяма разлика)

Стъпка 1: Изберете вашето дистанционно

Изберете вашето дистанционно
Изберете вашето дистанционно

И така, кое дистанционно управление използвате, е ваше решение, но вашето дистанционно трябва да има 6 ключа, които искате да използвате. 2 от тях са за червено, 2 от тях за зелено и 2 за синьо.

Стъпка 2: Първо го изградете на дъска за хляб (не е необходимо, но се препоръчва)

Изградете го първо върху дъска за хляб (не е необходимо, но се препоръчва)
Изградете го първо върху дъска за хляб (не е необходимо, но се препоръчва)
Изградете го първо върху дъска за хляб (не е необходимо, но се препоръчва)
Изградете го първо върху дъска за хляб (не е необходимо, но се препоръчва)

Сега изградете веригата на макет

връзки:

RGB LED GND> Arduino nano GND

RGB LED Red> Arduino nano Digital pin 5

RGB LED зелен> Arduino nano Digital pin 6

RGB LED Blue> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

ПИН на IR приемник 1> Arduino nano Digital pin 4

ПИН 2 на IR приемник> Arduino nano GND

ИК приемник щифт 3> Arduino nano 5v

(всички връзки са показани по -горе)

(всеки цветен щифт на RGB LED е свързан последователно към резистори)

Стъпка 3: Кодът

кодът е следният:

Ето библиотеката, която използвах.

#включва

int IR_Recv = 4; // Игла на IR приемника

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Червен щифт int G = 6; // Зелен щифт int B = 9; // Blue pin #define Rup1 1976685926 // кара яркостта на червеното да се увеличава #define Rup2 3772818013 // прави яркостта на червеното нагоре #define Rdown1 3843765582 // намалява яркостта на червеното #define Rdown2 3772813933 // намалява яркостта на червеното #define Gup1 3772797613 // увеличава яркостта на зелено #дефинира Gup2 3774104872 // увеличава яркостта на зеленото #дефинира Gdown1 3772834333 // намалява яркостта на зеленото #дефинира Gdown2 1784778242 // намалява яркостта на зеленото #дефинира Bup1 3980777284 // прави синьо яркостта се увеличава #дефинира Bup2 3772781293 // кара яркостта на синьото да се увеличава #дефинира Bdown1 3772801693 // намалява яркостта на синьото #дефинира Bdown2 3361986248 // намалява яркостта на синьото // ЗАБЕЛЕЖКА: ТРЯБВА ДА ПРОМЕНИТЕ НОМЕРИТЕ НА ДАЛЕНА ВИ !!! ! // Имам 2 дублирани ключа, например Rup1 и Rup2. защото // моето дистанционно извежда 2 числа, когато натиснете един клавиш. // във вашия случай можете да поставите едни и същи числа в Rup1 и Rup2, Gup1 и Gup2 и т.н. // Когато натиснете клавиш, номерът трябва да се появи в Сериен монитор, // Това е, което трябва да напишете в секцията "#define". IRrecv unrecv (IR_Recv); decode_results резултати; void setup () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); unrecv.enableIRIn (); pinMode (R, OUTPUT); pinMode (G, OUTPUT); pinMode (B, OUTPUT); Serial.begin (9600); } void loop () {if (unrecv.decode (& results)) {long int decCode = results.value; ключ (results.value) {///////////// ЧЕРВЕН случай Rup1: Rval = Rval + 10; прекъсване; случай Rup2: Rval = Rval + 10; прекъсване; случай Rdown1: Rval = Rval - 10; прекъсване; случай Rdown2: Rval = Rval - 10; прекъсване; ////////////// ЗЕЛЕН случай Gup1: Gval = Gval + 10; прекъсване; случай Gup2: Gval = Gval + 10; прекъсване; случай Gdown1: Gval = Gval - 10; прекъсване; случай Gdown2: Gval = Gval - 10; прекъсване; /////////////// СИН случай Bup1: Bval = Bval + 10; прекъсване; случай Bup2: Bval = Bval + 10; прекъсване; случай Bdown1: Bval = Bval - 10; прекъсване; случай Bdown2: Bval = Bval - 10; прекъсване; //////////////////////////////////////////} unrecv.resume (); } if (Rval> 255) (Rval = 255); ако (Rval 255) (Gval = 255); ако (Gval 255) (Bval = 255); ако (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); delayMicroseconds (1); }

Стъпка 4: Завършване

Довършителни работи
Довършителни работи
Довършителни работи
Довършителни работи
Довършителни работи
Довършителни работи

Не съм свършил добра работа по обшивката. всичко, което направих, беше просто да го залепя, но се опитах да го направя възможно най -малък.

Ако имате въпроси или грешки, не забравяйте да ми кажете, ще направя всичко възможно да ви помогна да поправите грешката. Благодаря за четенето.

Препоръчано: