Led Lauflicht dimmbar?

hi,

am einfachsten ist es, Du kaufst einen streifen mit 60 WS2812-leds bei ebay um 25€. die kannst Du dann einzeln abschneiden, anbringen wie Du es willst, mit 3 drähten verbinden und einzeln ansteuern. dazu brauchst Du einen pin des uno und ein 5V-netzteil (liegt immer irgendwo herum).

hier siehst Du auch, wo man dann die drähte anlötet, nachdem man sie auseinandergeschnitten hat:

http://www.ebay.de/itm/1m-60-RGB-LED-Strip-schwarz-mit-WS2812-5050-SMD-LEDs-WS2811-Controller-/350757135214?pt=Bauteile&hash=item51aac1236e

immer zwischen den 6 kontakten durchschneiden und dann von einem stück zum nächsten mit drei drähten verbinden, den anfang mit dem uno und fertig.

gruß stefan

ich glaub ich missverstehe dich gerade^^
meinst du mit einzeln ansteuern grad so als hätte ich einzelne leds oderm einst du einzeln wen nse zusammenhängend im streifen sind?

hi,

das ist egal.
wenn Dir der 1,66cm-abstand auf dem streifen recht ist, zerschneide ihn nicht. ich hab's aber so verstanden, als wolltest du mehrere reihen:

also hab grad angefangen meine reihen aufzubauen mit insgesamt 64 leds

wenn Du also zb. 8x8er reihen willst mit abstand 1,66cm, dann schneidest Du den streifen nach jeweils 8 leds auseinander und verbindest die teile durch jeweils 3 kabel, als wäre es noch ein stück.
den anfang des ganzen verbindest Du dann mit plus und minus des netzteiles, mit einem pin des arduino und minus des netzteiles mit einem minus-pin des arduino.
du kannst dann bei jeder led jede farbe einzeln in der helligkeit steuern (also 256 x 256 x 256 möglichkeiten für jede led).

leds[5].r = 255;           //sechste led (fängt mit 0 an), rot-wert 
leds[5].g = 40;            //grün
leds[5].b = 177;           //blau

wenn Du Dich dafür entscheidest, gib bescheid, dann wird geholfen beim programm.

gruß stefan

kann ich mit der variante die dan nauch noch als lauflicht ansteuern? das ist ja das primärziel^^
stell mir des sehr aufwendig zum coden vor wenn man das über die helligkeit steuert und das für alle 60 leds einzeln machen muss im code

Hallo,
die Programmierung der Variante mit WS2811 Controller ist mit der FastSPI_LED Library Google Code Archive - Long-term storage for Google Code Project Hosting. sehr einfach.
Ich war auch skeptisch und hatte mit erstmal einen Streifen mit 10 LEDs bestellt http://www.ebay.de/itm/330876638565?var=540148308177&ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
Ein Lauflicht kannst du mit einer einfachen for Schleife realisieren. Schau dir das Beispiele der Library an.
Als nächstes werde ich dann auf einen Meter gehen und wahrscheinlich ein 8x8 Matrix-Display aufbauen.

dann pack ich mal meine bad english skills aus :wink:
hast du des mit dem 10 er streifen dokumentiert? wenn ja kann ich da mal rein schaun? ^^
wekche effekte hast du bei den 10 er so eingebaut? ich will ja eig nur dass des grün auf und abdimmt und dass als lauflicht :wink: ob da so nen rgb streifen net zu viel is is die frage

Lept0pp:
ich glaub ich missverstehe dich gerade^^
meinst du mit einzeln ansteuern grad so als hätte ich einzelne leds oderm einst du einzeln wen nse zusammenhängend im streifen sind?

Einzeln heißt bei den WS2801/ WS2811 / WS2812 daß jede LED in 8 Bit je Farbe ansteuern kannst unabhängig von allen anderen. Die Daten werden an den ersten Controller gesendet und der sendet sie an den nächsten weiter ecc.
Das einzige Problem ist, daß jede LED 60mA verbraucht und bei 60 LED (1m Strip) man ein 5V-3,6A Netzteil braucht.
Die WS2812 sind SMD-RGB-LED mit eingebauten WS2811 und oft als WS2811 bezeichnet.

ok klingt gut, nur ich muss das ganze mit nem akku betreiben^^ aber danke schonmal für eure hilfe

nur ich muss das ganze mit nem akku betreiben

Also wieviele LEDs möchtest Du haben und wie lange sollte es mit einer Batterieladung funktionieren?
Grüße Uwe

Das einzige Problem ist, daß jede LED 60mA verbraucht und bei 60 LED (1m Strip) man ein 5V-3,6A Netzteil braucht.

Ja das stimmt, wenn alle LEDs gleichzeitig an sind.
Wenn du aber ein Lauflicht baust, wo immer nur gleichzeitig wenige, sagen wir 2-3 LEDs an sind und das in einer Farbe, dann brauchst du auch deutlich weniger Strom.
Prinzipiell brauchst du mit dem gleichen Muster exakt genauso viel Strom, wenn du die Kette mit einzelnen LEDs aufbaust, weil auch dann jede LED 20mA verbraucht.
Also, nicht die Zahl der LEDs bestimmt den Strom, sondern das Muster.

hast du des mit dem 10 er streifen dokumentiert? wenn ja kann ich da mal rein schaun?

Schau dir mal den Code von diesem Projekt http://funkboxing.com/wordpress/?p=1366 an, da sind alle möglichen Muster verwirklicht. Ich habe das Programm auch mit meinem 10er-Streifen benutzt.

Eine Farbe braucht 20mA. Alle 3 Farben (= weiß) an sind 60mA.
Da die LEDs mittels PWM gedimmt werden ist der Stom während der Ein-Zeit 20mA aber im mittel weniger da die LED auch ausgescheltet sind.
Grüße Uwe

also ich fasse zusammen:
mit solchen streifen könnt ich das mit nem arduino uno realisieren ja / nein?
willerstmal wissen was ich kaufen muss

was sagt ihr dazu ? ^^ Tiny13

Wenn dir 20 einfarbige LEDs reichen, dann hab ich hier mal ein kleines Programm für dich geschrieben, einfach an jeden Pin vom Arduino eine LED und ein Vorwiderstand (220 Ohm sind da immer gut) das Program drauf und feuer.
Es ist so geschrieben, dass immer in der Mitte eine LED an ist, die nächste an während die vorherige aus geht.

int led[20];

void setup()
{
  for(int i = 0; i < 20; i++)
  {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
    led[i] = 0;
  }
}

void leuchten(int a[20], int anz)
{
  for(int n = 0; n < anz; n++)
  {
    for(int j = 0; j < 20; j++)
    {
      for (int i = 0; i < a[j]; i++)
      {
        digitalWrite(j, HIGH);
        digitalWrite(j, LOW);
      }
    }
  }
}

void loop()
{
  for(int i = 0; i < 20; i++)
  {
    for(int j = 0; j < 251; j++)
    {
      led[i] = j;
      led[i - 2] = 250 - j;
      leuchten(led, 1);
    }
  }
  
  for(int i = 18; i < 20; i++)
  {
    for(int j = 250; j > -1; j--)
    {
      //led[i - 1] = 250 - j;
      led[i] = j;
      leuchten(led, 1);
    }
  }
}

LG Max

hei danke ich hatte bissher dieses beispiel:

/*
  14-Kanal-Lauflicht
  LEDs an den Ausgängen: Digital_0 bis Digital_13
  LED Strombegrenzung: R1 = 220 Ohm
   
  www.arduinospielwiese.de 
*/


int zeit = 100; //für delay

 
void setup() {               
  pinMode( 0, OUTPUT);
  pinMode( 1, OUTPUT);
  pinMode( 2, OUTPUT);
  pinMode( 3, OUTPUT);
  pinMode( 4, OUTPUT);
  pinMode( 5, OUTPUT);
  pinMode( 6, OUTPUT);
  pinMode( 7, OUTPUT);
  pinMode( 8, OUTPUT);
  pinMode( 9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
 
}


void loop() {
  digitalWrite( 0, HIGH); delay(100); 
  digitalWrite( 1, HIGH); delay(100); 
  digitalWrite( 2, HIGH); delay(100); digitalWrite( 0, LOW);
  digitalWrite( 3, HIGH); delay(100); digitalWrite( 1, LOW);
  digitalWrite( 4, HIGH); delay(100); digitalWrite( 2, LOW);
  digitalWrite( 5, HIGH); delay(100); digitalWrite( 3, LOW);
  digitalWrite( 6, HIGH); delay(100); digitalWrite( 4, LOW);
  digitalWrite( 7, HIGH); delay(100); digitalWrite( 5, LOW);
  digitalWrite( 8, HIGH); delay(100); digitalWrite( 6, LOW);
  digitalWrite( 9, HIGH); delay(100); digitalWrite( 7, LOW);
  digitalWrite(10, HIGH); delay(100); digitalWrite( 8, LOW);
  digitalWrite(11, HIGH); delay(100); digitalWrite( 9, LOW);
  digitalWrite(12, HIGH); delay(100); digitalWrite(10, LOW);
  digitalWrite(13, HIGH); delay(100); digitalWrite(11, LOW);
  digitalWrite(12, LOW);
  digitalWrite(13, LOW);

is einfach und man sieht dasses für anfänger ist^^

ich werde deins morgen oder am we mal testen. wenn ich jetzt ein arduino mega nehme und demzufolge theoretisch 64 leds nehmen könnte, wie müsste ich das dann an den analog eingängen machen mit dem code? oder setze ich das einfach fort?
was deinen code angeht, was muss ich alles austauschen wenn ich mehr leds habe?

Wenn du ein mega und somit mehr Ausgänge hast must du einfach die 20 in eine 64 umwandeln und die 18 in eine 62. Kann dann aber sein, dass es dann flackert, in diesem Fall einfach die 250 nen bisschen kleiner machen (150 oder noch nen bissel kleiner).
Ach und nur mal so zum Verständnis, die Analogpins können auch als Digitalpins verwendet werden. Die zählweise ist ganz einfach, A0 ist dann der nächste Digitalpin. Wenns also 13 Digitalpins gibt, ist A0 Digitalpin 14 usw.

LG Max

danke nochmal, wird morgen gleich getestet.
dein code tut am ende doch das selbe wie meiner seh ich das richtig?^^

Nein macht er nicht, deiner macht einfach eine LED nach der anderen an und dann wieder aus. Meiner lässt sie "langsam" heller werden und dann wieder "langsam" ausgehen.

LG Max

dachte das dimmen geht nur über pwm pins o0 naja wie gesagt ich teste es einfach mal

funzt super danke nochmal.
wie kann cih das ganze denn etwas schnelelr ablaufen lassen? also den glecihe neffekt nur dass die led reihe schneller abgeschritten wird.

du musst die 250 und die 251 etwas kleiner machen, musst du mal nen bissel rumprobieren. überhaupt ist das ne gute Idee um vorwärts zu kommen.

LG Max