It worked the display is not as bright as it could be but I think it's still OK. A bit too much code to just write "hello", but it was fun to do it anyway.
At the beggining I thought about coding a function to show characters but it was a bit too much work for just a little experiment, so the code is dirty, sorry about that.
Here is the datasheet for the display, I just added a 330 resistor between each common cathode and the arduino pins.
I used pins 2-5 to select the character and 6-13 to select segments.
Thanks for your time.
int del = 150;
int pinChar1 = 5;
int pinChar2 = 4;
int pinChar3 = 3;
int pinChar4 = 2;
//Segment pins
int A = 6;
int B = 7;
int C = 8;
int D = 9;
int E = 10;
int F = 11;
int G = 12;
int Dot = 13;
void setup() {
pinMode(pinChar1, OUTPUT);
pinMode(pinChar2, OUTPUT);
pinMode(pinChar3, OUTPUT);
pinMode(pinChar4, OUTPUT);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(Dot, OUTPUT);
digitalWrite(pinChar1, LOW);
digitalWrite(pinChar2,LOW);
digitalWrite(pinChar3,LOW);
digitalWrite(pinChar4,LOW);
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
digitalWrite(Dot,LOW);
}
void loop()
{
digitalWrite(pinChar1,LOW);
digitalWrite(pinChar2,HIGH);
digitalWrite(pinChar3,HIGH);
digitalWrite(pinChar4,HIGH);
digitalWrite(E,HIGH);
delay(del);
digitalWrite(E,LOW);
digitalWrite(F,HIGH);
delay(del);
digitalWrite(F,LOW);
digitalWrite(G,HIGH);
delay(del);
digitalWrite(G,LOW);
digitalWrite(C,HIGH);
delay(del);
digitalWrite(C,LOW);
digitalWrite(pinChar1,HIGH);
digitalWrite(pinChar2,LOW);
digitalWrite(A,HIGH);
delay(del);
digitalWrite(A,LOW);
digitalWrite(F,HIGH);
delay(del);
digitalWrite(F,LOW);
digitalWrite(E,HIGH);
delay(del);
digitalWrite(E,LOW);
digitalWrite(F,HIGH);
delay(del);
digitalWrite(F,LOW);
digitalWrite(G,HIGH);
delay(del);
digitalWrite(G,LOW);
digitalWrite(D,HIGH);
delay(del);
digitalWrite(D,LOW);
digitalWrite(pinChar2,HIGH);
digitalWrite(pinChar3,LOW);
digitalWrite(F,HIGH);
delay(del);
digitalWrite(F,LOW);
digitalWrite(E,HIGH);
delay(del);
digitalWrite(E,LOW);
digitalWrite(B,HIGH);
delay(del);
digitalWrite(B,LOW);
digitalWrite(C,HIGH);
delay(del);
digitalWrite(C,LOW);
digitalWrite(pinChar3,HIGH);
digitalWrite(pinChar4,LOW);
digitalWrite(G,HIGH);
delay(del);
digitalWrite(G,LOW);
digitalWrite(C,HIGH);
delay(del);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
delay(del);
digitalWrite(D,LOW);
digitalWrite(E,HIGH);
delay(del);
digitalWrite(E,LOW);
del = 1;
}