ARDUINO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Trong bài viết này mình sẽ hướng dẫn các bạn cách điều khiển bóng đèn LED RGB trong Arduino.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Đây là một loại bóng đèn rất hay được sử dụng, bởi nó có thể biến đổi bất kỳ màu nào mà bạn muốn. Chỉ cần bạn nắm rõ được nguyên tắt hoạt động của nó, bạn có thể lập trình để trang trí cho căn phòng của mình rồi.

Các thiết bị cần thiết điều khiển đèn LEG RGB

Để có thể điều khiển được đèn LEG RGB ta cần thêm các thiết bị khác như sau:

  • 1 x Arduino Uno.
  • 1 x Cap USB 2.0 A / B.
  • 1 x LED RGB.
  • 3 x Điện trở 220 ohm.
  • 1 x Breadboard.
  • 4 x dây đực đực.

*Lưu ý: Các bạn có thể thay thế Arduino Uno bằng một Arduino khác để có thể điều khiển.

Bài viết này được đăng tại [free tuts .net]

Sơ đồ và nguyên tắc hoạt động của LEG RGB trong Arduino

Đèn LEG RGB có thể phát ra bất kỳ màu nào bằng cách trộn ba màu cơ bản đó là đỏ, xanh lục và xanh lam.

LEG RGB bao gồm có bốn chân:

  • Chân chung (Cathode-): Cần được kết nối với GND (0V).
  • Chân R (đỏ): Dùng để điều khiển màu đỏ.
  • Chân G (xanh lá cây): Dùng để điều khiển màu xanh lá cây.
  • Chân B (xanh lam): Dùng để điều khiển màu xanh lam.

arduino 01 png

*Lưu ý: Tùy thuộc vào loại đèn LEG RGB mà chân chung (Common) có thể là chân âm (cathode) hoặc chân dương (anode).

Nguyên tắc hoạt động của LEG RGB.

Về bản chất vật lý, một màu được bao gồm ba giá trị màu: Đỏ (R), xanh lá cây (G), xanh lam (B). Mỗi giá trị nằm trong khoảng từ 0 đến 255.

Sự kết hợp của ba giá trị tạo ra tổng cộng 256 x 256 x 256 màu. Như vậy để điều khiển đen LEG RGB sáng màu nào ta chỉ cần chỉ định cho nó giá trị của ba màu R, G, B.

Sơ đồ mạch điện điều khiển LEG RGB trong Arduino

Dựa vào các thiết bị đã nêu ra, mình tiến hành đi sơ đồ mạch điện như sau:

arduino 02 png

Nối chân âm của đèn (tùy thuộc vào đèn mà nối chân âm hay chân dương) vào chân GND trên Arduino. Tiếp đến nối ba chân tín hiệu R, G, B của đèn lần lượt với chân 5, 6, 7 trên Arduino.

*Lưu ý: Khi nối từ chân tín hiệu của đèn với chân tín hiệu trên Arduino cần thông qua điện trở. Điều này giúp tránh khỏi dòng điện mạnh quá làm cháy bóng đèn.

Hướng dẫn điều khiển LEG RGB

Để điều khiển đèn LEG RGB việc đầu tiên chúng ta cần xác định màu hiển thị sẽ là màu gì. Khi đó chúng ta sẽ truyền cho nó các giá trị R, G, B cho chính xác với màu mà ta muốn hiển thị.

Ví dụ 1: Ta có màu #00979D, để lấy mã màu này các bạn có thể sử dụng công cụ thứ ba khác (trên google rất nhiều nhé !).

Tiến hành chuyển đổi mã màu thành các giá trị R, G, B bằng công cụ từ w3school. Trong trường hợp này các giá trị sẽ là: R = 0, G = 151, B = 157.

Khi đã có mã màu của R, G, B ta tiến hành khai báo và lập trình cho nó. Mình có đoạn chương trình điều khiển dưới đây, các bạn có thể tham khảo nhé.

//khai báo chân tín hiệu R, G, B
const int PIN_RED   = 5;// chân số 5 là màu đỏ
const int PIN_GREEN = 6;// chân số 6 là màu xanh lá cây
const int PIN_BLUE  = 7;// chân số 7 là màu xanh lam

void setup() {
  //khai báo chức năng cho các chân tín hiệu là Output
  pinMode(PIN_RED,   OUTPUT);
  pinMode(PIN_GREEN, OUTPUT);
  pinMode(PIN_BLUE,  OUTPUT);
}

void loop() {
  //điền giá trị maù mà chúng ta muốn hiển thị
  analogWrite(PIN_RED,   0);
  analogWrite(PIN_GREEN, 151);
  analogWrite(PIN_BLUE,  157);
}

Ví dụ 2: Mình có ba mã màu như sau: #00C9CC (R = 0, G = 201, B = 204), #F7788A (R = 247, G = 120, B = 138), #34A853 (R = 52, G = 168, B = 83).

Bây giờ sẽ thực hiện điều khiển nó hiển thị lần lượt ba màu trên, thời gian delay là một giây cho mỗi màu. Mình có đoạn chương trình dưới đây, các bạn có thể tham khảo nhé.

//khai báo chân tín hiệu R, G, B
const int PIN_RED   = 5;// chân số 5 là màu đỏ
const int PIN_GREEN = 6;// chân số 6 là màu xanh lá cây
const int PIN_BLUE  = 7;// chân số 7 là màu xanh lam

void setup() {
  //khai báo chức năng cho các chân tín hiệu là Output
  pinMode(PIN_RED,   OUTPUT);
  pinMode(PIN_GREEN, OUTPUT);
  pinMode(PIN_BLUE,  OUTPUT);
}

void loop() {
  // mã màu #00C9CC (R = 0, G = 201, B = 204)
  analogWrite(PIN_RED,   0);
  analogWrite(PIN_GREEN, 201);
  analogWrite(PIN_BLUE,  204);
  delay(1000); // delay một giây

  // mã màu #F7788A (R = 247, G = 120, B = 138)
  analogWrite(PIN_RED,   247);
  analogWrite(PIN_GREEN, 120);
  analogWrite(PIN_BLUE,  138);
  delay(1000);

  // mã màu #34A853 (R = 52,  G = 168, B = 83)
  analogWrite(PIN_RED,   52);
  analogWrite(PIN_GREEN, 168);
  analogWrite(PIN_BLUE,  83);
  delay(1000); 
}

Kết luận

Như vậy là chúng ta đã cùng nhau tìm hiểu về cách hoạt động của đèn LEG RGB. Cũng như cách điều khiển nó sáng theo màu mong muốn của chúng ta. Trong cuộc sống xung quanh chúng ta có rất nhiều thiết bị sử dụng đèn RGB, hãy cùng khám phá nó nhé. Ở bài tiếp theo mình sẽ hướng dẫn các bạn cách điều khiển bóng đèn LEG bằng nút nhấn (Button), các bạn chú ý theo dõi nhé !!!

R = 0

Cùng chuyên mục:

Cách điều khiển Keypad trong Arduino

Cách điều khiển Keypad trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển button trong Arduino

Cách điều khiển button trong Arduino

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Viết chương trình Arduino đầu tiên

Viết chương trình Arduino đầu tiên

Các kiến thức cần biết trước khi học lập trình với Arduino

Các kiến thức cần biết trước khi học lập trình với Arduino

Hướng dẫn cài đặt và sử dụng Arduino IDE

Hướng dẫn cài đặt và sử dụng Arduino IDE

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Cách nhân hai số trong ngôn ngữ C

Cách nhân hai số trong ngôn ngữ C

Cách cộng hai số nguyên trong C

Cách cộng hai số nguyên trong C

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Bài này sẽ tổng hợp hơn 1000 bài tập C / C++ có lời giải…

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstdlib C/C++

Các hàm trong thư viện cstdlib C/C++

Top