#include <Servo.h>
#define segA 2
#define segB 3
#define segC 4
#define segD 5
#define segE 6
#define segF 7
#define segG 8
#define buttonINC 9
#define buttonDEC 10
int stateINC,stateDEC;
int counter;
Servo ser;
void setup() {
for(int i=2;i<=8;i++){
pinMode(i, OUTPUT);
}
pinMode(buttonINC, INPUT);
pinMode(buttonDEC, INPUT);
Serial.begin(9600);
ser.attach(11);
}
void loop() {
stateINC=digitalRead(buttonINC);
stateDEC=digitalRead(buttonDEC);
if(stateINC==1 && counter<9){
counter++;
}
if(stateDEC==1 && counter>0){
counter--;
}
Serial.println(counter);
delay(1000);
Serial.println(stateDEC);
delay(1000);
Serial.println(stateINC);
delay(1000);
switch(counter){
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;
default :displayOff();
}
}
void zero(){
ser.write(0);
for(int i=2;i<=8;i++){
if(i==8){
digitalWrite(i, LOW);
}
else{
digitalWrite(i, HIGH);
}
}
}
void one(){
ser.write(10);
for(int i=2;i<=8;i++){
if(i==3|| i==4){
digitalWrite(i, HIGH);
}
else{
digitalWrite(i, LOW);
}
}
}
void two(){
ser.write(20);
for(int i=2;i<=8;i++){
if(i==4 || i==7){
digitalWrite(i, LOW);
}
else{
digitalWrite(i, HIGH);
}
}
}
void three(){
ser.write(30);
for(int i=2;i<=8;i++){
if(i==6 || i==7){
digitalWrite(i, LOW);
}
else{
digitalWrite(i, HIGH);
}
}
}
void four(){
ser.write(40);
for(int i=2;i<=8;i++){
if(i==2 || i==5 || i==6){
digitalWrite(i, LOW);
}
else{
digitalWrite(i, HIGH);
}
}
}
void five(){
ser.write(50);
for(int i=2;i<=8;i++){
if(i==3 || i==6){
digitalWrite(i, LOW);
}
else{
digitalWrite(i, HIGH);
}
}
}
void six(){
ser.write(60);
for(int i=2;i<=8;i++){
if(i==3){
digitalWrite(i, LOW);
}
else{
digitalWrite(i, HIGH);
}
}
}
void seven(){
ser.write(70);
for(int i=2;i<=4;i++){
digitalWrite(i, HIGH);
}
for(int x=5;x<=8;x++){
digitalWrite(x, LOW);
}
}
void eight(){
ser.write(80);
for (int i=2;i<=8;i++){
digitalWrite(i, HIGH);
}
}
void nine(){
ser.write(90);
for (int i=2;i<=8;i++){
if (i==6){
digitalWrite(i, LOW);
}
else {
digitalWrite(i, HIGH);
}
}
}
void displayOff(){
ser.write(0);
for (int i=2;i<=8;i++){
digitalWrite(i, LOW);
}
}