Menu
CoddyTech

Đếm trên màn hình

Thuộc phần Màn hình và cảm biến trong hành trình Arduino của Coddy. Bài học 3 trên 24.

Với showDigit(), mỗi chữ số tương ứng với một lần gọi hàm. Vòng lặp for có thể lần lượt gọi hàm này với từng số:

for (int n = 0; n <= 9; n++) {
  showDigit(n);
  delay(500);
}

Điều kiện quyết định số cuối cùng. n <= 9 chạy đến và bao gồm cả 9; n < 9 dừng ở 8.

Đặt vòng lặp bên trong loop(). Khi đếm xong, loop() chạy lại và phép đếm bắt đầu lại từ 0.

challenge icon

Thử thách

Dễ

showDigit() đã sẵn sàng. Đếm trên màn hình:

  • hiển thị 0, 1, 2 và tiếp tục như vậy cho đến 9
  • giữ mỗi số hiển thị trong 500 ms
  • sau 9, bắt đầu lại từ 0

Nhấn Chạy để xem chương trình đếm, rồi nhấn Kiểm tra.

Tự làm thử

const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};  // a, b, c, d, e, f, g

// Mỗi chữ số có một mẫu, đọc từ phải sang trái: bit cuối cùng ứng với đoạn a.
//                     gfedcba
const byte digits[10] = {
  0b0111111,  // 0
  0b0000110,  // 1
  0b1011011,  // 2
  0b1001111,  // 3
  0b1100110,  // 4
  0b1101101,  // 5
  0b1111101,  // 6
  0b0000111,  // 7
  0b1111111,  // 8
  0b1101111   // 9
};

void showDigit(int n) {
  for (int i = 0; i < 7; i++) {
    if (bitRead(digits[n], i) == 1) {
      digitalWrite(segmentPins[i], LOW);   // sáng
    } else {
      digitalWrite(segmentPins[i], HIGH);  // tắt
    }
  }
}

void setup() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop() {
  // hiển thị từ 0 đến 9, mỗi số trong nửa giây
}
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 Màn hình và cảm biến

Tự luyện tập: Playground Arduino