#define ANA_IN A0
#define PIN_A 2
#define PIN_B 3
#define PIN_C 4
#define PIN_D 5
#define PIN_E 6
#define PIN_F 7
#define PIN_G 8
#define PIN_A_ON() digitalWrite(PIN_A, HIGH)
#define PIN_A_OFF() digitalWrite(PIN_A, LOW)
#define PIN_B_ON() digitalWrite(PIN_B, HIGH)
#define PIN_B_OFF() digitalWrite(PIN_B, LOW)
#define PIN_C_ON() digitalWrite(PIN_C, HIGH)
#define PIN_C_OFF() digitalWrite(PIN_C, LOW)
#define PIN_D_ON() digitalWrite(PIN_D, HIGH)
#define PIN_D_OFF() digitalWrite(PIN_D, LOW)
#define PIN_E_ON() digitalWrite(PIN_E, HIGH)
#define PIN_E_OFF() digitalWrite(PIN_E, LOW)
#define PIN_F_ON() digitalWrite(PIN_F, HIGH)
#define PIN_F_OFF() digitalWrite(PIN_F, LOW)
#define PIN_G_ON() digitalWrite(PIN_G, HIGH)
#define PIN_G_OFF() digitalWrite(PIN_G, LOW)
void ALL_ON()
{
PIN_A_ON();
PIN_B_ON();
PIN_C_ON();
PIN_D_ON();
PIN_E_ON();
PIN_F_ON();
PIN_G_ON();
}
void ALL_OFF()
{
PIN_A_OFF();
PIN_B_OFF();
PIN_C_OFF();
PIN_D_OFF();
PIN_E_OFF();
PIN_F_OFF();
PIN_G_OFF();
}
void zero()
{
PIN_A_ON();
PIN_B_ON();
PIN_C_ON();
PIN_D_ON();
PIN_E_ON();
PIN_F_ON();
PIN_G_OFF();
}
void one()
{
PIN_A_OFF();
PIN_B_ON();
PIN_C_ON();
PIN_D_OFF();
PIN_E_OFF();
PIN_F_OFF();
PIN_G_OFF();
}
void two()
{
PIN_A_ON();
PIN_B_ON();
PIN_C_OFF();
PIN_D_ON();
PIN_E_ON();
PIN_F_OFF();
PIN_G_ON();
}
void three()
{
PIN_A_ON();
PIN_B_ON();
PIN_C_ON();
PIN_D_ON();
PIN_E_OFF();
PIN_F_OFF();
PIN_G_ON();
}
void four()
{
PIN_A_OFF();
PIN_B_ON();
PIN_C_ON();
PIN_D_OFF();
PIN_E_OFF();
PIN_F_ON();
PIN_G_ON();
}
void five()
{
PIN_A_ON();
PIN_B_OFF();
PIN_C_ON();
PIN_D_ON();
PIN_E_OFF();
PIN_F_ON();
PIN_G_ON();
}
void six()
{
PIN_A_ON();
PIN_B_OFF();
PIN_C_ON();
PIN_D_ON();
PIN_E_ON();
PIN_F_ON();
PIN_G_ON();
}
void seven()
{
PIN_A_ON();
PIN_B_ON();
PIN_C_ON();
PIN_D_OFF();
PIN_E_OFF();
PIN_F_ON();
PIN_G_OFF();
}
void eight()
{
PIN_A_ON();
PIN_B_ON();
PIN_C_ON();
PIN_D_ON();
PIN_E_ON();
PIN_F_ON();
PIN_G_ON();
}
void nine()
{
PIN_A_ON();
PIN_B_ON();
PIN_C_ON();
PIN_D_ON();
PIN_E_OFF();
PIN_F_ON();
PIN_G_ON();
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(PIN_A, OUTPUT);
pinMode(PIN_B, OUTPUT);
pinMode(PIN_C, OUTPUT);
pinMode(PIN_D, OUTPUT);
pinMode(PIN_E, OUTPUT);
pinMode(PIN_F, OUTPUT);
pinMode(PIN_G, OUTPUT);
ALL_ON();
delay(250);
ALL_OFF();
}
void display(int number)
{
switch (number) {
case 0:
zero();
break;
case 1:
one();
break;
case 2:
two();
break;
case 3:
three();
break;
case 4:
four();
break;
case 5:
five();
break;
case 6:
six();
break;
case 7:
seven();
break;
case 8:
eight();
break;
case 9:
nine();
break;
}
}
void loop()
{
float ana_value = (float)analogRead(ANA_IN);
int disp_value = (int)(ana_value / 1023.0 * 100);
disp_value /= 10;
// Serial.print(ana_value/1023.0);
// Serial.print("\t");
// Serial.println(disp_value);
display(disp_value);
delay(10);
}