Il s'agit d'une matrice à led de type afficheur de Bus/Tram.
La partie affichage est composée de composants classiques :
Une carte Alim + microcontroleur était déjà en place, basé Intel 8k.
Cependant sur cette carte se trouvait des Transistors Darlingtons PNP, sevant à booster le courant des lignes de diodes.
Nous n'avons pas spécialement cherché à utiliser le microcontroleur Intel présent.
Le faire macher.
#define DELAY 1000 int clockPin = 13; //Clock int dataPin = 12; //Data void setup() { pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); } void loop() { shiftOut(dataPin, clockPin, MSBFIRST, 0b11111111); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); delay(DELAY); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b11111111); delay(DELAY); shiftOut(dataPin, clockPin, MSBFIRST, 0b11111111); shiftOut(dataPin, clockPin, MSBFIRST, 0b11111111); delay(DELAY); }
int clockPin = 13; //Clock int dataPin = 12; //Data void setup() { pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(9, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); // Mise a zero // for(int i=0; i<80; i++) // { // digitalWrite(clockPin, LOW); // digitalWrite(dataPin, LOW); // digitalWrite(clockPin, HIGH); // } } void puthigh(int val) { for (int i=2;i<=8;i++) { digitalWrite(i, HIGH); } digitalWrite(val, LOW); delayMicroseconds(750); } void loop() { // digitalWrite(clockPin, LOW); // delay(1); //digitalWrite(dataPin, HIGH); // delay(1); //digitalWrite(clockPin, HIGH); puthigh(9); shiftOut(dataPin, clockPin, MSBFIRST, 0b10000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001111); shiftOut(dataPin, clockPin, MSBFIRST, 0b11111001);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); puthigh(2);//delay(20); puthigh(9); shiftOut(dataPin, clockPin, MSBFIRST, 0b10000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b10011001);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); puthigh(3);//delay(20); puthigh(9); shiftOut(dataPin, clockPin, MSBFIRST, 0b10000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b10010110);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000110); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); puthigh(4); //delay(20); puthigh(9); shiftOut(dataPin, clockPin, MSBFIRST, 0b10000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001111); shiftOut(dataPin, clockPin, MSBFIRST, 0b11100110);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000110); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); puthigh(5);//delay(20); puthigh(9); shiftOut(dataPin, clockPin, MSBFIRST, 0b10000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b10010110);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000110); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); puthigh(6);//delay(20); puthigh(9); shiftOut(dataPin, clockPin, MSBFIRST, 0b10000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b10011001);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); puthigh(7);//delay(20); puthigh(9); shiftOut(dataPin, clockPin, MSBFIRST, 0b11110000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b11111001);shiftOut(dataPin, clockPin, MSBFIRST, 0b00001001); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); puthigh(8);//delay(20); }