Мазмуну:

Arduino Nano Baised IR контролдонуучу RGB LED: 5 кадам
Arduino Nano Baised IR контролдонуучу RGB LED: 5 кадам

Video: Arduino Nano Baised IR контролдонуучу RGB LED: 5 кадам

Video: Arduino Nano Baised IR контролдонуучу RGB LED: 5 кадам
Video: 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

бул чакан долбоордо мен IR пульту менен башкарылган жана USB кабели менен иштеген Arduino негизделген RGB LEDди кантип курганымды көрсөткүм келет.

Жабдуулар

1. LED RGB

2. IR кабылдагыч

3. USB кабели

4. Arduino нано

5. IR алыстан

6. кээ бир кабелдер

7. 50-100 Ом резисторлору (47 Омдук резисторлорду колдонуп жатам, бирок анча деле айырмасы жок)

1 -кадам: Алыстан башкарууну тандаңыз

Алыстан башкаруу пультун тандаңыз
Алыстан башкаруу пультун тандаңыз

Демек, сиз кайсы пультту колдоносуз - бул сиздин чечимиңиз, бирок пультуңузда сиз колдонгуңуз келген 6 ачкыч болушу керек. Алардын ичинен 2 кызыл, 2 жашыл жана 2 көк.

2 -кадам: Адегенде аны Нан тактасына куруңуз (Кереги жок, бирок сунушталат)

Адегенде аны нан тактасына куруңуз (кереги жок, бирок сунушталат)
Адегенде аны нан тактасына куруңуз (кереги жок, бирок сунушталат)
Аны адегенде нан тактасына куруңуз (кереги жок, бирок сунушталат)
Аны адегенде нан тактасына куруңуз (кереги жок, бирок сунушталат)

Эми, схеманы нан тактасына куруңуз

байланыштар:

RGB LED GND> Arduino нано GND

RGB LED Кызыл> Arduino nano Digital pin 5

RGB LED Green> Arduino nano Digital pin 6

RGB LED Blue> Arduino nano Digital pin 9

USB GND> Arduino нано GND

USB 5v> Arduino нано 5v

IR кабылдагыч пин 1> Arduino nano Digital pin 4

IR алуучунун пин 2> Arduino nano GND

IR кабылдагыч пин 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; // Көк пин #аныктоо Rup1 1976685926 // кызыл жарыктыгын жогорулатат #аныктоо Rup2 3772818013 // кызыл жарыктыгын жогорулатат #аныктоо Rdown1 3843765582 // кызыл жарыктыгын төмөндөтөт #аныктоо Rdown2 3772813933 // кызыл жарыктыгын төмөндөтөт #аныктоо Gup1 3772797613 // жашыл жарыктыгын жогорулатат #аныктоо Gup2 3774104872 // жашыл жарыктыгын жогорулатат #аныктоо Gdown1 3772834333 // жашыл жарыктыгын төмөндөтөт #аныктоо Gdown2 1784778242 // жашыл жарыктыгын төмөндөтөт #аныктоочу Bup1 3980777284 // түзөт жаркыроо жогорулайт #define Bup2 3772781293 // көк жарыктыгын жогорулатат #аныктоо Bdown1 3772801693 // көк жарыктыгын төмөндөтөт #аныктоо Bdown2 3361986248 // көк жарыктыгын төмөндөтөт // ЭСКЕРТҮҮ: СИЗДИ АЛЫСКЫҢЫЗГА ӨЗГӨРТҮШҮҢҮЗ КЕРЕК !!! ! // Менде 2 кайталанма ачкыч бар, мисалы Rup1 жана Rup2. анткени // менин бир пультту басканымда менин алыстан 2 санды чыгарат. // сиздин учурда сиз Rup1 жана Rup2, Gup1 жана Gup2 жана башка бир эле сандарды коё аласыз. // Баскычты басканыңызда, номер сериялык монитордо көрүнүшү керек, // "#define" бөлүмүнө ошону теришиңиз керек. IRrecv irrecv (IR_Recv); decode_results жыйынтыктары; void setup () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); irrecv.enableIRIn (); pinMode (R, OUTPUT); pinMode (G, OUTPUT); pinMode (B, OUTPUT); Serial.begin (9600); } void loop () {if (irrecv.decode (& results)) {long int decCode = results.value; switch (results.value) {/////////// RED case Rup1: Rval = Rval + 10; тыныгуу; case Rup2: Rval = Rval + 10; тыныгуу; case Rdown1: Rval = Rval - 10; тыныгуу; case Rdown2: Rval = Rval - 10; тыныгуу; //////////// GREEN case Gup1: Gval = Gval + 10; тыныгуу; учурда Gup2: Gval = Gval + 10; тыныгуу; case Gdown1: Gval = Gval - 10; тыныгуу; case Gdown2: Gval = Gval - 10; тыныгуу; ///////////// BLUE case Bup1: Bval = Bval + 10; тыныгуу; case Bup2: Bval = Bval + 10; тыныгуу; case Bdown1: Bval = Bval - 10; тыныгуу; case Bdown2: Bval = Bval - 10; тыныгуу; /////////////////////////////////////////////// ir/rv/resume (); } if (Rval> 255) (Rval = 255); if (Rval 255) (Gval = 255); if (Gval 255) (Bval = 255); if (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (results.value); delayMicroseconds (1); }

4 -кадам: Бүтүрүү

Аяктоо
Аяктоо
Аяктоо
Аяктоо
Аяктоо
Аяктоо

Мен асманда жакшы иш кылган жокмун. Мен болгону скотч менен гана иштедим, бирок мүмкүн болушунча кичине кылууга аракет кылдым.

Эгерде сизде кандайдыр бир суроолор же каталар болсо, мага айтыңыз, мен катамды оңдоого жардам берүү үчүн колумдан келген жардамымды берем. окуу үчүн рахмат.

Сунушталууда: