Go Down

Topic: afficheurs A-502G-10 x2 (Read 379 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy