Go Down

Topic: afficheurs A-502G-10 x2 (Read 318 times) previous topic - next topic

Geeker

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:

Code: [Select]

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 :smiley-zipper: donc si vous avez une solution ...
Merci de vos réponses !
Codeur en Lua, python, java, C,  Arduino, un peu d'assembleur ...

Go Up