// variable declaration
const int a = 13;
const int b = 12;
const int c = 14;
const int d = 27;
const int e = 26;
const int f = 25;
const int g = 33;
const int a2 = 15;
const int b2 = 2;
const int c2 = 4;
const int d2 = 21;
const int e2 = 19;
const int f2 = 5;
const int g2 = 18;
bool bPress = false;
bool bPress2 = false;
const int IncbuttonPin = 32;
const int DecbuttonPin = 35;
const int IncbuttonPin2 = 22;
const int DecbuttonPin2 = 23;
//Button state
int buttonPushCounter = 0;
int IncbuttonState = 0;
int lastIncbuttonState = 0;
int DecbuttonState = 0;
int lastDecbuttonState = 0;
int buttonPushCounter2 = 0;
int IncbuttonState2 = 0;
int lastIncbuttonState2 = 0;
int DecbuttonState2 = 0;
int lastDecbuttonState2 = 0;
void setup() {
// put your setup code here, to run once:
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(a2, OUTPUT);
pinMode(b2, OUTPUT);
pinMode(c2, OUTPUT);
pinMode(d2, OUTPUT);
pinMode(e2, OUTPUT);
pinMode(f2, OUTPUT);
pinMode(g2, OUTPUT);
pinMode( IncbuttonPin , INPUT_PULLUP );
pinMode( DecbuttonPin , INPUT_PULLUP );
pinMode( IncbuttonPin2 , INPUT_PULLUP );
pinMode( DecbuttonPin2 , INPUT_PULLUP );
Serial.begin(9600);
displayDigit(buttonPushCounter);
displayDigit(buttonPushCounter2);
digitalWrite(g, HIGH);
digitalWrite(g2, HIGH);
}
void loop() {
IncbuttonState = digitalRead(IncbuttonPin);
DecbuttonState = digitalRead(DecbuttonPin);
IncbuttonState2 = digitalRead(IncbuttonPin2);
DecbuttonState2 = digitalRead(DecbuttonPin2);
checkIncButtonPress();
checkDecButtonPress();
checkIncButtonPress2();
checkDecButtonPress2();
if( bPress ){
bPress = false;
turnOff();
displayDigit(buttonPushCounter);
}
if( bPress2 ){
bPress2 = false;
turnOff2();
displayDigit2(buttonPushCounter2);
}
}
void checkIncButtonPress()
{
if (IncbuttonState != lastIncbuttonState) {
if (IncbuttonState == LOW) {
bPress = true;
buttonPushCounter++;
if( buttonPushCounter > 9) buttonPushCounter =0 ;
Serial.println("on");
} else {
Serial.println("off");
}
delay(50);
}
lastIncbuttonState = IncbuttonState;
}
void checkIncButtonPress2()
{
if (IncbuttonState2 != lastIncbuttonState2) {
if (IncbuttonState2 == LOW) {
bPress2 = true;
buttonPushCounter2++;
if( buttonPushCounter2 > 9) buttonPushCounter2 =0 ;
Serial.println("on");
} else {
Serial.println("off");
}
delay(50);
}
lastIncbuttonState2 = IncbuttonState2;
}
void checkDecButtonPress()
{
if (DecbuttonState != lastDecbuttonState) {
if (DecbuttonState == LOW) {
bPress = true;
buttonPushCounter--;
if( buttonPushCounter < 0) buttonPushCounter =9 ;
Serial.println("on");
} else {
Serial.println("off");
}
delay(50);
}
lastDecbuttonState = DecbuttonState;
}
void checkDecButtonPress2()
{
if (DecbuttonState2 != lastDecbuttonState2) {
if (DecbuttonState2 == LOW) {
bPress2 = true;
buttonPushCounter2--;
if( buttonPushCounter2 < 0) buttonPushCounter2 =9 ;
Serial.println("on");
} else {
Serial.println("off");
}
delay(50);
}
lastDecbuttonState2 = DecbuttonState2;
}
void displayDigit(int digit)
{
if(digit!=1 && digit != 4)
digitalWrite(a,LOW);
if(digit != 5 && digit != 6)
digitalWrite(b,LOW);
if(digit !=2)
digitalWrite(c,LOW);
if(digit != 1 && digit !=4 && digit !=7)
digitalWrite(d,LOW);
if(digit == 2 || digit ==6 || digit == 8 || digit==0)
digitalWrite(e,LOW);
if(digit != 1 && digit !=2 && digit!=3 && digit !=7)
digitalWrite(f,LOW);
if (digit!=0 && digit!=1 && digit !=7)
digitalWrite(g,LOW);
}
void displayDigit2 (int digit2)
{
if(digit2!=1 && digit2 != 4)
digitalWrite(a2,LOW);
if(digit2 != 5 && digit2 != 6)
digitalWrite(b2,LOW);
if(digit2 !=2)
digitalWrite(c2,LOW);
if(digit2 != 1 && digit2 !=4 && digit2 !=7)
digitalWrite(d2,LOW);
if(digit2 == 2 || digit2 ==6 || digit2 == 8 || digit2==0)
digitalWrite(e2,LOW);
if(digit2 != 1 && digit2 !=2 && digit2!=3 && digit2 !=7)
digitalWrite(f2,LOW);
if (digit2!=0 && digit2!=1 && digit2 !=7)
digitalWrite(g2,LOW);
}
void turnOff()
{
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
void turnOff2()
{
digitalWrite(a2,HIGH);
digitalWrite(b2,HIGH);
digitalWrite(c2,HIGH);
digitalWrite(d2,HIGH);
digitalWrite(e2,HIGH);
digitalWrite(f2,HIGH);
digitalWrite(g2,HIGH);
}