Làm đèn LED sáng dần
Thuộc phần Đầu ra trong hành trình Arduino của Coddy. Bài học 3 trên 24.
Một biến có thể lưu độ sáng. Mỗi lần loop() chạy, hãy ghi giá trị đó vào đèn LED, tăng thêm một chút rồi chờ một lát. Đèn LED sáng dần lên theo từng bước:
int brightness = 0;
void loop() {
analogWrite(9, brightness);
brightness = brightness + 5;
if (brightness > 255) {
brightness = 0;
}
delay(30);
}Độ sáng được khai báo ở đầu sketch, giống như bộ đếm số lần nhấn, nên nó giữ nguyên giá trị từ lần chạy loop() này sang lần chạy tiếp theo. Nếu khai báo bên trong loop(), giá trị sẽ trở về 0 mỗi lần.
255 là giá trị lớn nhất mà analogWrite() nhận, nên if bắt đầu làm độ sáng tăng dần lại từ 0 khi độ sáng vượt quá giá trị đó.
Bước tăng và thời gian chờ quyết định tốc độ: khoảng 50 bước, mỗi bước chờ 30 ms, sẽ mất một giây rưỡi.
Thử thách
DễLàm cho đèn LED ở chân 9 sáng dần lên, lặp đi lặp lại:
- lưu độ sáng vào một biến được tạo phía trên
setup(), bắt đầu từ 0 - trong
loop(), ghi giá trị đó bằnganalogWrite(), tăng thêm 5 rồi chờ 30 ms - khi giá trị vượt quá 255, đặt lại về 0
Nhấn Chạy và quan sát đèn LED, sau đó nhấn Kiểm tra.
Tự làm thử
const int ledPin = 9;
// Tạo biến (variable) độ sáng ở đây, bắt đầu từ 0
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// Ghi giá trị độ sáng, tăng thêm 5, bắt đầu lại sau 255, rồi chờ 30 ms
}
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
1Độ sáng
Làm mờ đèn LED bằng PWMChân PWM có ký hiệu ~Làm đèn LED sáng dầnSáng dần rồi tối dầnNúm điều chỉnh độ sángTự luyện tập: Playground Arduino