Hello,
first of all, I already searched on the forum, but somehow I think my 7-segment display is quite exotic, so I need a bit of specific help.
So, it's a 2 and 1/2 digit display... it can show values from 0 to 199 - it has a pin that lights 2 vertical segments together (named hundred), all the other pins are for each segment of the two following digits and a common anode, 16 pins in total.
Here we go, first of all my code:
int Gx2 = 2;
int Ax2 = 3;
int Fx2 = 4;
int Bx2 = 5;
int Bx3 = 6;
int Fx3 = 7;
int Ax3 = 8;
int Gx3 = 9;
int Cx2 = 10;
int Ex2 = 11;
int Dx2 = 12;
int hundred = 13;
int COM = A0;
int Dx3 = A1;
int Ex3 = A2;
int Cx3 = A3;
void setup() {
pinMode(Gx2, OUTPUT);
pinMode(Ax2, OUTPUT);
pinMode(Fx2, OUTPUT);
pinMode(Bx2, OUTPUT);
pinMode(Bx3, OUTPUT);
pinMode(Fx3, OUTPUT);
pinMode(Ax3, OUTPUT);
pinMode(Gx3, OUTPUT);
pinMode(Cx2, OUTPUT);
pinMode(Ex2, OUTPUT);
pinMode(Dx2, OUTPUT);
pinMode(hundred, OUTPUT);
pinMode(COM, OUTPUT);
pinMode(Dx3, OUTPUT);
pinMode(Ex3, OUTPUT);
pinMode(Cx3, OUTPUT);
}
void zero() {
digitalWrite(COM, HIGH);
digitalWrite(Ax3, LOW);
digitalWrite(Bx3, LOW);
digitalWrite(Cx3, LOW);
digitalWrite(Dx3, LOW);
digitalWrite(Ex3, LOW);
digitalWrite(Fx3, LOW);
digitalWrite(Gx3, HIGH);
digitalWrite(Ax2, HIGH);
digitalWrite(Bx2, HIGH);
digitalWrite(Cx2, HIGH);
digitalWrite(Dx2, HIGH);
digitalWrite(Ex2, HIGH);
digitalWrite(Fx2, HIGH);
digitalWrite(Gx2, HIGH);
digitalWrite(hundred, HIGH);
}
void one() {
digitalWrite(COM, HIGH);
digitalWrite(Ax3, HIGH);
digitalWrite(Bx3, LOW);
digitalWrite(Cx3, LOW);
digitalWrite(Dx3, HIGH);
digitalWrite(Ex3, HIGH);
digitalWrite(Fx3, HIGH);
digitalWrite(Gx3, HIGH);
digitalWrite(Ax2, HIGH);
digitalWrite(Bx2, HIGH);
digitalWrite(Cx2, HIGH);
digitalWrite(Dx2, HIGH);
digitalWrite(Ex2, HIGH);
digitalWrite(Fx2, HIGH);
digitalWrite(Gx2, HIGH);
digitalWrite(hundred, HIGH);
}
void loop() {
zero();
delay(1000);
one();
delay(1000);
}
Now, as you can see, I can successfully light up single digits, but I'm having trouble figuring out how to translate a variable (let's say coming from the serial port, a sensor, etc..) so it displays on the display... I'm still a noob when it comes to coding, so any hints will be greatly appreciated
Thanks everyone!
Seb