Pages: 1 ... 10 11 [12] 13 14   Go Down
Author Topic: Daten speichern + 16x16 RGB-LED-Matrix ansteuern  (Read 16826 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
// SHIFT_DATA_PIN (PF0 is analog 0) = '595 SER pin
#define SHIFT_DATA_PORT PORTF
#define SHIFT_DATA_PIN  PF0
#define SHIFT_DATA_DDR  DDRF
// SHIFT_CLK_PIN (PF1 is analog 1) = '595 SRCLK
#define SHIFT_CLK_PORT  PORTF
#define SHIFT_CLK_PIN   PF1
#define SHIFT_CLK_DDR   DDRF
// '595 RCLK is hooked to tlc XLAT pin

Arduino -> 74HC595
-------------------
A0        -> Pin 14
A1        -> Pin 11
D11       -> Pin 12

Arduino -> TLC
---------------
Mega pin 51 (MOSI) -> SIN (Tlc pin 26)
Mega pin 52 (SCK) -> SCLK (Tlc pin 25)
Mega pin 11 (OC1A) -> XLAT (Tlc pin 24)
Mega pin 12 (OC1B) -> BLANK (Tlc pin 23)
Mega pin 9 (OC2B) -> GSCLK (Tlc pin 18)
« Last Edit: August 26, 2012, 08:47:13 am by Megaionstorm » Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Full Member
***
Karma: 1
Posts: 209
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke!
Wie bist du da drauf gekommen, jetzt gehts eigentlich recht gut,
ich kann alternativ auch Pin 12 nehmen.
Allerdings komisch ist noch, dass immer die LED links neben der aktuellen auch noch ein wenig leuchtet.
Woran könnte das liegen?
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
dass immer die LED links neben der aktuellen auch noch ein wenig leuchtet.

Der ULN2981 hat ein Turn-Off Delay von 5µs, vermutlich deshalb !
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Versuch mal folgendes.

Führe zusätzlich zu deiner bisherigen Schaltung von jeder Anode der Matrix einen 1kohm Widerstand auf Masse !
Benötigst also 8 Widerstände !


Quote
ich kann alternativ auch Pin 12 nehmen.

Nimm am besten D11, weil der 74HC595 dadurch mit dem XLAT-Signal für den TLC5940 verbunden sein soll !
« Last Edit: August 26, 2012, 11:59:25 am by Megaionstorm » Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Full Member
***
Karma: 1
Posts: 209
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, werd ich machen, aber heute nicht mehr.
Mein Snake-Klon ist fast fertig. smiley-wink
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Foto im Betrieb währe nett ! Wenn Du dazu Zeit hast !
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Full Member
***
Karma: 1
Posts: 209
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nochmal ein großes DANKESCHÖN an Alle, die zum Erfolg meines Projektes beigetragen haben!
Besonders danke ich uwefed und Eisebaer, die mir gerade in der Anfangszeit sehr geholfen haben
und Megaionstorm, der mir die letzte Zeit immer zur Seite stand.
Ohne euch hätte ich es nie geschafft! smiley

Folgende Punkte sollen demnächst abgearbeitet werden:
~ 1kOhm Widerstände an die Anoden (=> s.o)
- 8x8Matrix -> 16x16Matrix
- Animationen von SD-Karte abspielen (SD-Karte und Matrix parallel, ist das möglich?)
~ Spiele von SD-Karte abspielen (Flashen!?)

Hier mal ein kleines Vorschauvideo der bisherigen Matrix,
leider sind die Farben nicht ganz erhalten geblieben
und das ganze sieht neben dem Flackern auch noch etwas verschwommen aus:




PS: Wie bekommt man die Farben der einzelnen Pixel so schön "glatt" hin
wie z.B. in diesem Video (Ich hab in meinem Video ein weißes Blatt drübergelegt):

« Last Edit: August 27, 2012, 03:43:07 am by Nathax » Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
PS: Wie bekommt man die Farben der einzelnen Pixel so schön "glatt" hin
wie z.B. in diesem Video (Ich hab in meinem Video ein weißes Blatt drübergelegt):

Vielleicht mal Pergamentpapier ausprobieren, gibt es in jedem gut sortierten Schreibwarenhandel !
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Full Member
***
Karma: 1
Posts: 209
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich werd mal schauen, aber sind die Matrizen nicht von Grund auf so schön glatt?
Noch ne Frage, kann ich die IRRemoteLibrary irgendwie mit der Matrix zs. benutzen?
Ein "irrecv.enableIRIn();" in der Setup-Methode hindert bisher die Matrix am Funktionieren.
Logged

Offline Offline
Full Member
***
Karma: 1
Posts: 209
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...
« Last Edit: August 30, 2012, 08:37:23 am by Nathax » Logged

Germany
Offline Offline
Faraday Member
**
Karma: 59
Posts: 3089
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Ein "irrecv.enableIRIn();" in der Setup-Methode hindert bisher die Matrix am Funktionieren.

Warum / Wie ?
Unterschiedliche Anforderungen an den gleichen Timer ?

Libraries sind toll, weil sie viel können, aber letztendlich muss man doch wissen, was sie machen ...
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
was sie machen ...

Eigentlich vorallendingen auch WIE sie es machen !
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Full Member
***
Karma: 1
Posts: 209
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mir ist schon klar,
dass sich die verschiedene Hardware(SD, IR-Receiver, LED-Matrix) durch SPI und die Timer und Zyklen in den Libraries
in die Quere kommt. Ich wollte mich nur informieren, ob ihr villeicht bereits von Lösungen solcher Probleme gehört habt.
Denn neuschreiben werde ich die Libraries ganz sicher nicht.  smiley
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Weißabgleich:

Code:
void Matrix_Pixel(uint8_t Row, uint8_t Column, byte Red, byte Green, byte Blue)
{   
   Led_Red = map(Red, 0, 255, 0, 4095);
   Led_Green = map(Green, 0, 255, 0, 4095);
   Led_Blue = map(Blue, 0, 255, 0, 4095);
   TlcMux_set(Row, Column, Led_Red / 1.8);
   TlcMux_set(Row, Column + 16, Led_Green);
   TlcMux_set(Row, Column + 32, Led_Blue);
}

Für den Weißabgleich muss dieser Wert an die jeweilige Matrix angepasst werden !
   TlcMux_set(Row, Column, Led_Red / 1.8);

TLCMux_Set(0, 0, 255, 255, 255);

Sollte ein rein weisses Licht erzeugen !
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Full Member
***
Karma: 1
Posts: 209
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Jo.
Logged

Pages: 1 ... 10 11 [12] 13 14   Go Up
Jump to: