afficheurs A-502G-10 x2

Bonjour.

J'ai fais l’acquisition de deux 1-502G-10 branchés en parallèle . D'après la datasheet, ces composants sont en cathodes communes . J'ai donc décidé, pour écrire plusieurs caractères sur les 4 digits, de faire un système de balayage de gauche à droite avec un délai de 1ms . Mais pour les modifications de segments, j'ai aucune idée du câblage (sauf qu'il me faudra 8 transistors ...) . Je voudrais, à la fin, me faire une petite horloge synchronisée avec un programme Lua (déjà fait) .

En gros pour l'instant, mon code ressemble à ça:

int digit1 = 2;
int digit2 = 3;
int digit3 = 4;
int digit4 = 5;
int delai = 1;

/*
bit1: haut
bit2: haut-gauche
bit3: haut-droit
bit4: milieu
bit5: bas-gauche
bit6: bas-droit
bit7: bas
bit8: point
*/

int n1 = 0b00100100;
int n2 = 0b10111010;
int n3 = 0b10111010;
int n4 = 0b01110100;
int n5 = 0b11010110;
int n6 = 0b11011110;
int n7 = 0b11001000;
int n8 = 0b11111110;
int n9 = 0b11111010;
int n0 = 0b11101110;

void setup() {
  Serial.begin(9600);
  pinMode(digit1, OUTPUT);
  pinMode(digit2, OUTPUT);
  pinMode(digit3, OUTPUT);
  pinMode(digit4, OUTPUT);
  //init sequence (pour vérifier les segments)
  Serial.write("Init ...");
  digitalWrite(digit1, HIGH);
  digitalWrite(digit2, HIGH);
  digitalWrite(digit3, HIGH);
  digitalWrite(digit4, HIGH);
  delay(1000);
  digitalWrite(digit1, LOW);
  digitalWrite(digit2, LOW);
  digitalWrite(digit3, LOW);
  digitalWrite(digit4, LOW);
  Serial.write(" Done!");
  //end
}

void loop() {
 if (Serial.available() != false) {
   while (true) {
     
   }
 }
 digitalWrite(digit4, LOW);
 digitalWrite(digit1, HIGH);
 Serial.write("\nDigit 1");
 //nb du digit 1

 //
 delay(delai);
 digitalWrite(digit1, LOW);
 digitalWrite(digit2, HIGH);
 Serial.write("\nDigit 2");
 //nb du digit 2

 //
 delay(delai);
 digitalWrite(digit2, LOW);
 digitalWrite(digit3, HIGH);
 Serial.write("\nDigit 3");
 //nb du digit3

 //end
 delay(delai);
 digitalWrite(digit3, LOW);
 digitalWrite(digit4, HIGH);
 Serial.write("\nDigit 4");
 Serial.write("\nEnd");
 //nb du digit 4

 //end
 delay(delai);
}

Autre chose: j'ai codé les chiffres, mais je ne sais pas comment les interpréter ! Parce que j'utilise des binaires, mais je ne sais pas les lire :zipper_mouth_face: donc si vous avez une solution ... Merci de vos réponses !