Talaan ng mga Nilalaman:

Arduino Nano Baised IR Kinokontrol ng RGB LED: 5 Hakbang
Arduino Nano Baised IR Kinokontrol ng RGB LED: 5 Hakbang

Video: Arduino Nano Baised IR Kinokontrol ng RGB LED: 5 Hakbang

Video: Arduino Nano Baised IR Kinokontrol ng RGB LED: 5 Hakbang
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Nobyembre
Anonim
Arduino Nano Baised IR Kinokontrol ng RGB LED
Arduino Nano Baised IR Kinokontrol ng RGB LED

sa maliit na proyekto na ito nais kong ipakita sa iyo kung paano ko binuo ang Arduino based RGB LED na kinokontrol ng IR remote at pinalakas ng USB cable.

Mga gamit

1. RGB LED

2. IR tatanggap

3. USB cable

4. Arduino nano

5. IR remote

6. ilang mga kable

7. 50-100 ohm resistors (gumagamit ako ng 47 ohm resistors ngunit walang gaanong pagkakaiba)

Hakbang 1: Piliin ang Iyong Remote

Piliin ang Iyong Remote
Piliin ang Iyong Remote

Kaya't aling remote ang ginagamit mo ay iyong pasya, ngunit ang iyong remote ay dapat magkaroon ng 6 na mga key na nais mong gamitin. 2 sa kanila ay para sa Red, 2 sa kanila para sa Green at 2 para sa Blue.

Hakbang 2: Itayo muna ito sa isang Bread Board (hindi Kinakailangan Ngunit Inirerekumenda)

Itayo muna ito sa isang Bread Board (hindi Kinakailangan Ngunit Inirerekumenda)
Itayo muna ito sa isang Bread Board (hindi Kinakailangan Ngunit Inirerekumenda)
Itayo muna ito sa isang Bread Board (hindi Kinakailangan Ngunit Inirerekumenda)
Itayo muna ito sa isang Bread Board (hindi Kinakailangan Ngunit Inirerekumenda)

Ngayon, itayo ang circuit sa isang breadboard

mga koneksyon:

RGB LED GND> Arduino nano GND

RGB LED Red> Arduino nano Digital pin 5

RGB LED Green> Arduino nano Digital pin 6

RGB LED Blue> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IR receiver pin 1> Arduino nano Digital pin 4

IR receiver pin 2> Arduino nano GND

IR receiver pin 3> Arduino nano 5v

(lahat ng mga koneksyon ay ipinapakita sa itaas)

(ang bawat kulay na pin ng RGB LED ay konektado serye sa resistors)

Hakbang 3: Ang Code

ang code ay ang sumusunod:

Narito ang silid aklatan na ginamit ko.

# isama

int IR_Recv = 4; // IR receiver pin

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Red pin int G = 6; // Green pin int B = 9; // Blue pin #define Rup1 1976685926 // ginagawang pagtaas ng pulang ningning #define Rup2 3772818013 // ginagawang pagtaas ng pulang ningning #define Rdown1 3843765582 // ginagawang bumaba ang pulang ningning #define Rdown2 3772813933 // ginagawang bumaba ang pulang ningning #define Gup1 3772797613 // ginagawang pataas ang berdeng ningning # tukuyin ang Gup2 3774104872 // ginagawang pataas ang berde na ilaw # tukuyin ang Gdown1 3772834333 // ginagawang bumaba ang berdeng ningning # tukuyin ang Gdown2 1784778242 // ginagawang bumaba ang berdeng ningning #define Bup1 3980777284 // ginagawang asul tumaas ang ilaw # tukuyin ang Bup2 3772781293 // ginagawang paitaas ang asul na ilaw #define Bdown1 3772801693 // ginagawang bumaba ang asul na ningning #define Bdown2 3361986248 // ginagawang bumaba ang asul na ilaw // TANDAAN: DAPAT Mong BAGUHIN ANG MGA NOMBERS SA IYONG LUGAR !!! ! // Mayroon akong 2 mga duplicate na susi halimbawa Rup1 at Rup2. dahil // ang aking remote ay naglalabas ng 2 mga numero kapag pinindot mo ang isang key. // sa iyong kaso maaari kang maglagay ng parehong mga numero sa Rup1 at Rup2, Gup1 at Gup2 at iba pa. // Kapag pinindot mo ang isang susi dapat lumitaw ang numero sa Serial monitor, // Iyon ang dapat mong i-type sa seksyong "#define". IRrecv irrecv (IR_Recv); mga resulta sa pag-decode_resulta; 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 (& resulta)) {long int decCode = results.value; lumipat (mga resulta.value) {// ///. /// PULANG kaso Rup1: Rval = Rval + 10; pahinga; kaso Rup2: Rval = Rval + 10; pahinga; kaso Rdown1: Rval = Rval - 10; pahinga; kaso Rdown2: Rval = Rval - 10; pahinga; // ///. pahinga; kaso Gup2: Gval = Gval + 10; pahinga; kaso Gdown1: Gval = Gval - 10; pahinga; kaso Gdown2: Gval = Gval - 10; pahinga; // ///. pahinga; kaso Bup2: Bval = Bval + 10; pahinga; kaso Bdown1: Bval = Bval - 10; pahinga; kaso Bdown2: Bval = Bval - 10; pahinga; // ///. } kung (Rval> 255) (Rval = 255); kung (Rval 255) (Gval = 255); kung (Gval 255) (Bval = 255); kung (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (resulta.value); delayMicroseconds (1); }

Hakbang 4: Pagtatapos

Tinatapos na
Tinatapos na
Tinatapos na
Tinatapos na
Tinatapos na
Tinatapos na

Gumawa ako ng mahusay na trabaho ng pambalot. ang ginawa ko ay tape lang ito, ngunit sinubukan kong gawin itong maliit hangga't maaari.

Kung mayroon kang anumang mga katanungan o anumang pagkakamali siguraduhing sabihin sa akin, gagawin ko ang aking makakaya upang matulungan kang maayos ang pagkakamali. Salamat sa pagbabasa.

Inirerekumendang: