// Khai báo các chân kết nối với 7 thanh led
#define ledA 2
#define ledB 3
#define ledC 4
#define ledD 5
#define ledE 6
#define ledF 7
#define ledG 8
// Khai báo các số từ 0 đến 9 ứng với các thanh led Anode chung
//Với LED 7 đoạn cathode chung thì đảo các bit, 1 thành 0, 0 thành 1.
byte numbers[10][7] = {
{0, 0, 0, 0, 0, 0, 1}, // số 0
{1, 0, 0, 1, 1, 1, 1}, // số 1
{0, 0, 1, 0, 0, 1, 0}, // số 2
{0, 0, 0, 0, 1, 1, 0}, // số 3
{1, 0, 0, 1, 1, 0, 0}, // số 4
{0, 1, 0, 0, 1, 0, 0}, // số 5
{0, 1, 0, 0, 0, 0, 0}, // số 6
{0, 0, 0, 1, 1, 1, 1}, // số 7
{0, 0, 0, 0, 0, 0, 0}, // số 8
{0, 0, 0, 0, 1, 0, 0} // số 9
};
void setup() {
// Cài đặt chế độ OUTPUT cho các chân được sử dụng để điều khiển thanh led
pinMode(ledA, OUTPUT);
pinMode(ledB, OUTPUT);
pinMode(ledC, OUTPUT);
pinMode(ledD, OUTPUT);
pinMode(ledE, OUTPUT);
pinMode(ledF, OUTPUT);
pinMode(ledG, OUTPUT);
}
void loop() {
// Hiển thị các số từ 0 đến 9
for (int i = 0; i < 10; i++) {
// Hiển thị số được chuyển đổi thành các tín hiệu dịch chuyển cho 7 thanh led
digitalWrite(ledA, numbers[i][0]);
digitalWrite(ledB, numbers[i][1]);
digitalWrite(ledC, numbers[i][2]);
digitalWrite(ledD, numbers[i][3]);
digitalWrite(ledE, numbers[i][4]);
digitalWrite(ledF, numbers[i][5]);
digitalWrite(ledG, numbers[i][6]);
delay(1000);
}
}