Pages: [1]   Go Down
Author Topic: afficheurs A-502G-10 x2  (Read 258 times)
0 Members and 1 Guest are viewing this topic.
http://microlua.xooit.fr/ (souvent)
Offline Offline
Jr. Member
**
Karma: 1
Posts: 53
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
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 !
Logged

Codeur en Lua, python, java, C,  Arduino, un peu d'assembleur ...

Pages: [1]   Go Up
Jump to: