B17 – Sử dụng Switch..Case (phần 2)

Trong bài này ta sẽ bật tắt đèn LED dựa trên dữ liệu nhận được từ máy tính. Chương trình đọc vào dữ liệu và bật đèn tương ứng với các ký tự a, b, c, d hoặc e

  • Chương trình
/*
  Switch statement  with serial input

This example code is in the public domain.

 */

void setup() {
  // khởi tạo baud
  Serial.begin(9600);
  // gán chân LED
  for (int thisPin = 2; thisPin < 7; thisPin++) {
    pinMode(thisPin, OUTPUT);
  }
}

void loop() {
  // đọc cảm biến
  if (Serial.available() > 0) {
    int inByte = Serial.read();
    // Nhận vào dữ liệu từ máy tính, giá trị theo mã ASCII
    // ví dụ 'a' = 97, 'b' = 98

    switch (inByte) {
      case 'a':
        digitalWrite(2, HIGH);
        break;
      case 'b':
        digitalWrite(3, HIGH);
        break;
      case 'c':
        digitalWrite(4, HIGH);
        break;
      case 'd':
        digitalWrite(5, HIGH);
        break;
      case 'e':
        digitalWrite(6, HIGH);
        break;
      default:
        // khi không đúng ký tự thì tắt hết đèn
        for (int thisPin = 2; thisPin < 7; thisPin++) {
          digitalWrite(thisPin, LOW);
        }
    }
  }
}

Leave a Reply

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