- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 79

Thema: RGB LED Matrix - Arduino

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Entschuldigung das war etwas unkontrolliert aus dem Kopf heraus geschrieben XD

    Der Code wäre in der tat unheimlich simpel.

    1 ATTiny mit
    1 Timer mit einer Überlaufzeit 1/800kHZ , 2 Compare Outputs als Fast PWM
    1ter PWM Output auf 50% und invertiert (der Pin simuliert unsere SCLK):

    Immer wenn wir einen Überlauf vom Timer haben, wird die SCLK von der PWM Logik auf "low" gesetzt

    Sobald der Compare Matchwert bei 50% Duty Cycle erreicht wird, wird SCLK auf "high" gesetzt und gleichzeitig ein Interrupt ausgeführt, welcher das Compare Register des 2ten PWM Output mit dem Timing für das Bit am MISO Eingang programmiert

    Kurz vor dem Timer Überlauf wird dann der neue PWM Wert für den 2ten PWM Ausgang übernommen

    Nach dem Update folgt der Überlauf und das Spiel geht von vorne los, bis alle LEDs mit Bits versorgt wurden, dann wird der Chipselect abgeschaltet und eine Pause gemacht damit die LEDs intern updaten.

    Der Chipselect wird wieder eingeschalten, das erste Bit wird per Software eingelesen und der Timer neu gestartet.


    Zum zählen der LEDs werden auf Knopfdruck einfach nur Nullen über den PWM geschoben und die Bits gezählt, bis von der letzen LED das erste Bit zurück kommt.

    Leider blockieren in meinem Hirn gerade alle Programmierkenntnisse, vll. kann ich morgen mal einen brauchbaren Fetzen Code präsentieren
    Code:
    TCCR0A = \
    (COM0A0 | COM0A1) | \ //Compare Output A low on Overrun/BOTTOM, high on Match (SCLK)
    (COM0B0) | \ //Compare B high on Overrun/BOTTOM, low on Match (WS2812 PWM)
    (WGM14); //WAveForm Mode 14: Fast PWM Count to TOP read from ICR0
    
    
    ISR(TIM0_COMPA_vect)
    {
       if(PINB & PINB2){
          TCCR0B = LONG_PULSE;
       }
       else
       {
          TCCR0B = SHORT_PULSE;
       }   
    }
    jetzt nur ganz grob, ohne Timer Werte für irgendwas
    PortB
    Pin2 ist MISO
    Pin 1 (Compare B) der PWM
    Pin 0 (Compare A) ist SCLK
    Geändert von Ceos (13.07.2016 um 15:21 Uhr)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Vielleicht sollten wir auch noch mal zu den Basics zurückkehren.

    Der Fragesteller hat sich noch nicht wieder gemeldet und wir wissen noch nicht, ob er sich für eine echte Matrix oder Streifen entscheidet.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    12.08.2015
    Beiträge
    28
    Also was mir ehrlich gesagt an den fertigen Matrizen nicht gefällt, die sind einfach total klein oder die Abstände zwischen den LEDs sind zu gering. Ursprünglich wollte ich mir einen Couchtisch mit Matrix bauen, nur wohin ich den dann stelle ist die Frage . Also hab ich mich umentschieden und möchte nun eben einen Gameframe nachbauen, den ich an die Wand hängen kann und mit dem ich z.B. auch ein paar Ründchen Snake zocken kann . Größe mindestens 20x20 cm. Auflösung 8x8 reicht glaube ich aus.

    Ansonsten wollte ich noch darauf hinweisen, ich bin ein Anfänger, was Elektronik und Hardwarenahe Programmierung angeht^^. Das Projekt sollte mir auch dazu dienen, meine Kenntnisse zu erweitern und zu vertiefen.


    Trotzdem mal aus reinem Interesse:
    fertige Matrix vs. Streifen, was für Vorteile/Nachteile gibt es? Und wie funktionieren die beiden Möglichkeiten überhaupt? Wofür ist z.B. dieser Controller WS2812?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    was die WS2812 angeht, die gibt es i.d.R. auch als einzel LEDs mit Trägerplatinchen und Stabbi Cs drauf, hab gerade 100 Stück für 44€ gefunden, bissl teuer aber Fair wenn man bedenkt dass es einzelne Platinchen sind

    Da sind dann 6 Lötaugen auf der Rückseite, 2xPlus 2xMinus 1xIn 1xOut, die kannst dann einfach in Reihe mit Draht verlöten.
    Dann nimmst du eine dünne Sperrholzplatte, Bohrst dir deine Löcher für die LEDs und KLebst die Platinchen mit LED voran von unten auf die Löcher. Oben drauf packst du dann eine Glasplatte mit einer Diffusen Foiel oder Beschichtung drauf ... sieht bestimmt gut aus
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Hallo,

    das die Diskussion hier etwas aus dem Ruder läuft, ist halt so bei so vielen Experten mit unterschiedlichen Ansichten.

    Also bemühen wir uns, sie wieder etwas einzufangen. Sag ruhig, wenn du was nicht verstehst.

    Bei einer echten Matrix werden die LEDs einzeln angesteuert. Dabei gibt es einige Schaltungstricks, damit man nicht für jede LED einen einzelnen Ausgang hat. Soweit bist du ja wohl schon. Problem: Mit wachsender Größe und bei mehreren Farben braucht man sehr viele IOs. In dem Falle 8x8 mit 3 Farben auf jeden Fall mehr als der Uno hat. Eine Abhilfe könnten Porterweiterungs-ICs sein, wie schon in einer der ersten Antworten genannt. Will man aber auch noch die Helligkeit einstellen, braucht man IOs mit PWM, das wird dann komplizierter.

    Bei Streifen hängen alle LEDs an den selben Leitungen. In diesen LEDs befindet sich ein kleiner Chip, der Befehle liest und die entsprechende Farbe und Helligkeit einstellt. Die Daten für alle LEDs werden durch den Streifen "durchgeschoben". Eine Matrix bildet man daraus, in dem man die Streifen "faltet" und ggf. mehrere Untermatrizen zusammenbaut. Schau dir mal hier die Bilder an, da sollte das deutlich werden.
    https://learn.adafruit.com/adafruit-...matrix-library

    Vorteil: Weniger Leitungen und IOs.
    Nachteil 1: Zeitkritische schnelle Datenübertragung über die Datenleitungen. Dafür gibt es aber Bibliotheken.
    Nachteil 2: Bei größeren Matrizen kommen die 8-Bit Rechner an ihre Grenzen. Lösung: 32 Bit Bastelrechner, wie der erwähnte Teensy.
    Nachteil 3: Das "Schieben" dauert natürlich seine Zeit. Bei großen Matrizen werden bewegte Bilder langsam. Lösung: Viele (ggf. alle) Teilstreifen parallel beschreiben, großen schnellen Prozessor nehmen. (Das ist der Punkt, den Ceos anscheinend nicht bemerkt hat.)

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Das ist der Punkt, den Ceos anscheinend nicht bemerkt hat.
    Das ist exakt DER Punkt, weswegen ich pro Streifen nach einer Kostengünstigen Version zur Protokollübersetzung suche!
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Gut, das habe ich auch nicht verstanden.

    Aber, wenn du pro Streifen einen eigenen Controller hast, womit werden die dann alle mit Daten versorgt ?

    In dem Beaglebone link fährt ein Beagle bis zu 32 Datenleitungen. Mehrere Beagles werden dann über 100 MBit Ethernet gespeist. Sind ja gewisse Datenmengen ...

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    59
    Beiträge
    207
    Ich bin im Netz auf diese Schaltung gestoßen und würde gerne wissen, was ihr davon haltet? Brauchbar für mein Vorhaben oder lieber die Finger davon lassen?
    http://www.incrediblediy.com/2013/02...l-shifter.html
    Aber beachten, das Signal wird inventiert .... aus high wird low, aus low wird high

    - - - Aktualisiert - - -

    Aber beachten, das Signal wird invertiert.... aus high wird low, aus low wird high
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

Ähnliche Themen

  1. Antworten: 13
    Letzter Beitrag: 07.11.2015, 01:21
  2. Arduino LED Matrix
    Von Martorinho im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 11.01.2015, 21:21
  3. Arduino Mega Matrix
    Von oel im Forum Arduino -Plattform
    Antworten: 16
    Letzter Beitrag: 04.10.2014, 16:11
  4. 8X8 Matrix mit Arduino zum duchlaufen bringen
    Von PatrickHH im Forum Software, Algorithmen und KI
    Antworten: 4
    Letzter Beitrag: 12.07.2014, 07:36
  5. LED Matrix mit Arduino ansteuern?
    Von robots4-ever im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 01.03.2012, 07:56

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests