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.
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
}
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