B11 – Điều khiển đèn LED (Fading – For loop)

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);
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *