ESP32 LED RGB
Hướng dẫn này sẽ chỉ bạn cách điều khiển LED RGB để phát ra bất kỳ màu nào sử dụng ESP32.
Phần Cứng Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Dây Cáp USB Type-C | ||
| 1 | × | LED RGB | ||
| 1 | × | (Thay thế) Module LED RGB | ||
| 1 | × | breadboard | ||
| 1 | × | Dây Nối Jumper | ||
| 1 | × | (Tùy chọn) Giắc Nguồn DC | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về LED RGB
LED RGB có thể phát ra bất kỳ màu nào bằng cách trộn 3 màu cơ bản: đỏ, xanh lục và xanh dương. Một LED RGB đơn được cấu tạo từ 3 LED: đỏ, xanh lục và xanh dương. Ba LED này được đóng gói trong một vỏ duy nhất nên trông giống như một LED đơn.
Sơ Đồ Chân LED RGB
LED RGB bao gồm bốn chân:
- Chân R (red - đỏ): để điều khiển phần tử màu đỏ
- Chân G (green - xanh lục): để điều khiển phần tử màu xanh lục
- Chân B (blue - xanh dương): để điều khiển phần tử màu xanh dương
- Chân Common (Cathode-): kết nối chân này với GND (0V)

Để kết nối LED RGB với ESP32, chúng ta cần thêm các điện trở hạn dòng. Điều này có thể làm phức tạp việc kết nối. May mắn thay, chúng ta có thể sử dụng module LED RGB đi kèm với các điện trở hạn dòng được tích hợp sẵn.
Module LED RGB cũng bao gồm bốn chân:
- Chân Common (Cathode-): cần được kết nối với GND (0V)
- R (red - đỏ): chân được sử dụng để điều khiển màu đỏ
- G (green - xanh lục): chân được sử dụng để điều khiển màu xanh lục
- B (blue - xanh dương): chân được sử dụng để điều khiển màu xanh dương

※ Lưu ý:
Theo chân chung, có hai loại LED: anode chung và cathode chung. Hướng dẫn này sử dụng LED cathode chung.
Cách Hoạt Động của LED RGB
Về mặt vật lý, một màu sắc là sự kết hợp của ba thành phần màu: Đỏ (R), Xanh Lục (G) và Xanh Dương (B). Giá trị của mỗi thành phần màu có phạm vi từ 0 đến 255. Sự kết hợp các giá trị của ba thành phần màu tạo ra tổng cộng 256 x 256 x 256 màu.
Nếu chúng ta tạo tín hiệu PWM tới các chân R, G, B, LED RGB sẽ hiển thị màu tương ứng với các giá trị duty cycle của PWM. Bằng cách thay đổi duty cycle của tín hiệu PWM (từ 0 đến 255), LED RGB có thể hiển thị bất kỳ màu nào. Các giá trị màu Đỏ (R), Xanh Lục (G) và Xanh Dương (B) tương ứng với duty cycle PWM trên các chân R, G và B.
Sơ Đồ Kết Nối giữa LED RGB và ESP32
- Sơ đồ kết nối giữa ESP32 và LED RGB

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
- Sơ đồ kết nối giữa ESP32 và module LED RGB

This image is created using Fritzing. Click to enlarge image
Cách Điều Khiển LED RGB
Giả sử chúng ta muốn hiển thị màu #00979D trên LED RGB, chúng ta có thể thực hiện các bước sau:
- Tìm mã màu. Mẹo:
- Bạn có thể chọn mã màu mong muốn từ bộ chọn màu
- Nếu bạn muốn sử dụng màu trong một hình ảnh, hãy sử dụng công cụ trực tuyến Colors From Image
- Chuyển đổi mã màu thành giá trị R, G, B sử dụng công cụ từ w3school. Ghi nhớ các giá trị này. Trong trường hợp này: R = 0, G = 151, B = 157

- Định nghĩa các chân ESP32 kết nối tới chân R, G và B. Ví dụ:
- Cấu hình các chân ESP32 này ở chế độ output
- Điều khiển LED phát ra màu đó (#00979D → R = 0, G = 151, B = 157)
ESP32 - Code Ví Dụ LED RGB
Code dưới đây thay đổi màu của LED theo chuỗi các màu sau:
- #00C9CC (R = 0, G = 201, B = 204)
- #F7788A (R = 247, G = 120, B = 138)
- #34A853 (R = 52, G = 168, B = 83)