B13 – Sử dụng vòng lặp For…Loop

Vòng lặp for() rất hiệu quả khi cần thực hiện một loạt hoạt động kế tiếp nhau. Ví dụ bật tắt một chuỗi LED theo thứ tự từ chân 2 đến chân 7.

  • Sơ đồ nguyên lý:  với cách lắp như vậy, mức tín hiệu cao (HIGH) tại chân ra sẽ khiến đèn sáng và LOW sẽ tắt đèn. Có thể đảo ngược chiều đèn LED để sử dụng mức tín hiệu ngược lại.

  • Chương trình:
/*
  For Loop 
This example code is in the public domain.

 */

int timer = 100;           // thời gian đèn sáng tính bằng ms

void setup() {
  // dùng vòng for để gán các chân lối ra
  for (int thisPin = 2; thisPin < 8; thisPin++) {
    pinMode(thisPin, OUTPUT);
  }
}

void loop() {
  // lặp từ chân thấp lên cao
  for (int thisPin = 2; thisPin < 8; thisPin++) {
    // cấp tín hiệu cao cho lối ra, tương ứng bật đèn
    digitalWrite(thisPin, HIGH);
    // chờ 1 khoảng thời gian
    delay(timer);
    // tắt đèn
    digitalWrite(thisPin, LOW);
  }

  // từ chân cao xuống thấp
  for (int thisPin = 7; thisPin >= 2; thisPin--) {
    // bật đèn
    digitalWrite(thisPin, HIGH);
    // chờ
    delay(timer);
    // tắt đèn
    digitalWrite(thisPin, LOW);
  }
}

Leave a Reply

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