Mundarija:

Arduino Nano Baised IQ bilan boshqariladigan RGB LED: 5 qadam
Arduino Nano Baised IQ bilan boshqariladigan RGB LED: 5 qadam

Video: Arduino Nano Baised IQ bilan boshqariladigan RGB LED: 5 qadam

Video: Arduino Nano Baised IQ bilan boshqariladigan RGB LED: 5 qadam
Video: AI is getting too smart 💀 #electronics #arduino #engineering 2024, Iyul
Anonim
Arduino Nano Baised IQ bilan boshqariladigan RGB LED
Arduino Nano Baised IQ bilan boshqariladigan RGB LED

Ushbu kichik loyihada men sizga Arduino -ga asoslangan RGB LEDni qanday qurganimni ko'rsatmoqchiman, u IR masofadan boshqarish pulti tomonidan boshqariladi va USB kabeli orqali quvvatlanadi.

Ta'minotlar

1. RGB LED

2. IQ qabul qilgich

3. USB kabeli

4. Arduino nano

5. IQ masofadan boshqarish pulti

6. ba'zi kabellar

7. 50-100 ohmli rezistorlar (47 ohmli rezistorlardan foydalanaman, lekin unchalik katta farq yo'q)

1 -qadam: masofadan boshqarish pultini tanlang

Masofadan boshqarish pultini tanlang
Masofadan boshqarish pultini tanlang

Shunday qilib, siz qaysi masofadan boshqarish pultidan foydalanasiz - bu sizning qaroringiz, lekin masofadan boshqarish pultida siz foydalanmoqchi bo'lgan 6 ta kalit bo'lishi kerak. Ulardan 2 tasi qizil, 2 tasi yashil va 2 tasi ko'k.

2 -qadam: Uni avval non taxtasida yarating (kerak emas, lekin tavsiya etiladi)

Avval non taxtasida yarating (kerak emas, lekin tavsiya etiladi)
Avval non taxtasida yarating (kerak emas, lekin tavsiya etiladi)
Avval non taxtasida yarating (kerak emas, lekin tavsiya etiladi)
Avval non taxtasida yarating (kerak emas, lekin tavsiya etiladi)

Endi sxemani non taxtasida yarating

ulanishlar:

RGB LED GND> Arduino nano GND

RGB LED qizil> Arduino nano raqamli pin 5

RGB LED yashil rang> Arduino nano raqamli pin 6

RGB LED Blue> Arduino nano Digital pin 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

IQ qabul qilgich pin 1> Arduino nano Digital pin 4

IQ qabul qilgich pin 2> Arduino nano GND

IQ qabul qilgich pin 3> Arduino nano 5v

(barcha ulanishlar yuqorida ko'rsatilgan)

(RGB LEDning har bir rangli pimi rezistorlarga ketma -ket ulanadi)

3 -qadam: Kod

kod quyidagicha:

Mana men foydalangan kutubxona.

#qo'shing

int IR_Recv = 4; // IQ qabul qilgichi

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Qizil pin int G = 6; // Yashil pin int B = 9; // Blue pin #define Rup1 1976685926 // qizil yorqinlikni oshiradi #aniqlang Rup2 3772818013 // qizil yorqinlikni oshiradi #aniq Rdown1 3843765582 // qizil yorqinlikni pasaytiradi #aniq Rdown2 3772813933 // qizil yorqinligini pasaytiradi #aniqlang Gup1 3772797613 // yashil yorqinlikni oshiradi #aniqlang Gup2 3774104872 // yashil yorqinligini oshiradi #aniqlang Gdown1 3772834333 // yashil yorqinligini pasaytiradi #aniqlang Gdown2 1784778242 // yashil yorqinligini pasaytiradi #Bup1ni aniqlang 3980777284 // yorqinligi oshadi #bup2 ni aniqlang 3772781293 // ko'k yorqinligini oshiradi #pastga aniqlang 3772801693 // ko'k yorqinligini pasaytiradi #aniqni belgilang2 3361986248 // ko'k yorqinligini pasaytiradi // DIQQAT: SIZNI PAROLATNI O'ZGARTIRISHINGIZ KERAK !!! ! // Menda ikkita takroriy kalit bor, masalan Rup1 va Rup2. chunki // bitta tugmani bosganimda masofadan boshqarish pultim 2 ta raqam chiqaradi. // sizning holatingizda bir xil raqamlarni Rup1 va Rup2, Gup1 va Gup2 va boshqalarga qo'yishingiz mumkin. // Tugmani bosganingizda raqam Serial monitorda paydo bo'lishi kerak, // "#define" bo'limiga shunday yozish kerak. IRrecv irrecv (IR_Recv); decode_results natijalari; bekor o'rnatish () {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; tanaffus; ish Rup2: Rval = Rval + 10; tanaffus; ish Rdown1: Rval = Rval - 10; tanaffus; ish Rdown2: Rval = Rval - 10; tanaffus; //////////// Yashil holat Gup1: Gval = Gval + 10; tanaffus; ish Gup2: Gval = Gval + 10; tanaffus; ish Gdown1: Gval = Gval - 10; tanaffus; ish Gdown2: Gval = Gval - 10; tanaffus; ///////////// KO'K holat Bup1: Bval = Bval + 10; tanaffus; Bup2 holati: Bval = Bval + 10; tanaffus; ish Bdown1: Bval = Bval - 10; tanaffus; ish Bdown2: Bval = Bval - 10; tanaffus; //////////////////////////////////////////////////////// irrecv.resume (); } if (Rval> 255) (Rval = 255); agar (Rval 255) (Gval = 255); agar (Gval 255) (Bval = 255); agar (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (natijalar qiymati); kechikish mikrosaniyalari (1); }

4 -qadam: tugatish

Tugatish
Tugatish
Tugatish
Tugatish
Tugatish
Tugatish

Men korpus bilan yaxshi ish qilmaganman. Men qilgan hamma narsa shunchaki lenta, lekin men uni iloji boricha kichikroq qilishga harakat qildim.

Agar sizda biron bir savol yoki xato bo'lsa, menga ayting, men sizga xatoni tuzatishga yordam berish uchun qo'limdan kelganicha harakat qilaman. o'qiganingiz uchun rahmat.

Tavsiya: