• HOME
  • DỰ ÁN & MẠCH ĐIỆN
    • Lập trình
      • ARDUINO PROJECT
      • ESP8266 PROJECT
      • ESP32 PROJECT
      • RASPBERRY PI PROJECT
      • Vi điều khiển
    • Điện tử ứng dụng
      • Audio / Amplifiers
      • Nguồn điện
      • Pin sạc/Acquy và mạch sạc
      • Biến đổi AC và DC
      • Robotic
      • Cảm biến
      • LED
      • LCD
      • Động cơ bước
      • Mạch linh tinh
      • Test & Measurement
      • RF – FM
    • Nixie Clock
    • HOME AUTOMATION
    • Dân dụng
    • Công nghiệp
  • KIẾN THỨC CĂN BẢN
    • Điện tử cơ bản
    • Điện tử số
    • PCB
    • Nixie Tube
    • Raspberry Pi
    • Vi điều khiển
    • Arduino
    • IN 3D
  • DOWNLOAD
    • Phần mềm điện tử
    • Giáo trình
      • Giáo trình Điện – Điện tử
      • Giáo trình Tự Động Hóa
      • Giáo trình Viễn thông
    • Đề tài
      • Đề tài – Điện – Điện Tử
      • Đề tài – Tự Động Hóa
      • Đề tài – Viễn thông
    • Điện tử ứng dụng
    • Tài liệu nước ngoài
    • Hướng dẫn, sửa chữa
    • Sơ đồ, nguyên lý thiết bị
    • Tiêu chuẩn – Đo lường – Thử nghiệm
    • Datasheet
  • LIÊN HỆ
  • SẢN PHẨM

Mạch Điện Lý Thú

Sơ đồ nguyên lý, PCB, đồ án, tài liệu, DIY

Trang chủ » Kiến thức căn bản » Arduino » Arduino cơ bản 05: Thay đổi màu sắc Led RGB sử dụng Arduino

Arduino cơ bản 05: Thay đổi màu sắc Led RGB sử dụng Arduino

03/11/2023 by admin Để lại bình luận

Đã được đăng vào 11/12/2019 @ 09:56

Arduino cơ bản 05: Thay đổi màu sắc Led RGB sử dụng Arduino 

Tổng quan 

Trong bài học ngày hôm nay mình và các bạn sẽ đi tìm hiểu cách để điều chỉnh một bóng đèn Led RGB như thế nào và cách trộn màu ra sao?

Qua bài học số 5 này các bạn sẽ tìm hiểu thêm cách thức làm việc của 2 hàm mới là constrain(x, a, b) và random(min, max).

Xem thêm:

  • Arduino cơ bản 04: Sử dụng Arduino làm hệ thống đèn giao thông
  • Arduino cơ bản 02 – Phần 2: PWM | Thay đổi ánh sáng của LED trên Arduino

Sơ lược về LED RGB

Có bao giờ các bạn tự hỏi cấu tạo của một con LED RGB là như thế nào?

Ứng của nó để được làm gì?

Thực ra, Led RGB được cấu tạo thành từ 3 con LED đơn được đúc chung lại với nhau, những con LED được sử dụng từ những bài trước nhé.

Vì sao chúng lại đúc chung lại với nhau?

….để thuận tiện cho việc đấu nối và sử dụng.

Có 2 loại RGB: Anode chung và Catode chung.

Từ 3 màu chủ đạo là Red, Blue, Green các bạn có thể thay đổi các giá trị với nhau thông qua hàm analogWrite() để có những màu mà các bạn muốn.

—–>> Xem lại Bài 2 – Phần 2 để hiểu hơn cách sử dụng hàm analogWrite(): 

Bảng phối màu sắc

Các bạn cũng có thể cấu hình các màu sắc bằng gán các giá trị thông qua bảng bên dưới.

Red Green Blue  Colour
255 0 0 Red
0 255 0 Green
0 0 255 Blue
255 255 0 Yellow
0 255 255 Blueish Green
255 0 255 Purplish Red
255 255 255 While

Sơ đồ đấu nối

Led RGB sử dụng Arduino

Các linh kiện cần thiết

———————————

  • Arduino Uno
  • LED RGB
  • Dây cắm Breadboard
  • Điện trở 220R

——————————–

Code mẫu

/*
   RGB LED
*/
int redPin = 11;    // the pin that the red LED is attached to
int greenPin = 10; // the pin that the green LED is attached to
int bluePin = 9;  // the pin that the blue LED is attached to

void setup(){
     pinMode(redPin, OUTPUT);
     pinMode(greenPin, OUTPUT);
     pinMode(bluePin, OUTPUT);

}
void loop(){
    // call the function to change the colors of LED randomly. 
    colorRGB(random(0,255),random(0,255),random(0,255)); //R:0-255 G:0-255 B:0-255
    delay(1000);
}

void colorRGB(int red, int green, int blue){
     analogWrite(redPin,constrain(red,0,255));
     analogWrite(greenPin,constrain(green,0,255));
     analogWrite(bluePin,constrain(blue,0,255));
}

Giải thích code

Bước đầu tiên như mọi khi chúng ta đi vào khai báo các chân cho từng led.

int redPin = 11;    // the pin that the red LED is attached to
int greenPin = 10; // the pin that the green LED is attached to
int bluePin = 9;  // the pin that the blue LED is attached to

Tiếp theo, chúng ta cùng  nhau tìm hiểu một hàm mới là constrain(x, a, b)

Hàm “constrain” có 3 tham số: x, a và b.

Trong đó:

“x”: được hiểu là giá trị không thể thay đổi khi đã được định nghĩa.

“a”: là mức tối thiểu.

“b”: là mức tối đa.

void colorRGB(int red, int green, int blue){
     analogWrite(redPin,constrain(red,0,255));
     analogWrite(greenPin,constrain(green,0,255));
     analogWrite(bluePin,constrain(blue,0,255));
}

Hàm random(min, max)

Trả về một giá trị nguyên ngẫu nhiên trong khoảng giá trị cho trước.

Trong đó:

“min” và “max” là giá trị đầu và cuối của khoảng giá trị mà random() trả về.

Trong trường hợp min không được đưa vào thì nó sẽ hiểu ngầm là giá trị 0.

void loop(){
    // call the function to change the colors of LED randomly. 
    colorRGB(random(0,255),random(0,255),random(0,255)); //R:0-255 G:0-255 B:0-255
    delay(1000);
}

Nguồn: arduinokit.vn

5/5 - (5 bình chọn)
  • Share on Facebook
  • Tweet on Twitter

Thuộc chủ đề:Arduino Tag với:arduino, cơ bản, code, led, RGB

Bài viết trước « Đo nhiệt độ bằng Cảm biến LM35 sử dụng Arduino Uno
Bài viết sau Đo khoảng cách bằng cảm biến siêu âm HC-SRF04 »

Reader Interactions

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Sidebar chính

Zalo hỏi đáp 24/7

Theo dõi qua mạng xã hội

  • Facebook

Bạn đang tìm gì?

Bài viết mới nhất

Bình ắc quy có thể nạp bằng bao nhiêu phương pháp?

Bình ắc quy có thể nạp bằng bao nhiêu phương pháp?

30/11/2023

Mạch báo dung lượng bình ắc quy 12V bằng 2 đèn led

Mạch báo dung lượng bình ắc quy 12V bằng 2 đèn led

30/11/2023

Sơ đồ mạch thu phát âm thanh không dây bằng sóng hồng ngoại cho tai nghe

Sơ đồ mạch thu phát âm thanh không dây bằng sóng hồng ngoại cho tai nghe

30/11/2023

Các tham số kỹ thuật đặc trưng của tụ điện và sơ đồ tương đương của tụ

Các tham số kỹ thuật đặc trưng của tụ điện và sơ đồ tương đương của tụ

30/11/2023

Sơ đồ mạch đuổi muỗi bằng sóng siêu âm đơn giản dễ làm

Sơ đồ mạch đuổi muỗi bằng sóng siêu âm đơn giản dễ làm

30/11/2023

Chuyên mục

  • DỰ ÁN & MẠCH ĐIỆN (252)
    • Công nghiệp (16)
    • Dân dụng (28)
    • Điện tử ứng dụng (183)
      • Audio / Amplifiers (34)
      • Biến đổi AC và DC (24)
      • Cảm biến (44)
      • Động cơ bước (6)
      • Kiểm thử và đo đạc (23)
      • LCD (15)
      • LED (20)
      • Mạch linh tinh (27)
      • Nguồn điện (42)
      • Pin sạc/Acquy và mạch sạc (24)
      • RF – FM (5)
      • Robotic (2)
    • HOME AUTOMATION (28)
    • Lập trình (94)
      • ARDUINO PROJECT (39)
      • ESP32 PROJECT (6)
      • ESP8266 PROJECT (29)
      • RASPBERRY PI PROJECT (9)
      • Vi điều khiển (24)
    • Nixie Clock (3)
  • Kiến thức căn bản (170)
    • Arduino (36)
    • Điện tử cơ bản (77)
    • Điện tử số (9)
    • IN 3D (9)
    • Nixie Tube (13)
    • PCB (18)
    • Raspberry Pi (10)
    • Vi điều khiển (16)

Footer

Bài viết mới nhất

  • Bình ắc quy có thể nạp bằng bao nhiêu phương pháp?
  • Mạch báo dung lượng bình ắc quy 12V bằng 2 đèn led
  • Sơ đồ mạch thu phát âm thanh không dây bằng sóng hồng ngoại cho tai nghe
  • Các tham số kỹ thuật đặc trưng của tụ điện và sơ đồ tương đương của tụ
  • Sơ đồ mạch đuổi muỗi bằng sóng siêu âm đơn giản dễ làm
  • Mạch báo mức điện áp các loại bình ắc quy điện áp từ 24V đến 60V

Bình luận mới nhất

  • admin trong Mạch điều khiển đèn tự động dùng quang trở và 555
  • Ngô quý trong Mạch điều khiển đèn tự động dùng quang trở và 555
  • admin trong Mạch Ampli 100W dùng IC TDA7294
  • An trong Mạch Ampli 100W dùng IC TDA7294

Tìm kiếm

Tất cả nội dung trên website chỉ dùng để tham khảo. Chúng tôi không chịu trách nhiệm về thông tin thành viên đăng tải lên website và xóa bài viết khi có vi phạm bản quyền tác giả.