int a = 7,b = 8,c = 2,d = 3,e = 4,f = 5,g = 6; //กำหนดให้ขาของ7 segment display
int sw1 = 11, sw2 = 10;//กำหนดขาของปุ่ม
int x;
void setup() {
for(int i = 2; i <= 8; i++){//กำหนดให้ขาของ 7 segment displayเป็น OUTPUT
pinMode(i, OUTPUT);
}
pinMode(sw1, INPUT_PULLUP);//กำหนดให้ปุ่ม1เป็น INPUT_PULLUP
pinMode(sw2, INPUT_PULLUP);//กำหนดให้ปุ่ม2เป็น INPUT_PULLUP
}
void loop() {
for(int j = 2; j <= 8; j++){//ขาของ 7 segment ตั้งแต่2-8หรือ a-g
digitalWrite(j, HIGH);//กำหนดขาของ 7segmentเป็น HIGH
}
if(digitalRead(sw1) == 0){
delay(100);//หน่วงเวลาที่ 100ms
x++;//ถ้ากดปุ่มสวิตช์ที่1 ค่าxเพิ่มขั้นทีละ1
if(x > 9){//ถ้ามากกว่าเลข9 ค่าxจะมีค่าเป็น9
x = 9;
}
}
else if(digitalRead(sw2) == 0){
delay(100);//หน่วงเวลาที่ 100ms
x--;//ถ้ากดปุ่มสวิตช์ที่2ค่าxลดลงทีละ1
if(x < 0){//ถ้าค่าน้อยกว่า0 ค่าxจะมีค่าเป็น0
x = 0;
}
}
showNumber(x); //แสดงตัวเลขของค่าx
}
void showNumber(int number) {
if(number != 1 && number != 4)
digitalWrite(a,LOW);
if(number != 5 && number != 6)
digitalWrite(b,LOW);
if(number != 2)
digitalWrite(c,LOW);
if(number != 1 && number != 4 && number != 7)
digitalWrite(d,LOW);
if(number == 0 || number == 2 || number == 6 || number == 8)
digitalWrite(e,LOW);
if(number != 1 && number != 2 && number != 3 && number != 7)
digitalWrite(f,LOW);
if(number != 0 && number != 1 && number != 7)
digitalWrite(g,LOW);
}