Daftar Isi:

Arduino Nano Berbasis IR RGB LED Terkendali: 5 Langkah
Arduino Nano Berbasis IR RGB LED Terkendali: 5 Langkah

Video: Arduino Nano Berbasis IR RGB LED Terkendali: 5 Langkah

Video: Arduino Nano Berbasis IR RGB LED Terkendali: 5 Langkah
Video: Cara Program LED RGB WS2812B dengan Arduino 2024, Juli
Anonim
Arduino Nano Berbasis IR Terkendali RGB LED
Arduino Nano Berbasis IR Terkendali RGB LED

dalam proyek kecil ini saya ingin menunjukkan kepada Anda bagaimana saya membangun LED RGB berbasis Arduino yang dikendalikan oleh remote IR dan ditenagai oleh kabel USB.

Perlengkapan

1. LED RGB

2. penerima IR

3. kabel USB

4. Arduino nano

5. IR jarak jauh

6. beberapa kabel

7. Resistor 50-100 ohm (saya menggunakan resistor 47 ohm tetapi tidak ada banyak perbedaan)

Langkah 1: Pilih Remote Anda

Pilih Remote Anda
Pilih Remote Anda

Jadi remote mana yang Anda gunakan adalah keputusan Anda, tetapi remote Anda harus memiliki 6 kunci yang ingin Anda gunakan. 2 dari mereka adalah untuk Merah, 2 dari mereka untuk Hijau dan 2 untuk Biru.

Langkah 2: Bangun di Papan Roti Terlebih Dahulu (Tidak Perlu Tapi Direkomendasikan)

Bangun di Papan Roti Terlebih Dahulu (Tidak Perlu Tapi Direkomendasikan)
Bangun di Papan Roti Terlebih Dahulu (Tidak Perlu Tapi Direkomendasikan)
Bangun di Papan Roti Terlebih Dahulu (Tidak Perlu Tapi Direkomendasikan)
Bangun di Papan Roti Terlebih Dahulu (Tidak Perlu Tapi Direkomendasikan)

Sekarang, bangun sirkuit di papan tempat memotong roti

koneksi:

RGB LED GND > Arduino nano GND

RGB LED Merah > Arduino nano Digital pin 5

RGB LED Hijau > Arduino nano Digital pin 6

RGB LED Biru > Arduino nano Digital pin 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 koneksi ditunjukkan di atas)

(setiap pin warna RGB LED dihubungkan seri ke resistor)

Langkah 3: Kode

kode adalah sebagai berikut:

Berikut adalah library yang saya gunakan.

#termasuk

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 //membuat kecerahan merah naik #define Rup2 3772818013 //membuat kecerahan merah naik #define Rdown1 3843765582 //membuat kecerahan merah turun #define Rdown2 3772813933 //membuat kecerahan merah turun #define Gup1 3772797613 //membuat kecerahan hijau naik #define Gup2 3774104872 //meningkatkan kecerahan hijau #define Gdown1 3772834333 //membuat kecerahan hijau turun #define Gdown2 1784778242 //membuat kecerahan hijau turun #define Bup1 3980777284 //membuat biru kecerahan naik #define Bup2 3772781293 //membuat kecerahan biru naik #define Bdown1 3772801693 //membuat kecerahan biru turun #define Bdown2 3361986248 //membuat kecerahan biru turun //CATATAN: ANDA HARUS MENGUBAH ANGKA KE REMOTE ANDA!!! ! //Saya memiliki 2 kunci duplikat misalnya Rup1 dan Rup2. karena // remote saya mengeluarkan 2 angka saat Anda menekan satu tombol. // dalam kasus Anda, Anda dapat memasukkan angka yang sama di Rup1 dan Rup2, Gup1 dan Gup2 dan satu lagi. //Ketika Anda menekan tombol, nomor tersebut akan muncul di monitor Serial, //Itulah yang harus Anda ketik di bagian "#define". IRrecv irrecv(IR_Recv); hasil decode_results; batalkan pengaturan(){ 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 = hasil.nilai; switch (results.value){ ///////////Red case Rup1: Rval = Rval + 10; merusak; kasus rup2: rval = rval + 10; merusak; kasus Rdown1: Rval = Rval - 10; merusak; kasus Rdown2: Rval = Rval - 10; merusak; ////////////kasus HIJAU Gup1: Gval = Gval + 10; merusak; kasus Gup2: Gval = Gval + 10; merusak; kasus Gdown1: Gval = Gval - 10; merusak; kasus Gdown2: Gval = Gval - 10; merusak; ///////////// kasus BIRU Bup1: Bval = Bval + 10; merusak; kasus Bup2: Bval = Bval + 10; merusak; kasus Bdown1: Bval = Bval - 10; merusak; kasus Bdown2: Bval = Bval - 10; merusak; ////////////////////////////////////// } 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); delayMicroseconds(1); }

Langkah 4: Menyelesaikan

Menyelesaikan
Menyelesaikan
Menyelesaikan
Menyelesaikan
Menyelesaikan
Menyelesaikan

Saya surga tidak melakukan pekerjaan casing dengan baik. yang saya lakukan hanyalah merekamnya, tetapi saya mencoba membuatnya sekecil mungkin.

Jika Anda memiliki pertanyaan atau kesalahan, pastikan untuk memberi tahu saya, saya akan melakukan yang terbaik untuk membantu Anda memperbaiki kesalahan. Terima kasih sudah membaca.

Direkomendasikan: