Arduino UNO R4 LED Strip

Khám phá cách lập trình Arduino Uno R4 để điều khiển LED strip 12V trong hướng dẫn thân thiện với người mới bắt đầu này. Từ LED strip một màu đến RGB LED strip, hãy học cách sử dụng relay cho các dự án ánh sáng động. Đây là những gì bạn sẽ học được:

Bắt đầu hành trình khám phá lập trình Arduino và các dự án LED strip ngay hôm nay!

Phần cứng cần chuẩn bị

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Thay thế)
1×Cáp USB Type-C
1×Relay
1×LED Strip 12V 1 màu
1×LED Strip 12V RGB
1×Adapter Nguồn 12V
1×DC Power Jack
1×Dây Jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về LED Strip

LED strip, còn được gọi là LED tape hoặc LED ribbon (dải LED), là một bo mạch linh hoạt có gắn các LED phát sáng. Những dải này có tính linh hoạt cao và thường được sử dụng làm đèn trang trí ở nhiều nơi. LED strip có sẵn nhiều màu sắc khác nhau và chủ yếu được sử dụng để tạo ánh sáng dịu nhẹ, làm nổi bật các khu vực cụ thể, hoặc thêm hiệu ứng ánh sáng trang trí.

LED strip có hai loại chính:

  • Addressable LED Strip: Với loại này, bạn có thể điều khiển màu sắc và độ sáng của từng LED một cách riêng biệt. Mỗi LED có địa chỉ duy nhất riêng cho phép điều khiển cá nhân này.
  • Non-Addressable LED Strip: Với những dải này, bạn cũng có thể thay đổi màu sắc và độ sáng, nhưng sự thay đổi sẽ ảnh hưởng đến tất cả các LED trên dải cùng một lúc.

Hướng dẫn này tập trung về Non-Addressable LED Strip. Đối với Addressable LED Strip, hãy xem các hướng dẫn khác được cung cấp.

Sơ Đồ Chân Non-Addressable LED Strip

Có hai loại chính của Non-Addressable LED Strip.

  • Non-Addressable LED strip 1 màu: Chỉ có một màu được thiết lập sẵn bởi nhà sản xuất.
  • Non-Addressable RGB LED strip: Có thể hiển thị nhiều màu sắc.

Non-Addressable LED Strip 1 màu thường có hai chân:

  • Chân 12V/24V: Kết nối chân này với chân dương của nguồn DC 12V hoặc 24V.
  • Chân GND: Kết nối chân này với chân âm của nguồn DC 12V hoặc 24V.

Non-Addressable RGB LED Strip thường có bốn chân:

  • Chân 12V/24V: Kết nối chân này với chân dương của nguồn DC 12V hoặc 24V.
  • Chân R: Sử dụng chân này để điều khiển màu đỏ. Kết nối với chân âm của nguồn để kích hoạt màu đỏ.
  • Chân G: Sử dụng chân này để điều khiển màu xanh lá. Kết nối với chân âm của nguồn để kích hoạt màu xanh lá.
  • Chân B: Sử dụng chân này để điều khiển màu xanh dương. Kết nối với chân âm của nguồn để kích hoạt màu xanh dương.
Arduino UNO R4 non-addressable LED strip sơ đồ chân

Chúng ta sẽ học cách điều khiển cả hai loại bằng Arduino UNO R4, từng loại một.

Cách Điều Khiển Non-Addressable LED Strip 1 Màu.

Khi bạn kết nối LED strip 12V với nguồn 12V, nó sẽ sáng lên. Để điều khiển LED strip 12V này bằng Arduino UNO R4, bạn phải sử dụng relay. Arduino UNO R4 điều khiển LED strip 12V thông qua relay. Nếu bạn chưa quen với relay, chẳng hạn như sơ đồ chân, chức năng, hoặc lập trình, bạn có thể tìm hiểu thêm bằng cách truy cập hướng dẫn Arduino UNO R4 - Relay tại Arduino UNO R4 - Relay.

Sơ Đồ Đấu Nối.

Sơ Đồ Đấu Nối giữa Arduino UNO R4 và Non-Addressable LED strip 1 màu.

Arduino UNO R4 12v LED strip sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Sơ Đồ Đấu Nối giữa Arduino UNO R4 và Non-Addressable RGB LED strip.

Arduino UNO R4 12v LED strip sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Mã Arduino UNO R4

Mã Arduino UNO R4 để điều khiển Non-Addressable LED strip 1 màu.

Mã này sẽ liên tục bật LED strip trong 5 giây và sau đó tắt trong 5 giây.

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-led-strip */ #define LED_STRIP_PIN 3 // The Arduino Uno R4 pin controls to the LED strip via relay void setup() { Serial.begin(9600); // initialize Arduino pins as digital output pins pinMode(LED_STRIP_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { Serial.println("The LED strip is turned on"); digitalWrite(LED_STRIP_PIN, HIGH); delay(5000); Serial.println("The LED strip is turned off"); digitalWrite(LED_STRIP_PIN, LOW); delay(5000); }

Mã Arduino UNO R4 để điều khiển Non-Addressable RGB LED strip.

Mã dưới đây liên tục thay đổi màu sắc của RGB LED strip (đỏ, xanh lá, xanh dương, vàng, đỏ tím, xanh lơ, và trắng).

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino-uno-r4/arduino-uno-r4-led-strip */ #define BLUE_PIN 5 // The Arduino Uno R4 pin connects to the blue pin of LED strip via relay 1 #define RED_PIN 6 // The Arduino Uno R4 pin connects to the red pin of LED strip via relay 2 #define GREEN_PIN 7 // The Arduino Uno R4 pin connects to the green pin of LED strip via relay 3 void setup() { Serial.begin(9600); // initialize Arduino pins as digital output pins pinMode(BLUE_PIN, OUTPUT); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { Serial.println("The LED strip is turned red"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned green"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned blue"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned yellow"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned magenta"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned cyan"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned white"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); }

Các Bước Nhanh

Làm theo hướng dẫn từng bước:

  • Nếu đây là lần đầu tiên bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Đấu nối LED strip với Arduino Uno R4 theo sơ đồ được cung cấp.
  • Kết nối bo mạch Arduino Uno R4 với máy tính bằng cáp USB.
  • Khởi động Arduino IDE trên máy tính.
  • Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Sao chép mã được cung cấp ở trên và dán vào Arduino IDE.
  • Nhấp vào nút Upload trong Arduino IDE để chuyển mã lên Arduino UNO R4.
  • Quan sát trạng thái của LED strip.

Giải Thích Mã

Lời giải thích được ghi trong phần comment của mã Arduino ở trên.

Để điều chỉnh độ sáng và màu sắc của non-addressable LED strip, chúng ta phải sử dụng driver như L298N driver thay vì relay.

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.