Showing posts with label seven segment display.. Show all posts
Showing posts with label seven segment display.. Show all posts

Sunday, November 4, 2012

Seven Segment Ardunio Gear Display

Was discussing that there is a upgrade for a stock part that would allow my bike to have a seven segment gear display for my motorcycle.

with leanings from - http://www.stanford.edu/~sanjayd/gear_indicator.pdf

once I know it works might paste it on gstwin.com
here is the code - let me know if I need to pastebin

// assume 7segment anode common
// might need pulldown resistors on the gear inputs 8-13
// might need  a filter,etc for the inputs
// would really like to use a 4 bit to 7 segment toget away from using 1,2,13 inputs


int Gear1 = 8;
int Gear2 = 9;
int Gear3 = 10;
int Gear4 = 11;
int Gear5 = 12;
int Gear6 = 13;
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;
int buttonState5 = 0;
int buttonState6 = 0;


void setup()
{
  pinMode(0,HIGH);
  pinMode(1,HIGH);
  pinMode(2,HIGH);
  pinMode(3,HIGH);
  pinMode(4,HIGH);
  pinMode(5,HIGH);
  pinMode(6,HIGH);
  pinMode(Gear1,INPUT);
  pinMode(Gear2,INPUT);
  pinMode(Gear3,INPUT);
  pinMode(Gear4,INPUT);
  pinMode(Gear5,INPUT);
  pinMode(Gear6,INPUT);

 }

void loop()
{
 PORTD=B0111111; // clear for no data aka netural
 buttonState1 = digitalRead(Gear1);
 buttonState2 = digitalRead(Gear2);
 buttonState3 = digitalRead(Gear3);
 buttonState4 = digitalRead(Gear4);
 buttonState5 = digitalRead(Gear5);
 buttonState6 = digitalRead(Gear6);
 if (buttonState1>0){PORTD=B1111001;} // 1
 if (buttonState2>0){PORTD=B0100100;} // 2
 if (buttonState3>0){PORTD=B0110000;} // 3
 if (buttonState4>0){PORTD=B0011001;} // 4
 if (buttonState5>0){PORTD=B0010010;} // 5
 if (buttonState6>0){PORTD=B0000010;} // 6
 delay(500);        // delay in between reads for stability
}