Pages: 1 2 [3] 4 5   Go Down
Author Topic: 8xRGB  (Read 5546 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 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

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:
« Last Edit: November 25, 2010, 07:49:10 am by Megaionstorm » Logged

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

0
Offline Offline
God Member
*****
Karma: 1
Posts: 659
Arduino sucks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich würd nach wie vor ein Octinct draus bauen oder ein Arduinome smiley-grin
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

Vermute mal das Du so etwas meinst ?

OcTinct running refmatrix:


Was macht das Ding eigentlich ?
Logged

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

0
Offline Offline
God Member
*****
Karma: 1
Posts: 659
Arduino sucks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Richtig.

MIDI Noten erzeugen.

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

Octinct ist quasi ein Arduinome / Monome Clone in RGB.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
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% ???
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

Welche Werte haben deine Widerstände für Rot, Grün und Blau ?
« Last Edit: November 25, 2010, 04:46:15 pm by Megaionstorm » Logged

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

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
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
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 !
Logged

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

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Naja, es stand nicht dabei für welche Voltzahl. Deshalb hab ich da nix angepasst.
Werde ich gleich mal ändern. Danke!

Hast Du Antworten auf meine anderen Fragen? Weil irgendwie habe ich das Gefühl. Das dass Ganze irgendwie noch nicht so läuft wie es soll. Gerade das mit den verschlierenden Farben und der Helligkeit kann irgendwie nicht sein.
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

Ich werde mir deinen Code Morgen mal Zeile für Zeile durchlesen !
Logged

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

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay, danke dir!!!

 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

Um PWM benutzen zu können musst Du den analogWrite-Befehl benutzen.

http://www.arduino.cc/en/Tutorial/PWM

Gehe ich richtig in der Annahme das alle 8 Tasten Rot und Blau blinken sollen ?

B00000001 stellt die Bits eines Bytes dar also statt int row1 nun byte row1 benutzen.

Code:
byte row1[] = {B00000001, B00000010, B00000100, B00001000, B00010000, B00100000, B01000000, B10000000};

Code:
void updateLEDs(byte row, byte r, byte g, byte b)
{
  digitalWrite(latch, LOW);                   // Pulls the chips latch low
  shiftOut(data, clock, MSBFIRST, 0);         // Alle Leds aus
  digitalWrite(latch, HIGH);                  // Pulls the latch high displaying the data
  analogWrite(red, r);                        // Ändern der 3 Farbkannäle erst wenn Leds aus
  analogWrite(grn, g);  
  analogWrite(blu, b);
  digitalWrite(latch, LOW);                   // Pulls the chips latch low
  shiftOut(data, clock, MSBFIRST, row); // Festlegung der Led die leuchten soll
  digitalWrite(latch, HIGH);                  // Pulls the latch high displaying the data
}

Code:
void loop()
{
  for (int Zeit = 0; Zeit < 1000; Zeit += 1)
  {
    for(byte LMReihe = 0; LMReihe < 8; LMReihe += 1)
    {
      if(Zeit < 250)
        updateLEDs(row1[LMReihe], 0, 0, 255); // Blau
      else
        updateLEDs(row1[LMReihe], 255, 0, 0); // Rot
      delay(1);
    }
  }
}
« Last Edit: November 26, 2010, 05:43:05 am by Megaionstorm » Logged

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

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe die Anpassungen gemacht.
Leider flackert es immer noch übelst um das eigentliche LED.
Also jeweils das LED davor und danach leuchten(flackern) ebenfalls blau.

Bei Farbmischungen wie Orange und Cyan flackert so ziemlich alles in irgendwelchen Farben.

Ich habe deine Funktion kopiert und mal analogWrite mit digitalWrite ersetzt und da flackert gar nix. Das verhält sich so wie es sollte.
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

Funktionieren mit digitalWrite auch die Farbmischungen wie Orange oder Pink ?
Logged

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

Pages: 1 2 [3] 4 5   Go Up
Jump to: