Outils pour utilisateurs

Outils du site


matrice_a_leds

Matrice a leds de bus

Matériel

L'afficheur

Il s'agit d'une matrice à led de type afficheur de Bus/Tram.

La partie affichage est composée de composants classiques :

  • Registres à décallage 74LS164 - Datasheet
  • Transistors Darlingtons ULN2003A - Datasheet

Partie Contrôle déjà en place

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.

  • Transistors Darlingtons PNP STA402A - Datasheet

Nous n'avons pas spécialement cherché à utiliser le microcontroleur Intel présent.

But recherché

Le faire macher.

Codes sources et Exemples

Afficher des blocs de 3 couleurs défilents

#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);
} 

Afficher "LABX"

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);
 
	} 
matrice_a_leds.txt · Dernière modification: 2015/01/28 03:09 (modification externe)