Mục lục:

Đèn LED RGB điều khiển bằng hồng ngoại Arduino Nano Baised: 5 bước
Đèn LED RGB điều khiển bằng hồng ngoại Arduino Nano Baised: 5 bước

Video: Đèn LED RGB điều khiển bằng hồng ngoại Arduino Nano Baised: 5 bước

Video: Đèn LED RGB điều khiển bằng hồng ngoại Arduino Nano Baised: 5 bước
Video: Hướng dẫn làm bộ điều khiển đèn led neopixel đơn giản hỗ trợ Apple HomeKit 2024, Tháng mười một
Anonim
Đèn LED RGB có điều khiển bằng hồng ngoại Arduino Nano Baised
Đèn LED RGB có điều khiển bằng hồng ngoại Arduino Nano Baised

trong dự án nhỏ này, tôi muốn cho bạn thấy cách tôi đã xây dựng đèn LED RGB dựa trên Arduino được điều khiển bằng điều khiển từ xa IR và được cấp nguồn bằng cáp USB.

Quân nhu

1. LED RGB

2. Máy thu hồng ngoại

3. Cáp USB

4. Arduino nano

5. Điều khiển từ xa IR

6. một số dây cáp

7. Điện trở 50-100 ohm (đang sử dụng điện trở 47 ohm nhưng không có nhiều sự khác biệt)

Bước 1: Chọn điều khiển từ xa của bạn

Chọn điều khiển từ xa của bạn
Chọn điều khiển từ xa của bạn

Vì vậy, bạn sử dụng điều khiển từ xa nào là do bạn quyết định, nhưng điều khiển từ xa của bạn phải có 6 phím mà bạn muốn sử dụng. 2 trong số đó là màu Đỏ, 2 trong số đó là màu xanh lá cây và 2 màu dành cho màu xanh lam.

Bước 2: Xây dựng nó trên bảng mạch bánh mì trước (không cần thiết nhưng được khuyến nghị)

Đầu tiên hãy xây dựng nó trên bảng mạch bánh mì (không cần thiết nhưng được khuyến nghị)
Đầu tiên hãy xây dựng nó trên bảng mạch bánh mì (không cần thiết nhưng được khuyến nghị)
Trước tiên hãy xây dựng nó trên bảng mạch bánh mì (không cần thiết nhưng được khuyến nghị)
Trước tiên hãy xây dựng nó trên bảng mạch bánh mì (không cần thiết nhưng được khuyến nghị)

Bây giờ, xây dựng mạch trên bảng mạch

kết nối:

RGB LED GND> Arduino nano GND

RGB LED Red> Arduino nano chân kỹ thuật số 5

RGB LED Green> Arduino nano chân kỹ thuật số 6

RGB LED Blue> Arduino nano chân kỹ thuật số 9

USB GND> Arduino nano GND

USB 5v> Arduino nano 5v

Chân thu hồng ngoại 1> Chân số 4 của Arduino nano Digital

Chân thu hồng ngoại 2> Arduino nano GND

Chân thu hồng ngoại 3> Arduino nano 5v

(tất cả các kết nối được hiển thị ở trên)

(mỗi chân màu của đèn LED RGB được kết nối chuỗi với điện trở)

Bước 3: Mã

mã như sau:

Đây là thư viện mà tôi đã sử dụng.

#bao gồm

int IR_Recv = 4; // chân thu IR

int Rval = 0; int Gval = 0; int Bval = 0; int RvalDemo = 0; int GvalDemo = 0; int BvalDemo = 0; int R = 5; // Pin màu đỏ int G = 6; // Ghim xanh int B = 9; // Ghim màu xanh lam #define Rup1 1976685926 // làm tăng độ sáng đỏ #define Rup2 3772818013 // làm tăng độ sáng đỏ #define Rdown1 3843765582 // làm giảm độ sáng đỏ #define Rdown2 3772813933 // làm giảm độ sáng đỏ #define Gup1 3772797613 // làm cho độ sáng xanh lục tăng lên #define Gup2 3774104872 // làm cho độ sáng xanh lục tăng lên #define Gdown1 3772834333 // làm cho độ sáng xanh lục giảm xuống #define Gdown2 1784778242 // làm cho độ sáng xanh lục giảm xuống #define Bup1 3980777284 // làm cho màu xanh lam độ sáng tăng lên #define Bup2 3772781293 // làm cho độ sáng xanh lam tăng lên #define Bdown1 3772801693 // làm cho độ sáng xanh lam giảm xuống #define Bdown2 3361986248 // làm cho độ sáng màu xanh giảm xuống // LƯU Ý: BẠN NÊN THAY ĐỔI CÁC SỐ CHO TỪ XA !!! ! // Tôi có 2 khóa trùng lặp, ví dụ như Rup1 và Rup2. bởi vì // điều khiển từ xa của tôi xuất ra 2 số khi bạn nhấn một phím. // trong trường hợp của bạn, bạn có thể đặt các số giống nhau trong Rup1 và Rup2, Gup1 và Gup2 và tương tự như vậy. // Khi bạn nhấn một phím, số sẽ xuất hiện trong Màn hình nối tiếp, // Đó là những gì bạn nên nhập vào phần "#define". IRrecv không thể thay đổi (IR_Recv); giải mã kết quả; void setup () {TCCR2A = _BV (COM2A1) | _BV (COM2B1) | _BV (WGM21) | _BV (WGM20); TCCR2B = _BV (CS22); không thể thay đổi.enableIRIn (); pinMode (R, OUTPUT); pinMode (G, OUTPUT); pinMode (B, OUTPUT); Serial.begin (9600); } void loop () {if (’tcv.decode (& results)) {long int decCode = results.value; switch (results.value) {/////////// Trường hợp RED Rup1: Rval = Rval + 10; nghỉ; trường hợp Rup2: Rval = Rval + 10; nghỉ; trường hợp Rdown1: Rval = Rval - 10; nghỉ; trường hợp Rdown2: Rval = Rval - 10; nghỉ; //////////// Trường hợp XANH Gup1: Gval = Gval + 10; nghỉ; trường hợp Gup2: Gval = Gval + 10; nghỉ; case Gdown1: Gval = Gval - 10; nghỉ; case Gdown2: Gval = Gval - 10; nghỉ; ///////////// Trường hợp BLUE Bup1: Bval = Bval + 10; nghỉ; case Bup2: Bval = Bval + 10; nghỉ; case Bdown1: Bval = Bval - 10; nghỉ; case Bdown2: Bval = Bval - 10; nghỉ; ////////////////////////////////////////////////////////////////////////////////////) } 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); }

Bước 4: Hoàn thiện

Kết thúc
Kết thúc
Kết thúc
Kết thúc
Kết thúc
Kết thúc

Tôi đã không làm tốt công việc của vỏ bọc. tất cả những gì tôi đã làm chỉ là băng lại, nhưng tôi đã cố gắng làm cho nó càng nhỏ càng tốt.

Nếu bạn có bất kỳ câu hỏi hoặc bất kỳ sai lầm nào, hãy cho tôi biết, tôi sẽ cố gắng hết sức để giúp bạn sửa chữa lỗi lầm. cảm ơn vì đã đọc.

Đề xuất: