Sử dụng phương thức điều chỉnh độ rộng xung PWM. Tuy nhiên, chương trình sẽ áp dụng vòng lặp for ( ). Không giống hàm điều kiện if .. else, khi điều kiện đúng thì các hành động trong vòng lặp for ( ) sẽ được thực hiện hết trước khi thoát ra ngoài.


- Vòng lặp
for (giá trị đầu ; điều kiện ; thay đổi giá trị)
{ thực hiện lệnh}
Chú ý: (giá trị += 5) được hiểu là (giá trị = giá trị + 5)
- Chương trình
/*
Thay đổi độ sáng đèn LED
This example code is in the public domain.
*/
int ledPin = 9; // chân ra đèn LED
void setup() {
// không cần khởi tạo
}
void loop() {
// tăng độ sáng
// for (giá trị đầu; điều kiện; thay đổi giá trị)
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
// giải giá trị 0 đến 255
analogWrite(ledPin, fadeValue);
// chờ 30 ms để dễ quan sát
delay(30);
}
// giảm độ sáng từ từ
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
// giải giá trị như trên
analogWrite(ledPin, fadeValue);
// chờ
delay(30);
}
}
