/* Code 1: Lập trình tương tự như LED đơn
int a = 2;
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 7;
int g = 8;
int dp = 9;
void setup() {
//Khai báo các pin tín hiệu Output
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT);
}
void loop() {
//Số 0
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
digitalWrite(dp, LOW);
delay(1000);
//Số 1
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(dp, LOW);
delay(1000);
//Số 2
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
//Số 3
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
digitalWrite(dp, HIGH);
delay(1000);
//Số 4
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
//Số 5
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, LOW);
delay(1000);
}
*/
/* Code 1.1: Lập trình tương tự như LED đơn - khai báo trước các chân PIN
int a = 2; //Khai báo gán các chân Pin với các chân của LED
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 7;
int g = 8;
int dp = 9;
void num1() { //Khai báo các chân Pin của số 1
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
}
void num2() { //Khai báo các chân Pin của số 2
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(e,HIGH);
digitalWrite(d,HIGH);
}
void num3() { //Khai báo các chân Pin của số 3
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(g,HIGH);
}
void num4() { //Khai báo các chân Pin của số 4
digitalWrite(f,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
}
void num5() { //Khai báo các chân Pin của số 5
digitalWrite(a,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
}
void num6() { //Khai báo các chân Pin của số 6
digitalWrite(a,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
}
void num7() { //Khai báo các chân Pin của số 7
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
}
void num8() { //Khai báo các chân Pin của số 8
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
}
void num9() { //Khai báo các chân Pin của số 8
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(g,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(f,HIGH);
}
void num0() { //Khai báo các chân Pin của số 0
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
}
void clear() { //Reset lại màn hình
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
void setup() { //Khai báo các chân Pin là chân Output
int i;
for(i = 2; i <= 9; i++)
pinMode(i,OUTPUT);
}
void loop() { //Vòng lặp hiển thị từ 0~9 delay 0.5s
while(1) {
clear();
num0();
delay(500);
clear();
num1();
delay(500);
clear();
num2();
delay(500);
clear();
num3();
delay(500);
clear();
num4();
delay(500);
clear();
num5();
delay(500);
clear();
num6();
delay(500);
clear();
num7();
delay(500);
clear();
num8();
delay(500);
clear();
num9();
delay(500);
}
}
*/
/* Code 2: Lập trình cho từng số theo kiểu mảng cho từng số
void setup() {
for(int pin = 1 ; pin <= 8 ; pin++){
//Khai báo chân kết nối với LED 7 đoạn
//Các DP-G-F-E-D-C-B-A lần lượt tương ứng với pin 2-3-4-5-6-7-8-9
pinMode(pin, OUTPUT);
}
}
void loop() {
// hiển thị số 0
int n0[] = {1,1,1,1,1,1,0,0}; //Khai báo mảng bật chân pin tương ứng
for(int pin = 2; pin <= 9 ; pin++) //Giải thích vòng lặp for: Vòng lặp bắt đầu quyét từ chân Pin 2~9, sau mỗi vòng lặp chân Pin tăng 1 đơn vị
digitalWrite(pin,n0[pin-2]); //Lệnh Write chân Pin số 2, sẽ lấy giá trị 0 hoặc 1 ở mảng n0[vị trí thứ 2-2]
//tạo trễ 1s
delay(1000);
// hiển thị số 1
int n1[] = {0,1,1,0,0,0,0,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n1[pin-2]);
delay(1000);
// hiển thị số 2
int n2[] = {1,1,0,1,1,0,1,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n2[pin-2]);
delay(1000);
// hiển thị số 3
int n3[]={1,1,1,1,0,0,1,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n3[pin-2]);
delay(1000);
// hiển thị số 4
int n4[]={0,1,1,0,0,1,1,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n4[pin-2]);
delay(1000);
// hiển thị số 5
int n5[]={1,0,1,1,0,1,1,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n5[pin-2]);
delay(1000);
// hiển thị số 6
int n6[]={1,0,1,1,1,1,1,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n6[pin-2]);
delay(1000);
// hiển thị số 7
int n7[]={1,1,1,0,0,0,0,0,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n7[pin-2]);
delay(1000);
// hiển thị số 8
int n8[]={1,1,1,1,1,1,1,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n8[pin-2]);
delay(1000);
// hiển thị số 9
int n9[]={1,1,1,1,0,1,1,0};
for(int pin = 2; pin <= 9 ; pin++)
digitalWrite(pin,n9[pin-2]);
delay(1000);
}
*/