User Tools

Site Tools


projets:fuz:generale_led_matrix

This is an old revision of the document!


Generale led matrix

Goals

  • Plusieurs dalles de matrice de LED “obsolètes” se trouvent à la Générale.
  • L'idée serait de les “reverse engineer”, comprendre leur fonctionnement en le documentant.
  • Piloter graphiquement ces dalles, sur du matériel type Arduino pour le bas niveau.

Ressources

Etapes

Nous avons une barre de 8 X 160 pixels avec une alimentation 5V 20A MeanWell

analyse du circuit

tests

Après avoir débranché la carte de contrôle propriétaire, nous relions une arduino UNO, en logique TTL 5V, donc compatible avec ce vieux circuit.

QQ indication sur le circuit nous indiquent les broches de pilotage “classique” de ce genre de circuit avec des registres a décalage : CLOCK, DATA et STROBE (se référer au datasheet du registre a décalage plus haut).
Cette partie pilote la partie horizontale de l'affichage (1 seule ligne).
La partie verticale (sélection de la ligne parmis les 8) est faire via 3 broches : A1, A2, A3

#define LINE_ENABLE 2
 
#define LINE_A3     3
#define LINE_A2     4
#define LINE_A1     5
#define COL_DATA    6
#define COL_CLOCK   7
#define COL_STROBE  8
 
void setup() {
  pinMode(LINE_ENABLE, OUTPUT);
  pinMode(LINE_A3, OUTPUT);
  pinMode(LINE_A2, OUTPUT);
  pinMode(LINE_A1, OUTPUT);
  pinMode(COL_DATA, OUTPUT);
  pinMode(COL_CLOCK, OUTPUT);
  pinMode(COL_STROBE, OUTPUT);
}
 
void loop() {
  //digitalWrite(LINE_ENABLE, LOW);
  digitalWrite(LINE_A3, LOW);
  digitalWrite(LINE_A2, HIGH);
  digitalWrite(LINE_A1, HIGH);
 
delay(100);
 
  digitalWrite(LINE_A3, LOW);
  digitalWrite(LINE_A2, HIGH);
  digitalWrite(LINE_A1, HIGH);
 
  //digitalWrite(COL_STROBE, LOW);
  //delay(1);
 
  for (int i = 0; i < 8; i++) {
    //digitalWrite(COL_CLOCK, LOW);
 
    int val = HIGH; //random(2) ? HIGH : LOW;
    /*
    if (i > 16) {
      val = LOW;
    }**/
 
    //digitalWrite(COL_DATA, val);
    //digitalWrite(COL_CLOCK, HIGH);
    delay(50);
  }
 
  //digitalWrite(COL_STROBE, HIGH);
  //digitalWrite(LINE_ENABLE, HIGH);
 
  // Varier le délai affecte position & longueur de la ligne affichée
  //delay(50);
}

Roadmap

  1. démontage, compréhension du circuit : 80%
  2. tests des circuit par une arduino : 10%
  3. trouver une librairie graphique adaptée, ou en faire une
  4. tests d'affichage
  5. quelle architecture de plus haut niveau (DMX, Stream, Commandes de Controle, …)

Follow-up

  • Project created on Sat 11-04-20 by barzi
projets/fuz/generale_led_matrix.1586562666.txt.gz · Last modified: 2023-02-02 22:06 (external edit)