This forum is archived, go to the new forum!

This is the old fritzing discussion forum. Search it for valuable information from 2009 to 2015.

Matrix Fehler Mega Buch

oel 5 years, 2 months ago

Hallo, wir sind beim Programm Matrix. Im Buch steht alles für Arduino Uno. Wir haben aber Mega. Dort funktioniert es nicht so, wie im Buch vorgestellt.

 

jetzt haben wir uns die Pinouts der beiden Bords angesehen.

 

Mega hier:


http://pighixxx.com/megapdf.pdf

 

uno hier:

http://pighixxx.com/unov3pdf.pdf

 

Kann jemand mal sagen, was der Unterschied zwischen den Zahlen, die auf dem Board neben den Pins aufgedruckt sind, und denen, die auf dem Pinlayout grau stehen. Dort steht z.B. TX1 18 und daneben die 46   

 

ich vermute die 46 ist die Zahl, womit die Pin softwaremäßig angesprochen wird. Wie bezeichnet man die beiden Zahlen?

oel 5 years, 2 months ago

Ja, das war eine Menge Arbeit, und vertsnaden hab ich's was das Ein und Ausschalten betrifft, immer noch nicht 100 % aber die Matrix ist jetzt richtig angeschlossen.

 

Hier die Tabelle

MEGA PIN 36 34 32 30 28 26 24 22  
BredbrdNr 12 13 14 15 16 17 18 19  
Matrix Pin A B C D E F G H Oben
legt  dod S8 S7 Z2 S1 Z4 S6 S4 Z1  
A Zeile 1 DH H3 H4 GH H6 FH BH AH  
A Zeile 2 DC C3 C4 GC C6 FC BC AC  
A Zeile 3 D8 83 84 G8 86 F8 B8 A8  
A Zeile 4 DE E3 E4 GE E6 FE BE AE  
A Zeile 5 D1 13 14 G1 16 F1 B1 A1  
A Zeile 6 D7 73 74 G7 76 F7 B7 A7  
A Zeile 7 D2 23 24 G2 26 F2 B2 A2  
A Zeile 8 D5 53 54 G5 56 F5 B5 A5  
legt  dod Z5 Z7 S2 S3 Z8 S5 Z6 Z3  
Matrix Pin 1 2 3 4 5 6 7 8 Unten
BredbrdNr 12 13 14 15 16 17 18 19  
MEGA PIN 52 50 48 46 44 42 40 38  

oel 5 years, 2 months ago

int spaltenPins [8] = {30,48,46,24,42,26,34,36} ; // also S1, S2 etc
int reihenPins [8] = {22,32,38,28,52,40,50,44} ; // also Z1 etc
int image[8][8]= {
{1,1,1,1,1,1,1,1},
{0,0,0,1,0,0,0,1},
{0,0,0,1,0,0,0,1},
{0,0,0,1,1,1,1,1},
{1,1,1,1,1,0,0,0},
{1,0,0,0,1,0,0,0},
{1,0,0,0,1,0,0,0},
{1,1,1,1,1,1,1,1},


};
void setup()
{
for (int i=0; i<8; i++)
{
pinMode (spaltenPins[i],OUTPUT);
pinMode (reihenPins[i], OUTPUT);
digitalWrite(spaltenPins[i],HIGH);
}
}

void loop()
{
for (int x=0; x<8; x++)
{
for (int y=0; y<8; y++)
{
if (image[x][y]==1)
{
digitalWrite(reihenPins[y],HIGH);
}
else
{
digitalWrite(reihenPins[y],LOW);
}
}
digitalWrite (spaltenPins[x],LOW);
delayMicroseconds(20);
delay (10);
digitalWrite(spaltenPins[x],HIGH);
}
}

 

Das ist der Code für die Belegung. Ob die Spalten hier Spalten oder Zeilen meinen, hängt davon ab, wierum man die Matrix hält. Am besten von hinten....