Isi kandungan:

Arduino Nano Baised IR terkawal RGB LED: 5 Langkah
Arduino Nano Baised IR terkawal RGB LED: 5 Langkah

Video: Arduino Nano Baised IR terkawal RGB LED: 5 Langkah

Video: Arduino Nano Baised IR terkawal RGB LED: 5 Langkah
Video: BigTreeTech - SKR 3/SKR 3 EZ - Basics 2024, Julai
Anonim
Arduino Nano Baised IR terkawal RGB LED
Arduino Nano Baised IR terkawal RGB LED

dalam projek kecil ini saya ingin menunjukkan kepada anda bagaimana saya membina LED RGB berasaskan Arduino yang dikendalikan oleh IR jauh dan dikuasakan oleh kabel USB.

Bekalan

1. LED RGB

2. Penerima IR

3. Kabel USB

4. Arduino nano

5. IR jauh

6. beberapa kabel

7. Perintang 50-100 ohm (saya menggunakan 47 perintang ohm tetapi tidak banyak perbezaan)

Langkah 1: Pilih Alat Jauh Anda

Pilih Alat Jauh Anda
Pilih Alat Jauh Anda

Jadi alat kawalan jauh mana yang anda gunakan adalah keputusan anda, tetapi alat kawalan jauh anda harus mempunyai 6 kunci yang anda mahu gunakan. 2 daripadanya adalah untuk Merah, 2 daripadanya untuk Hijau dan 2 untuk Biru.

Langkah 2: Bangunlah di atas Roti Papan terlebih dahulu (tidak diperlukan tetapi disyorkan)

Bangunlah di Papan Roti terlebih dahulu (tidak diperlukan tetapi disyorkan)
Bangunlah di Papan Roti terlebih dahulu (tidak diperlukan tetapi disyorkan)
Bangunlah di Papan Roti terlebih dahulu (tidak diperlukan tetapi disyorkan)
Bangunlah di Papan Roti terlebih dahulu (tidak diperlukan tetapi disyorkan)

Sekarang, bina litar di papan roti

sambungan:

RGB LED GND> Arduino nano GND

RGB LED Red> Arduino nano Digital pin 5

Hijau LED RGB> Pin digital Arduino nano 6

Biru LED RGB> Pin digital Arduino nano 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

Pin penerima IR 1> Pin Arduino nano Digital 4

Pin penerima IR 2> Arduino nano GND

Pin penerima IR 3> Arduino nano 5v

(semua sambungan ditunjukkan di atas)

(setiap pin warna LED RGB disambungkan siri ke perintang)

Langkah 3: Kodnya

kod adalah seperti berikut:

Inilah perpustakaan yang saya gunakan.

#sertakan

int IR_Recv = 4; // Pin penerima IR

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Pin merah int G = 6; // Pin hijau int B = 9; // Pin biru #define Rup1 1976685926 // menjadikan kecerahan merah naik #menentukan Rup2 3772818013 // menjadikan kecerahan merah naik #define Rdown1 3843765582 // menjadikan kecerahan merah turun #define Rdown2 3772813933 // menjadikan kecerahan merah turun #define Gup1 3772797613 // menjadikan kecerahan hijau naik #define Gup2 3774104872 // menjadikan kecerahan hijau naik #define Gdown1 3772834333 // menjadikan kecerahan hijau turun #menentukan Gdown2 1784778242 // menjadikan kecerahan hijau turun #define Bup1 3980777284 // menjadikan biru kecerahan naik #define Bup2 3772781293 // menjadikan kecerahan biru naik #define Bdown1 3772801693 // menjadikan kecerahan biru turun #define Bdown2 3361986248 // menjadikan kecerahan biru turun // CATATAN: ANDA HARUS MENUKAR NOMBOR KE REMOTE ANDA !!! ! // Saya mempunyai 2 kunci pendua contohnya Rup1 dan Rup2. kerana // jarak jauh saya mengeluarkan 2 nombor apabila anda menekan satu kekunci. // dalam kes anda, anda boleh meletakkan nombor yang sama dalam Rup1 dan Rup2, Gup1 dan Gup2 dan satu. // Apabila anda menekan kekunci, nombor tersebut akan muncul di Serial monitor, // Itulah yang harus anda taip di bahagian "#define". IRrecv irrecv (IR_Recv); keputusan decode_results; batal persediaan () {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); } gelung void () {if (irrecv.decode (& results)) {long int decCode = results.value; beralih (hasil. nilai) {/////////// kes MERAH Rup1: Rval = Rval + 10; rehat; kes Rup2: Rval = Rval + 10; rehat; kes Rdown1: Rval = Rval - 10; rehat; kes Rdown2: Rval = Rval - 10; rehat; //////////// Kes HIJAU Gup1: Gval = Gval + 10; rehat; kes Gup2: Gval = Gval + 10; rehat; kes Gdown1: Gval = Gval - 10; rehat; kes Gdown2: Gval = Gval - 10; rehat; ///////////// Kes BIRU Bup1: Bval = Bval + 10; rehat; kes Bup2: Bval = Bval + 10; rehat; kes Bdown1: Bval = Bval - 10; rehat; kes Bdown2: Bval = Bval - 10; rehat; ////////////////////////////////////////} irrecv.resume (); } jika (Rval> 255) (Rval = 255); jika (Rval 255) (Gval = 255); jika (Gval 255) (Bval = 255); jika (Bval <0) (Bval = 0); analogWrite (R, Rval); analogWrite (G, Gval); analogWrite (B, Bval); Serial.println (hasil. Nilai); kelewatanMikrodetik (1); }

Langkah 4: Penamat

Penamat
Penamat
Penamat
Penamat
Penamat
Penamat

Saya tidak berjaya melakukan selongsong. semua yang saya buat hanyalah merakamnya, tetapi saya cuba membuatnya sekecil mungkin.

Sekiranya anda mempunyai sebarang pertanyaan atau kesilapan, sila beritahu saya, saya akan berusaha sebaik mungkin untuk membantu anda memperbaiki kesilapan tersebut. terima kasih untuk membaca.

Disyorkan: