Menu
CoddyTech

Các màu trung gian

Thuộc phần Đầu ra trong hành trình Arduino của Coddy. Bài học 9 trên 24.

Các chân 11, 10 và 9 đều có ký hiệu ~, nên bạn có thể điều chỉnh độ sáng của từng màu trên đèn LED RGB bằng analogWrite(). Mỗi kênh có giá trị từ 0 đến 255, và việc phối hợp ba mức sáng tạo ra nhiều hơn hẳn tám màu:

  • màu cam: đỏ 255, xanh lá 80, xanh dương 0
  • màu tím: đỏ 128, xanh lá 0, xanh dương 255
  • màu trắng dịu: cả ba màu đều ở mức 60

Hãy sửa setColor() để dùng analogWrite(), khi đó các tham số sẽ là mức độ sáng:

void setColor(int red, int green, int blue) {
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}

Đây là lý do các chân màu được nối với các chân ~: ở chân khác, màu chỉ có thể bật hoặc tắt.

challenge icon

Thử thách

Dễ

Thay đổi setColor() để dùng analogWrite(), rồi hiển thị lặp đi lặp lại:

  • màu cam (255, 80, 0) trong một giây
  • màu tím (128, 0, 255) trong một giây

Nhấn Chạy, rồi nhấn Kiểm tra.

Tự làm thử

const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;

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

void setColor(int red, int green, int blue) {
  digitalWrite(redPin, red);
  digitalWrite(greenPin, green);
  digitalWrite(bluePin, blue);
}

void loop() {
  // Màu cam (255, 80, 0) trong một giây, sau đó là màu tím (128, 0, 255) trong một giây
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Đầu ra

Tự luyện tập: Playground Arduino