Ja die Reihenfolge der Übertragung hab ich mir angesehen.
Wie vebinde ich die binären werte mit den zuvor definierten Ausgängen D0-D6 ?
Oder muss ich doch ein ShiftRegister Baustein verwenden? 74164, 74299, 74594... etc.
Es muss doch machbar sein werte parallel auszugeben ohne Logikbaustein.
Das wäre das Testprogramm was Schritt für Schritt die Buchstaben ausgibt....
/*
LED-Matrix DLO 7135
Text " POWER ON "
*/
int L=13; //LED Pin 13
int D0=40;
int D1=41;
int D2=42;
int D3=43;
int D4=44;
int D5=45;
int D6=46;
int CE=30;
int WR=31;
int BL0=32;
int BL1=33;
void setup()
{
pinMode(L,OUTPUT);
pinMode(D0, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2,OUTPUT);
pinMode(D3,OUTPUT);
pinMode(D4,OUTPUT);
pinMode(D5,OUTPUT);
pinMode(D6,OUTPUT);
pinMode(CE,OUTPUT);
pinMode(WR,OUTPUT);
pinMode(BL0,OUTPUT);
pinMode(BL1,OUTPUT);
}
// Das Hauptprogramm ist eine Endlosscheleife
void loop()
{
digitalWrite(CE,LOW); // Chip Enable
digitalWrite(WR,LOW); //WRite Enable
// "P"
digitalWrite(BL0,HIGH);
digitalWrite(BL1,HIGH); // 1/1 der Helligkeit
digitalWrite(D0, LOW);
digitalWrite(D1,LOW);
digitalWrite(D2,LOW);
digitalWrite(D3,LOW);
digitalWrite(D4,HIGH);
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
delay (250);
// "O"
digitalWrite(D0, HIGH);
digitalWrite(D1,HIGH);
digitalWrite(D2,HIGH);
digitalWrite(D3,HIGH);
digitalWrite(D4,LOW);
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
delay (250);
// "W"
digitalWrite(D0, HIGH);
digitalWrite(D1,HIGH);
digitalWrite(D2,HIGH);
digitalWrite(D3,LOW);
digitalWrite(D4,HIGH);
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
delay (250);
// "E"
digitalWrite(D0, HIGH);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
digitalWrite(D3,LOW);
digitalWrite(D4,LOW);
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
delay (250);
// "R"
digitalWrite(D0, LOW);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
digitalWrite(D3,LOW);
digitalWrite(D4,HIGH);
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
delay (250);
// " "
digitalWrite(D0, LOW);
digitalWrite(D1,LOW);
digitalWrite(D2,LOW);
digitalWrite(D3,LOW);
digitalWrite(D4,LOW);
digitalWrite(D5,LOW);
digitalWrite(D6,LOW);
delay (250);
// "O"
digitalWrite(D0, HIGH);
digitalWrite(D1,HIGH);
digitalWrite(D2,HIGH);
digitalWrite(D3,HIGH);
digitalWrite(D4,LOW);
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
delay (250);
// "N"
digitalWrite(D0, LOW);
digitalWrite(D1,HIGH);
digitalWrite(D2,HIGH);
digitalWrite(D3,HIGH);
digitalWrite(D4,LOW);
digitalWrite(D5,LOW);
digitalWrite(D6,HIGH);
delay (500);
// " "
digitalWrite(D0, LOW);
digitalWrite(D1,LOW);
digitalWrite(D2,LOW);
digitalWrite(D3,LOW);
digitalWrite(D4,LOW);
digitalWrite(D5,LOW);
digitalWrite(D6,LOW);
delay (500);
digitalWrite(L,HIGH);
delay (1000);
digitalWrite(L,LOW);
delay (1500);
}
Wie ihr seht ist es nichts kompliziertes, bin halt noch Anfänger und BASIC-Zeiten sind schon lange vorbei....