8xRGB

4 mal 2x2 Button Pads (16 RGB LEDs)

Jedes ButtonPad hat 4 Grounds und 1xR 1xG 1xB (die Switches mal aussen vorgelassen)

4x4 Grounds = 16
4x3 RGB = 12
Was ist daran falsch?

Um die Farben pro Knopf zu steuern, muss ich sowohl die einzelnen Grounds wie auch die Farben kontrollieren können, da sonst alle 4 Knöpfe gleichzeitig in einer Farbe leuchten.

Die Grounds kannst du alle zusammenlegen.

Du steuerst ja nur den Fluss durch die Led, was bedeutet dass du nur die Farbe beschaltest. Wenn keine der drei Farbkanäle an ist, ist die LED aus.

Also brauchst du pro Button Pad einen TLC (16ch)

Beim TLC benötigt man dann allerdings common anode RGB Leds !

Ich bin ehrlich gesagt nun noch verwirrter als zu Begin.

Ich habe mal ein Bild gemacht, was zeigt wie ich das ganze verkabelt habe.

Wie ich alle LEDs an einen Ground packen kann und dann trozdem noch jedes LED einzeln ansteuern kann ist mir ein Rätsel.

Wenn es die Schaltung vereinfacht, verzichte ich auch auf PWM Modulation. Ich will einfach satte und stark leuchtende Farben und
jedes LED einzeln ansteuern können. So das mehrfarbige Animationen möglich sind.
Wie ich verstanden habe fahre ich dazu also Möglichst schnell die LEDs ab (so wie ein Kathodenstrahl im Röhremonitor) und setze die entsprechende Farbe.
Also leuchtet immer nur ein LED aber da das so schnell passiert sieht man das nicht. Ist das vom Verständnis her richtig?

Oh, vergiss was ich gesagt habe, so macht das ganze was ich vorgeschlagen habe natürlich keinen Sinn.

Sorry wenn ich Verwirrung gestiftet habe :wink:

Keine Ursache. :slight_smile:

Das nächstemal kommt das Bild als Erstes! :smiley:

Kann ich die Wiederstände wegnehmen damit es heller wird, wenn ich schnell genug durch die LEDs gehe? Oder gehn die dann trotzdem gleich kaputt?
Im Moment leuchten die LEDs wirklich sehr wenig.

Mit Rot, Grün und Blau legst Du fest welche Farbe die Leuchtdiode haben soll welche Du erhellen willst.

Danach wählst Du über den entsprechenden Ground die entsprechende Led aus.

Von der Funktion her offensichtlich eine 16X1 Led-Matrix.

Vermute mal das Du die Leds 50X16 mal in der Sekunde abklappern musst !

Man könnte mit jeweils einem 74HC595 einen ULN2803 und damit jeweils 8 Grounds steuern. Dann müsste auch die Helligkeit entsprechend stark sein.

Ach ja, man betreibt eine Led grundsätzlich niemals ohne Vorwiderstand.

Wenn immer nur eine Led leuchtet dann Grün und Blau jeweils 100Ohm und Rot 150Ohm. Für jeweils 5V Maximum beim PWM-Signal.

Uploaded with ImageShack.us

Das 2X2 Button Pad habe ich durch eine RGB-Led (mit gemeinsamer Kathode) dargestellt !

Die 16 Grounds der Schalter sind hierbei allerdings noch nicht berrücksichtigt !

Cool! Ich danke dir.
Werde mich mal auf die Suche nach dem Chip begeben.

http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A21E;GROUPID=2921;ARTICLE=22085;START=0;SORT=artnr;OFFSET=16;SID=30TOwV338AAAIAAG-m90892538ad97e3dc2877a4a8a9ee4aa448c

Beim ULN2803 wird die Kathode der Leds mit den Ausgängen verbunden !
An den Eingängen des ULN2803 werden die Ausgänge des 74HC595 angeschlossen !

ULN2803 Datasheet:

Ich denke mal das dies eine Hilfe für die Abfrage der eigentlichen Keypad Matrix sein könnte.

The Matrix Keypad:
http://www.arduino.cc/playground/Main/KeypadTutorial

Matrix Keypad library:
http://www.arduino.cc/playground/Code/Keypad

Matrix Keypad Zip-File Download:
http://www.arduino.cc/playground/uploads/Code/Keypad.zip

Jupp, daran hab ich heute während der Arbeit auch rumgedacht. Steht noch auf der ToDo-Liste nach ein paar Interrupt Tutorials.

Danke für die Links!

Und der UNL Chip ist bestellt :slight_smile:

Mit der 4X4 Tasten Version deines Keypads könnte man ein 16 Tasten Senso-Spiel bauen ! Etwas schwieriger als die 4 Tasten Urversion.

MB Senso von 1978 in Aktion:

Ich würd nach wie vor ein Octinct draus bauen oder ein Arduinome :smiley:

Vermute mal das Du so etwas meinst ?

OcTinct running refmatrix:

Was macht das Ding eigentlich ?

Richtig.

MIDI Noten erzeugen.

Ist eines der fortschrittlichsten Musik-Controller die es zurzeit gibt.

Octinct ist quasi ein Arduinome / Monome Clone in RGB.

Sooo...

ULN Chip ist angekommen. Und ich bin am rumbasteln dabei ist mir folgendes aufgefallen:

Hier sieht man die obere Reihe. Es sind rote Buttons und der 5te ist blau.
Die ist wenn ich die Fabren mit digitalWrite ausgebe.

Und jetzt:

Das selbe Prog. hier die Farben aber mit analog Write ausgegeben.
Die ersten 4 Buttons sind noch rot. Die Buttons danach machen einen flackernden Farbverlauf von Pink zu Rot.

Hier noch mein Code:

int data  = 2; 
int clock = 3;
int latch = 4;
int blu =  9;
int grn =  10;
int red =  11;
void setup()
{
  pinMode(data,  OUTPUT);
  pinMode(clock, OUTPUT);  
  pinMode(latch, OUTPUT);
  pinMode(grn,   OUTPUT);
  pinMode(blu,   OUTPUT);  
  pinMode(red,   OUTPUT);
  digitalWrite(red, 0);
  digitalWrite(grn, 0);
  digitalWrite(blu, 0);
}

int i = 4;
int row1[] = {B00000001, B00000010, B00000100, B00001000, B00010000, B00100000, B01000000, B10000000};

void loop()            
{
  for(int a=0; a<8; ++a)
  {
    updateLEDs(a);
    if(a == i)
      anaRGB(0,0,255);    
    else
      anaRGB(255,0,0);
    delay(1);
  }
}

void rgb(boolean r, boolean g, boolean b)
{
  digitalWrite(red, r); digitalWrite(grn, g); digitalWrite(blu, b);
}

void anaRGB(byte r, byte g, byte b)
{
  analogWrite(red, r); analogWrite(grn, g); analogWrite(blu, b);
}

void updateLEDs(int idx)
{
  digitalWrite(latch, LOW);     //Pulls the chips latch low
  shiftOut(data, clock, MSBFIRST, row1[idx]);
  digitalWrite(latch, HIGH);   //Pulls the latch high displaying the data
}

Das Setup ist wie hier besprochen.

Mache ich etwas flasch im Code?
Ach und heller könnten sie immer noch sein. Ist absolut kein Vergleich zudem wie hell eine einzelne LED ist. Ich verstehe ja, dass die Helligkeit durch das durchrasen etwas abnimmt... aber ca. 50-60% ???

Welche Werte haben deine Widerstände für Rot, Grün und Blau ?

Zur zeit haben alle 560 Ohm. Den Wert hab ich von einem Anfänger Tutorial.

Hat das was mit dem verschmieren der Farben zu tun?

Bei den LEDs lag noch n Zettel bei:
COLOR............: RGB
BRIGHTNESS...: 2800mcd/6500mcd/1200mcd
VDrop.............: 2.0V/3.2V/3.2V
IMax...............: 20mA
Resistor Value.: 300Ohm/150Ohm/150Ohm

Zur zeit haben alle 560 Ohm. Den Wert hab ich von einem Anfänger Tutorial.

Ich würde es so machen wie es auf dem Zettel steht !

Resistor Value.: 300Ohm/150Ohm/150Ohm

Rot braucht den höchsten Widerstandswert sonst überstrahlt der Rotanteil alles !