Menu
CoddyTech

Sáng dần rồi tối dần

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

Để giảm độ sáng trở lại, bước thay đổi phải đổi hướng. Hãy lưu bước này trong một biến riêng, fadeAmount. Cộng một số âm sẽ làm độ sáng giảm:

int brightness = 0;
int fadeAmount = 5;

void loop() {
  analogWrite(9, brightness);
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(30);
}

Dấu trừ phía trước một biến sẽ đổi dấu của biến: -fadeAmount biến 5 thành -5, rồi biến -5 trở lại thành 5.

if kiểm tra cả hai đầu. Khi đạt đến mức cao nhất, bước thay đổi thành -5 và đèn LED mờ đi; khi đạt đến mức thấp nhất, bước thay đổi lại thành 5 và đèn LED sáng hơn. Đèn LED sáng tối nhịp nhàng, không bao giờ chuyển đột ngột từ sáng sang tối.

challenge icon

Thử thách

Dễ

Làm cho đèn LED ở chân 9 sáng dần rồi mờ dần, lặp đi lặp lại:

  • khai báo biến fadeAmount có giá trị 5 bên cạnh brightness
  • mỗi lần loop() chạy, cộng fadeAmount vào độ sáng, rồi chờ 30 ms
  • đổi dấu khi độ sáng đạt 0 hoặc 255

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

Tự làm thử

const int ledPin = 9;
int brightness = 0;
// tạo biến fadeAmount ở đây

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  analogWrite(ledPin, brightness);
  brightness = brightness + 5;
  if (brightness > 255) {
    brightness = 0;
  }
  delay(30);
}
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