Forum: Mikrocontroller und Digitale Elektronik Welchen protocol für RGB LED Matrix


von lumia (Gast)


Lesenswert?

Morgen.
Ich habe mir so ein  RGB LED Matrix gekauft.

http://www.adafruit.com/products/420

Leider steht dort nicht, welches protokol diese LED's benutzen.

Die sprechen nur von PWM Steuerung, aber eine Erlärung gibt es dort 
nicht. Alles was ich dort gefunden habe, sind ein paar besch--te arduino 
Bibliotheken.
Sind das ganz normale WS2812 oder wie ?

Danke.

von John D. (Gast)


Lesenswert?

lumia schrieb:
> Morgen.
> Ich habe mir so ein  RGB LED Matrix gekauft.
>
> http://www.adafruit.com/products/420
>
> Leider steht dort nicht, welches protokol diese LED's benutzen.

Dort steht aber auch, dass ihnen kein Datenblatt zur Verfügung steht. 
Hingegen gibt es eine Beschreibung der Anschlüsse und wie man das 
Display mit einem µC verbindet. Das ist doch schon einmal ein 
Anhaltspunkt; weiter kannst du doch mit praktischen Experimenten an 
deinem Display kommen.

> Sind das ganz normale WS2812 oder wie ?

Wohl kaum.

von lumia (Gast)


Lesenswert?

Ja, deswegen frage ich auch, es steht nich wie die farbe kodiert ist.... 
Auf dem adafruit-Forum tuen alle so, als ob es selbsverständlich ist, 
wie man sowas steuert, es gibt auch genug funktionierende Beispiele etc.

von Mick (Gast)


Lesenswert?


von Björn P. (bjrn_g)


Lesenswert?

Hallo lumia,

ich habe von Adafruit die 32x32-RGB-LED-Matrix und fand die BEschreibung 
eigentlich ausreichend.

OK, also ich beschreibe dir mal den Aufbau (später kann ich dir bestimmt 
auch einen Schaltplan anhängen)

Es liegen vor:
- 16 Reihen = 16 Adressen
- 32 Spalten = 32 Register
- Latch
- Output Enable
- RGB-IN
- Takt
- RGB-Out

Ablauf:
- per (software) SPI 3x parallel 32Bit raus senden -> quasi eine 
Taktleitung und 3 Datenleitungen
- Output-Enable deaktivieren
- Impulse auf Latch ausgeben (kurz high, dann wieder low -> auf 
steigender Flanke werden die Daten übernommen)
- Adresse 0 auswählen
- Output-Enable aktivieren

-> erste Ziele leuchtet mit deinem gewählten Bitmuster

dann das ganze für die nächsten 15 Zeilen wiederholen

nach Adam-Riese:
(bei mindestens 60Hz Bildwiederholrate)
1 / 60Hz * 16 Zeilen = ca. jede Millisekunde eine neue Zeile 
rausschicken und aktivieren

Problem:
Du kannst so nicht Dimmen, weil du jede LED nur mit einem Bit sagen 
kannst, ob sie an oder aus ist.
Lösung:
Du musst die PWM via Software genereieren -> d.h. noch viel öfter als 
jede Millisekunde die Daten rausschicken

Es gibt gut Tutorials dafür, meist für FPGAs oder Adruino

Mit nem uC (PIC24EP) schaffe ich eine 4bit-PWM
Mit nem FPGA (Spartan6) auch locker 8Bit-PWM

von JanK (Gast)


Lesenswert?

Der Mike hat da ein nettes Video zu:
https://www.youtube.com/watch?v=Sq8SxVDO5wE

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.