/*
อรุณรัชพนธ์ ปู่อ้าย
ถ้ากดปุ่มเหลือง เลขจะบวก กดได้จนถึงเลข 9
ถ้ากดปุ่มน้ำเงิน เลขจะลบ กดได้จนถึงเลข 0
*/
#define Seg_A 47
#define Seg_B 45
#define Seg_C 12
#define Seg_D 13
#define Seg_E 53
#define Seg_F 49
#define Seg_G 51
#define Yellow_sw_pin 9
#define Blue_sw_pin 8
void setup() {
int Seg_array[] = {Seg_A, Seg_B, Seg_C, Seg_D, Seg_E, Seg_F, Seg_G};
for(int i; i < (sizeof(Seg_array)/sizeof(int)); i++){
pinMode(Seg_array[i], OUTPUT);
digitalWrite(Seg_array[i], 1);
}
pinMode(Yellow_sw_pin, INPUT);
pinMode(Blue_sw_pin, INPUT);
}
int count = 0;
void loop() {
Seg_Display(count);
int Yellow_sw = digitalRead(Yellow_sw_pin);
int Blue_sw = digitalRead(Blue_sw_pin);
if (Yellow_sw == 0) {
count++;
if (count > 9) {
count = 9;
}
while (Yellow_sw == 0) {
delay(300);
break;
}
}
if (Blue_sw == 0) {
count--;
if (count < 0) {
count = 0;
}
while (Blue_sw == 0) {
delay(300);
break;
}
}
}
void Seg_Display(int input_number) {
const int TID = 0;
const int DUB = 1;
switch (input_number) {
case 0:
digitalWrite(Seg_A, TID);
digitalWrite(Seg_B, TID);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, TID);
digitalWrite(Seg_E, TID);
digitalWrite(Seg_F, TID);
digitalWrite(Seg_G, DUB);
break;
case 1:
digitalWrite(Seg_A, DUB);
digitalWrite(Seg_B, TID);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, DUB);
digitalWrite(Seg_E, DUB);
digitalWrite(Seg_F, DUB);
digitalWrite(Seg_G, DUB);
break;
case 2:
digitalWrite(Seg_A, TID);
digitalWrite(Seg_B, TID);
digitalWrite(Seg_C, DUB);
digitalWrite(Seg_D, TID);
digitalWrite(Seg_E, TID);
digitalWrite(Seg_F, DUB);
digitalWrite(Seg_G, TID);
break;
case 3:
digitalWrite(Seg_A, TID);
digitalWrite(Seg_B, TID);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, TID);
digitalWrite(Seg_E, DUB);
digitalWrite(Seg_F, DUB);
digitalWrite(Seg_G, TID);
break;
case 4:
digitalWrite(Seg_A, DUB);
digitalWrite(Seg_B, TID);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, DUB);
digitalWrite(Seg_E, DUB);
digitalWrite(Seg_F, TID);
digitalWrite(Seg_G, TID);
break;
case 5:
digitalWrite(Seg_A, TID);
digitalWrite(Seg_B, DUB);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, TID);
digitalWrite(Seg_E, DUB);
digitalWrite(Seg_F, TID);
digitalWrite(Seg_G, TID);
break;
case 6:
digitalWrite(Seg_A, TID);
digitalWrite(Seg_B, DUB);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, TID);
digitalWrite(Seg_E, TID);
digitalWrite(Seg_F, TID);
digitalWrite(Seg_G, TID);
break;
case 7:
digitalWrite(Seg_A, TID);
digitalWrite(Seg_B, TID);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, DUB);
digitalWrite(Seg_E, DUB);
digitalWrite(Seg_F, DUB);
digitalWrite(Seg_G, DUB);
break;
case 8:
digitalWrite(Seg_A, TID);
digitalWrite(Seg_B, TID);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, TID);
digitalWrite(Seg_E, TID);
digitalWrite(Seg_F, TID);
digitalWrite(Seg_G, TID);
break;
case 9:
digitalWrite(Seg_A, TID);
digitalWrite(Seg_B, TID);
digitalWrite(Seg_C, TID);
digitalWrite(Seg_D, TID);
digitalWrite(Seg_E, DUB);
digitalWrite(Seg_F, TID);
digitalWrite(Seg_G, TID);
break;
default:
digitalWrite(Seg_A, DUB);
digitalWrite(Seg_B, DUB);
digitalWrite(Seg_C, DUB);
digitalWrite(Seg_D, DUB);
digitalWrite(Seg_E, DUB);
digitalWrite(Seg_F, DUB);
digitalWrite(Seg_G, TID);
break;
}
}