Bộ đếm nhị phân bằng đèn LED
Thuộc phần Đầu ra trong hành trình Arduino của Coddy. Bài học 19 trên 24.
Bốn đèn LED có thể biểu thị mọi số từ 0 đến 15 ở dạng nhị phân, giống cách máy tính lưu trữ số. Mỗi đèn LED tương ứng với một vị trí có giá trị gấp đôi vị trí trước đó: 1, 2, 4 và 8. Đèn LED sáng sẽ cộng thêm giá trị của nó:
- 5 là 4 + 1: đèn LED có giá trị 4 và 1 sáng
- 10 là 8 + 2
- 15 là cả bốn đèn
Mỗi vị trí được gọi là một bit, được đánh số bắt đầu từ 0, tức vị trí có giá trị 1. bitRead(number, n) trả về bit n của một số, là 1 hoặc 0:
bitRead(5, 0); // 1: 5 có bit 1
bitRead(5, 1); // 0: 5 không có bit 2
bitRead(5, 2); // 1: 5 có bit 4Vì 1 là HIGH và 0 là LOW, bit i có thể nối trực tiếp với đèn LED i:
for (int i = 0; i < 4; i++) {
digitalWrite(ledPins[i], bitRead(count, i));
}Ở đây, ledPins[0], chân 2, là đèn LED bên phải, có giá trị 1, giống như chữ số cuối cùng của một số.
Thử thách
Trung bìnhCho bốn đèn LED đếm theo hệ nhị phân:
- bắt đầu với
countbằng 0 - hiển thị giá trị này trên các đèn LED bằng
bitRead(), bititrênledPins[i] - chờ 250 ms, cộng thêm 1 và sau 15 thì bắt đầu lại từ 0
Nhấn Chạy, rồi nhấn Kiểm tra.
Tự làm thử
int ledPins[] = {2, 3, 4, 5}; // tương ứng với 1, 2, 4, 8
int count = 0;
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// hiển thị count ở dạng nhị phân, đợi 250 ms, rồi tăng count (trở về 0 sau 15)
}
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 Đầu ra
1Độ sáng
Làm mờ đèn LED bằng PWMChân PWM có ký hiệu ~Làm đèn LED sáng dầnSáng dần rồi tối dầnNúm điều chỉnh độ sáng4Vòng lặp và mảng
Lặp lại với vòng lặp forMảng chân LEDĐèn LED chạy năm bóngBiểu đồ thanh bằng núm xoayBộ đếm nhị phân bằng đèn LEDTự luyện tập: Playground Arduino