Bizounours:
Du coup, je m'amuse pas mal avec ce petit afficheur, et j'aimerais en faire un compteur 
Le but serait de partir de 0, et d'augmenter disons jusqu'à 20, puis clignotement de l'afficheur sur 0 deux ou trois seconde et repartir en comptage.
Bonsoir,
voici j'ai fait un code juste pour toi (qui fait exactement ce que tu dis). Mais il faut avant tout que tu comprennes le principe du multiplexage car ici on n'utilise que des transistors pour la commutation (persistance rétinienne) et pas de décodeur.
Le code ci-dessous fait clignoté le 0 pendant 2 secondes et commence ensuite le comptage jusqu'à 20. Arriver à 20, on a un retour à zéro puis clignotement à nouveau des zéro.
Il ne te reste plus qu'à brancher les afficheurs comme il se doit et de contempler le résultat. 
byte digit0 = 10; // broche du 1er transistor
byte digit1 = 11; // broche du 2ème transistor
int count, count1, count2, a, b = 0;
long lastTime, millisTime, deltaTime = 0;
byte sevenSegmentPins[] = {2,3,4,5,6,7,8}; /*Broches à utiliser par l'afficheur déclarer sous forme de tableau ce qui est très pratique je dirai*/
byte sevenSegment[10][7] =
{
//a b c d e f g
{ 0,0,0,0,0,0,1 }, // = 0
{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,1,1,0,0 } // = 9
}; // Ceci est la base même du multiplexage
void setup()
{
pinMode(digit0, OUTPUT); //pin 10
pinMode(digit1, OUTPUT); //pin 11
// Configuration en sortie des broches pour les afficheurs.
for(int i=0; i<7; i++) {
pinMode(sevenSegmentPins[i], OUTPUT);
}
}
//fonction pour écrire le nombre sur l'afficheur
void segmentWrite(byte digit)
{
byte pin = 2;
for (byte i=0; i<7; i++) {
digitalWrite(pin, sevenSegment[digit][i]);
++pin;
}
}
void loop()
{
// Au départ count est = 0
//On sépare le nombre en deux partie pour pouvoir les envoyer ensuite sur chaque afficheur.
a = count % 10; // Obtenir le modulo nombre
count1 = int (a); //convertir le nombre en une variable intéger
b = count / 10; //diviser le nombre par 10
count2 = int (b); //convertir le nombre en une variable intéger
if (count == 0)
{
int t=0;
while(t<3){
digitalWrite(digit1, HIGH);
digitalWrite(digit0, HIGH);
segmentWrite(count2);
segmentWrite(count1);
delay(1000);
digitalWrite(digit1, LOW);
digitalWrite(digit0, LOW);
delay(1000);
t++;
}
}
else if(count>0 && count <=20) // technique de multiplexage
{
digitalWrite(digit1, LOW);
segmentWrite(count2);
delay(10);
digitalWrite(digit1, HIGH);
digitalWrite(digit0, LOW);
segmentWrite(count1);
delay(10);
digitalWrite(digit0, HIGH);
}
// On incrémente "count" toutes les une seconde
millisTime = millis();
deltaTime = millisTime-lastTime;
if (deltaTime>1000)
{
count++;
lastTime = millisTime;
}
// Remettre "count" à 0 si count est supérieur à 20
if(count > 20)
count = 0;
}
Au cas où tu ne le saurais pas, pour le branchement des afficheurs tu dois les mettre en parallèle c'est à dire :
A --> A'
B --> B'
C --> C'
G --> G'
Pour les transistors (2 en tout, un par afficheur. type BC549 ou 547), tu mettras un résistance de 4,7K sur chaque Base. Les émetteurs sont relié à 5V puis les collecteurs à chaque anode commune de chaque afficheur (dans le cas d'un afficheur à anode commune).