Mündəricat:

Arduino Nano Baised IR nəzarətli RGB LED: 5 addım
Arduino Nano Baised IR nəzarətli RGB LED: 5 addım

Video: Arduino Nano Baised IR nəzarətli RGB LED: 5 addım

Video: Arduino Nano Baised IR nəzarətli RGB LED: 5 addım
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Noyabr
Anonim
Arduino Nano Baised IR idarə olunan RGB LED
Arduino Nano Baised IR idarə olunan RGB LED

Bu kiçik layihədə sizə IR uzaqdan idarə olunan və USB kabel ilə işləyən Arduino əsaslı RGB LED -in necə qurulduğunu göstərmək istəyirəm.

Təchizat

1. RGB LED

2. IR qəbuledicisi

3. USB kabeli

4. Arduino nano

5. IR uzaqdan

6. bəzi kabellər

7. 50-100 ohm rezistorlar (47 ohm rezistorlardan istifadə edirəm, amma çox da fərq yoxdur)

Addım 1: Uzaqdan idarəetmə cihazınızı seçin

Uzaqdan idarə etmənizi seçin
Uzaqdan idarə etmənizi seçin

Hansı uzaqdan istifadə etməyiniz sizin qərarınızdır, ancaq uzaqdan istifadə etmək istədiyiniz 6 düymə olmalıdır. Onlardan 2 -si Qırmızı, 2 -si Yaşıl və 2 -si Mavi üçün.

Addım 2: Əvvəlcə Çörək Lövhəsində Qurun (Lazım deyil, Tövsiyə olunur)

Əvvəlcə bir çörək taxtasında qurun (lazım deyil, amma tövsiyə olunur)
Əvvəlcə bir çörək taxtasında qurun (lazım deyil, amma tövsiyə olunur)
Əvvəlcə bir çörək taxtasında qurun (lazım deyil, amma tövsiyə olunur)
Əvvəlcə bir çörək taxtasında qurun (lazım deyil, amma tövsiyə olunur)

İndi dövrəni bir çörək taxtası üzərində qurun

əlaqələr:

RGB LED GND> Arduino nano GND

RGB LED Qırmızı> Arduino nano Digital pin 5

RGB LED Yaşıl> Arduino nano Digital pin 6

RGB LED Mavi> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR qəbuledici pin 1> Arduino nano Digital pin 4

IR qəbuledici pin 2> Arduino nano GND

IR qəbuledici pin 3> Arduino nano 5v

(bütün əlaqələr yuxarıda göstərilmişdir)

(RGB LED -in hər rəng pimi rezistorlara seriyaya bağlıdır)

Addım 3: Kod

kod aşağıdakı kimidir:

İşdə istifadə etdiyim kitabxana.

#daxil edin

int IR_Recv = 4; // IR qəbuledici pin

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Qırmızı pin int G = 6; // Yaşıl pin int B = 9; // Mavi pin #define Rup1 1976685926 // qırmızı parlaqlığın artmasını təmin edir #Rup22in müəyyən edilməsi 3772818013 // qırmızı parlaqlığın artmasına səbəb olur #Round1define1 3843765582 // qırmızı parlaqlığın azalmasına səbəb olur #define Rdown2 3772813933 // qırmızı parlaqlığın aşağı düşməsinə səbəb olur #define Gup1 3772797613 // yaşıl parlaqlığı artırır #təyin Gup2 3774104872 // yaşıl parlaqlığı artırır #təyin Gdown1 3772834333 // yaşıl parlaqlığı aşağı salır #müəyyən Gdown2 1784778242 // yaşıl parlaqlığı aşağı salır #bup1 3980777284 edir parlaqlıq yüksəlir #define Bup2 3772781293 // mavi parlaqlığı artırır #aşağıya endirmə 3772801693 // mavi parlaqlığı aşağı salır #aşağıya endirmə2 3361986248 // mavi parlaqlığı aşağı salır // QEYD: PULSUZLARINIZI NÖMRƏLƏRİNİZƏ DƏYİŞTİRMƏLİSİNİZ !!! ! // Məndə 2 təkrarlanan açar var, məsələn Rup1 və Rup2. çünki // bir düyməni basdığınız zaman uzaqdan idarəetməim 2 ədəd çıxarır. // sizin vəziyyətinizdə eyni ədədləri Rup1 və Rup2, Gup1 və Gup2 və sairə qoya bilərsiniz. // Bir düyməyə basdığınızda nömrənin Serial monitorda görünməsi lazımdır, // "#define" bölməsinə yazmalısınız. IRrecv irrecv (IR_Recv); decode_results nəticələri; boş quraşdırma () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); irrecv.enableIRIn (); pinMode (R, Çıxış); pinMode (G, Çıxış); pinMode (B, Çıxış); Serial.begin (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; keçid (results.value) {/////////// QIRMIZI halda Rup1: Rval = Rval + 10; fasilə; hal Rup2: Rval = Rval + 10; fasilə; hal Rdown1: Rval = Rval - 10; fasilə; hal Rdown2: Rval = Rval - 10; fasilə; //////////// GREEN case Gup1: Gval = Gval + 10; fasilə; halda Gup2: Gval = Gval + 10; fasilə; hal Gdown1: Gval = Gval - 10; fasilə; hal Gdown2: Gval = Gval - 10; fasilə; ///////////// MAVİ hal Bup1: Bval = Bval + 10; fasilə; halda Bup2: Bval = Bval + 10; fasilə; hal Bdown1: Bval = Bval - 10; fasilə; hal Bdown2: Bval = Bval - 10; fasilə; //////////////////////////////////////////} irrecv.resume (); } əgər (Rval> 255) (Rval = 255); əgər (Rval 255) (Gval = 255); əgər (Gval 255) (Bval = 255); əgər (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); gecikməMikrosaniyələr (1); }

Addım 4: Bitirmə

Bitir
Bitir
Bitir
Bitir
Bitir
Bitir

Mən cəsəd işində yaxşı bir iş görmədim. Etdiyim tək şey yapışdırmaqdır, amma mümkün qədər kiçik etməyə çalışdım.

Hər hansı bir sualınız və ya hər hansı bir səhviniz varsa, mənə bildirin, səhvinizi düzəltməyiniz üçün əlimdən gələni edəcəyəm. oxuduğunuz üçün təşəkkürlər.

Tövsiyə: