Menu
CoddyTech

Làm mờ đèn LED bằng PWM

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

digitalWrite() chỉ biết hai mức: bật hoặc tắt. Để đèn LED sáng mờ, bo mạch bật rồi tắt chân pin hàng trăm lần mỗi giây. Mắt bạn không thể theo kịp nhấp nháy và nhìn thấy mức trung bình: một chân pin bật một phần tư thời gian sẽ sáng bằng một phần tư độ sáng.

Mẹo này gọi là PWM, điều chế độ rộng xung. Tỷ lệ thời gian chân pin bật được gọi là chu kỳ công tác.

analogWrite(pin, value) đặt mức này bằng một số từ 0 đến 255:

analogWrite(9, 0);    // luôn tắt
analogWrite(9, 64);   // bật trong một phần tư thời gian
analogWrite(9, 127);  // bật trong khoảng một nửa thời gian
analogWrite(9, 255);  // luôn bật

Sau khi bạn ghi một giá trị, bo mạch tự tiếp tục bật tắt chân pin, kể cả trong lúc delay(), cho đến khi bạn ghi giá trị mới. analogWrite() tự đặt chân pin thành đầu ra; pinMode(9, OUTPUT) trong setup() vẫn cho biết chức năng của chân pin.

challenge icon

Thử thách

Dễ

Đèn LED màu đỏ ở chân 9. Làm cho đèn sáng ở một phần tư độ sáng tối đa:

  • một phần tư của 255 xấp xỉ 64
  • ghi giá trị đó bằng analogWrite()

Nhấn Chạy để quan sát, sau đó nhấn Kiểm tra.

Tự làm thử

const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
  // Đặt độ sáng của LED ở mức một phần tư tại đây
}

void loop() {
  // Không cần lặp lại: chân pin tự tiếp tục phát xung
}
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