Forum: Mikrocontroller und Digitale Elektronik LED Streifen mit light_ws2812


von julius (Gast)


Lesenswert?

Hi,


bin dabei mir einen LED Streifen auszusuchen, gibt ja mittlerweile 
einige Libraris dafür.

Da das Timing ziemlich kritisch ist würde ich gerne Wissen wie weit man 
gehen kann mit den Farb Experimenten.

Das Library light_ws2812_AVR (unter anderem auch hier vorgestellt) sieht 
interessant aus.
Die Erklärung wie es funktioniert gibt es hier:
https://cpldcpu.wordpress.com/2014/01/14/light_ws2812-library-v2-0-part-i-understanding-the-ws2812/

In diesem Auszug:
1
After reset, each device reads the first 24 bit (GRB 8:8:8) of data into an internal buffer. All consecutive bits after the first 24 are forwarded to the next device go through internal data reshaping and are then forwarded via “Dout” to the next device. The internal buffer is written to the PWM controller during the next reset.


steht ja das die erste LED/chip sich die ersten 24bit nehmen und den 
Rest der Daten weiterleiten an die nächste LED.
Vermutlich muss man jedesmal wenn etwas geändert wird das gesamte Signal 
für alle LED's mit der kleien Änderung senden. ist das richtig?

Gibt es dadurch eine Längenbeschränkung des LED Streifens weil alle 
LED's von Zeitpunkt 0 an die Daten haben wollen und man irgendwann nur 
zu langsam senden kann?
Funktioniert ein 1m Streifen mit 60 LED's?

von Joachim B. (jar)


Lesenswert?

julius schrieb:
> Funktioniert ein 1m Streifen mit 60 LED's?

es funktioniert definitiv ein Streifen mit 293 LEDs aber in Stücken zu 
18 LEDs mit jedem Streifen eine eigene Stromeinspeisung.

Bei 60 LEDs mit nur 1-2 Einspeisungen kann es im Streifen eng werden, 
bei voller Helligkeit 60mA * 60 LEDs sind 3,6A aber sollte knapp gehen, 
besser mehr Einspeisepunkte wählen.

von Stefan S. (sschultewolter)


Lesenswert?

Sollte im Datenblatt zu den WS2812 alles zu finden sein. 60 Leds sind 
kein Problem. Die Leds funktionieren nach dem DaisyChain Prinzip. Die 
Leds geben, sobald ein neues Byte ankommt, das letzte Byte wieder 
heraus. Es wird solange alles weitergeschoben, bis einmal 50µs nichts 
weiteres kommt. Dann werden die Werte im IC übernommen.

Es muss jedes Mal alles geschickt werden. Das geht nicht anders. 
Vorallem müssen die Daten vor dem Senden bereits vorhanden sein (im 
struct), da Berechnungen während der Übertragung nicht gehen. Dann würde 
er das Timing nicht mehr einhalten können.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

julius schrieb:
> Gibt es dadurch eine Längenbeschränkung des LED Streifens weil alle
> LED's von Zeitpunkt 0 an die Daten haben wollen und man irgendwann nur
> zu langsam senden kann?

 Bei 800KHz braucht man 30us fur R-G-B (3Byt).
 Wenn du deine WS2812 mit 100Hz auffrischst, hast du 10ms, um alle
 Daten zu senden.
 Das ergibt gute 5m oder 300 LEDs - und falls du mit 50Hz zufrieden
 bist, sind es 10m oder 600 LEDs - mehr geht ja auch nicht, da 328p
 nur 2KB RAM hat.

von julius (Gast)


Lesenswert?

Danke für die schnellen Antworten

von Joachim B. (jar)


Lesenswert?

Marc V. schrieb:
> Bei 800KHz braucht man 30us fur R-G-B (3Byt).
>  Wenn du deine WS2812 mit 100Hz auffrischst, hast du 10ms, um alle
>  Daten zu senden.
>  Das ergibt gute 5m oder 300 LEDs

dann macht der Atmel aber nix anderes mehr 300LEDs a 30µs gibt 9ms und 
das 100 x pro  Sekunde bleibt kaum was übrig für anderes.

von Thomas E. (picalic)


Lesenswert?

Kann sich denn nicht mal einer erbarmen und eine ordentliche WS2812-Lib 
für AVRs schreiben, die nicht den ganzen Controller blockiert?

: Bearbeitet durch User
von Rainer U. (r-u)


Lesenswert?

Thomas E. schrieb:
> Kann sich denn nicht mal einer erbarmen und eine ordentliche
> WS2812-Lib
> für AVRs schreiben, die nicht den ganzen Controller blockiert?

Was bist Du denn für einer - Betriebswirt?

von dummy (Gast)


Lesenswert?

>Kann sich denn nicht mal einer erbarmen und eine ordentliche WS2812-Lib
>für AVRs schreiben, die nicht den ganzen Controller blockiert?

Kauf dir halt vernünftige Stripes.
Nimm LPD8806 oder APA102. Dann hast du fast 100% CPU frei.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Thomas E. schrieb:
> Kann sich denn nicht mal einer erbarmen und eine ordentliche WS2812-Lib
> für AVRs schreiben, die nicht den ganzen Controller blockiert?

Nimm einfach einen STM32 statt AVR. Da geht das per DMA und man hat 100% 
für andere Aufgaben frei. Die "ordentliche" Lib kann ich Dir auch direkt 
mitliefern. ;-)

von Thomas E. (picalic)


Lesenswert?

dummy schrieb:
> Kauf dir halt....
und

Frank M. schrieb:
> Nimm einfach einen...

Danke für die Ratschläge, aber nein, ich selbst brauche weder so eine 
Lib, noch bin ich aus der Suche nach einem geeigneten Controller! Das 
war nur so ein Gedanke aus der Beobachtung heraus, da das Thema ja immer 
mal wieder aufkommt!

von julius (Gast)


Lesenswert?

die ws28xx controller sind ja alle mit rgb leds und daraus ein schönes 
warm weiß zu produzieren soll wohl auch nicht so einfach sein.

kann das jemand bestätigen?

gibt es sowas wie den ws28xx für warm weiße stripes um die leds einzeln 
an/aus zu schalten?
finde nichts schlüssiges dazu.

der avr muss in meinem projekt nur die lichterkette und einen 
bewegungsmelder verarbeiten, das packt der schon.

von Joachim B. (jar)


Lesenswert?

julius schrieb:
> die ws28xx controller sind ja alle mit rgb leds und daraus ein schönes
> warm weiß zu produzieren soll wohl auch nicht so einfach sein.

sagt wer?

man muss doch "nur" weiss wählen und blau rausnehmen oder blau und grün

kann alles bestellt werden, aber wenn man 1-2 Farben runter dreht 
verschiebt es zu rot aber volle Helligkeit gibt es dann nicht mehr.

von bork (Gast)


Lesenswert?

Thomas E. schrieb:
> Danke für die Ratschläge, aber nein, ich selbst brauche weder so eine
> Lib, noch bin ich aus der Suche nach einem geeigneten Controller! Das
> war nur so ein Gedanke aus der Beobachtung heraus, da das Thema ja immer
> mal wieder aufkommt!

Und Du bist Dir sicher, dass das von Dir gewünschte überhaupt in einer 
sinnvollen Weise technisch möglich ist?

von Stefan S. (sschultewolter)


Lesenswert?

Wenn

Thomas E. schrieb:
> Kann sich denn nicht mal einer erbarmen und eine ordentliche
> WS2812-Lib
> für AVRs schreiben, die nicht den ganzen Controller blockiert?

Bei den AVRs mit nichten. Da wird nicht wirklich was anderes möglich 
sein, ausser Atmel würde jetzt AVRs mit einer deutlich höheren CLK auf 
dem Markt bringen. Faktor ~10 nach oben.

Wenn du Leds nutzen möchtest, die weitesgehend nicht den Controller 
blockieren, schau dir die WS2801 oder APA102 an.

von Joachim B. (jar)


Lesenswert?

Stefan S. schrieb:
> Bei den AVRs mit nichten. Da wird nicht wirklich was anderes möglich
> sein, ausser Atmel würde jetzt AVRs mit einer deutlich höheren CLK auf
> dem Markt bringen. Faktor ~10 nach oben.

warum?
Die Atmel machen bis 20(22)MHz
Der WS2812b kann nur 800kHz (ein Bit braucht 1,25µs) das sieht auf den 
ersten Blick mal wie ein riesiger Unterschied aus -> 25-facher Clock.

Ich denke an eine IRQ parallel ein Bit rausschickt, weiss aber gerade 
nicht wielange der Einsprung in die IRQ dauert und bis sie wieder 
rauskommt, bei 62,5ns pro Takt sollte es eigendlich möglich sein, 25 
Takte.

Aber OK selbst IRMP verbleibt 1-2 µs im IRQ, das ist etwas lang für eine 
Bitschieberei.

Ich glaube nun verstehe ich den Wunsch nach >=10-fachen Takt.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> Aber OK selbst IRMP verbleibt 1-2 µs im IRQ, das ist etwas lang für eine
> Bitschieberei.

Du könntest für die Zeit der WS2812-Übertragung speziell den 
IRMP-Timer-Interrupt abschalten. Dann stellt sich dieses Problem nicht 
mehr. Kann aber sein, dass man dann einen IR-Frame mal verpasst. Wie 
hoch dafür die Wahrscheinlichkeit ist, hängt von der Häufigkeit der 
WS2812-Übertragungen ab.

> Ich glaube nun verstehe ich den Wunsch nach >=10-fachen Takt.

Nimm einfach den richtigen µC. Ein STM32 ist einfach geil, da braucht 
man über solche Probleme erst gar nicht nachzudenken.

: Bearbeitet durch Moderator
von Markus M. (adrock)


Lesenswert?

Das Problem ist einfach das Protokoll der WS2812.

Es ist weder ein normales asynchrones Protokoll noch ein sychrones. 
Deswegen ist zum einen etwas Rechnerei in Software notwendig um die 
Daten aufzubereiten und zum anderen ist die Datenübertragungsrate so 
hoch, das mangels DMA oder ausreichend großem FIFO die Implementierung 
eigentlich nur "zu Fuß" möglich ist.

Mit DMA (XMega oder anderer Controller) ist das alles garkein Problem 
mehr.

Dafür sind eben die LEDs selbst sehr günstig. Da gebe ich lieber ein 
paar EURonen mehr für einen besseren Controller aus.

: Bearbeitet durch User
von temp (Gast)


Lesenswert?

An dieser Stelle hat ein AVR nichts mehr zu suchen. Ist jedenfalls meine 
Meinung. Hier haben die Cortexe mit DMA nun mal ihre Vorteile. 8 Kanäle 
parallel auzugeben schaffen die locker und die CPU hat 99,9..% frei. Da 
scheitert es dann auch nicht am RAM. Durch die Bitbandtechnik bei den 
Cortexen wird auch die Aufbereitung der Daten sehr einfach und schnell, 
da die sonst übliche Bitschieberei nicht nötig ist.

von Rainer U. (r-u)


Lesenswert?

Nur mal so - solange man die Anzeige nicht dauernd ändern will, hat der 
AVR zwischendurch auch nichts zu tun.. :-)

von Joachim B. (jar)


Lesenswert?

Frank M. schrieb:
> Nimm einfach den richtigen µC. Ein STM32 ist einfach geil, da braucht
> man über solche Probleme erst gar nicht nachzudenken.

Ich habe doch schon am Atmel und Arduino genug Probleme die ich so nach 
und nach in den Griff bekomme, da halse ich mir keinen anderen µC auf.

Rainer U. schrieb:
> Nur mal so - solange man die Anzeige nicht dauernd ändern will, hat der
> AVR zwischendurch auch nichts zu tun.. :-)

na ja für unsere wordclock (alt und neu) ist auch der AVR noch geeignet, 
das wird ja keine Videoausgabe, nur das ich bei der wordclock1 massig 
Zeit habe mit 119 LEDs zwischen 2 Aktualisierungen, IRMP läuft mit 15000 
IRQ, ein Counter zählt bis 10ms für meine Zeitbasis, alle 250ms wird das 
LCD refeshed und der ws Stripe refeshed, dauert rund 3,6ms stört also 
nicht.

Bei wc24h denke ich an 20ms Zeitbasis mit 9ms Ausgabe der 293 LEDs.

Die IRMP IRQ wurd aber trotzdem enabled, während er in der 10/20ms IRQ 
sich tummelt, das klappt schon, obwohl ich das mit dem ATOMIC noch nicht 
ganz verstanden habe.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Joachim B. schrieb:
> Marc V. schrieb:
>> Bei 800KHz braucht man 30us fur R-G-B (3Byt).
>>  Wenn du deine WS2812 mit 100Hz auffrischst, hast du 10ms, um alle
>>  Daten zu senden.
>>  Das ergibt gute 5m oder 300 LEDs
>
> dann macht der Atmel aber nix anderes mehr 300LEDs a 30µs gibt 9ms und
> das 100 x pro  Sekunde bleibt kaum was übrig für anderes.

 Hatten wir schon mal.
 Es geht auch parallel, also bis zu 8x schneller.
 Das ergibt 1.25ms fur 320 LEDs (8 Stripes a 40 LEDs), bleiben 8.75ms
 fur andere Aufgaben - ist dir das schnell genug ?
 Es geht hier nicht um HD-Video in Echtzeit, sondern um ganz normale
 LED-Ansteuerung mit 100-200 LEDs - nicht ubertreiben, bitte.

 Wir haben kurzlich eine Leuchtreklame mit 260 WS2812 gemacht, mit
 328p. Sequenzen werden von der SD-Card gelesen (3.5ms fur 2 Sectoren),
 7.8ms fur senden, sind 11ms, Refresh mit 30Hz, da langweilt sich der
 m328p ganze 22ms.
 Und fur 1.5 Euro pro Arduino, 0.7 Euro pro SD-Modul, nehme ich halt
 noch 3 oder 4 Arduinos mit SD-Modul, vernetze die und kann machen was
 ich will.

von Joachim B. (jar)


Lesenswert?

Marc V. schrieb:
> Hatten wir schon mal.
>  Es geht auch parallel, also bis zu 8x schneller.

nun ja bin immer offen für anderes, nur nutze ich eine alte fastLED LIB 
weil ich der nun meinen atmega 1284p beigebracht hatte und weil ich die 
Dimmfunktion und LED fading einigermassen im Griff habe, sowie den WA 
(weissabgleich), mit welcher LIB kann ich die Stripes auf mehr Ports 
aufteilen und parallel fahren? mit der fastLED so nicht.

Bei der Fastled würde es mir schon genügen wenn ich 2 Stripes einen 
kurzen mit 5 LEDs für Statusmeldungen schnell betreiben könnte, der 
lange mit 288 LEDs für die Minutenumschaltung kann sich Zeit lassen..

: Bearbeitet durch User
von Stefan K. (stefan64)


Lesenswert?

Marc V. schrieb:
> Das ergibt 1.25ms fur 320 LEDs (8 Stripes a 40 LEDs), bleiben 8.75ms
>  fur andere Aufgaben - ist dir das schnell genug ?

Je nach Aufgabe nicht.
Wenn die Daten z.B. seriell reinkommen - als Beispiel über DMX, dann 
muss der UART deutlich schneller bedient werden.
Als einziger Ausweg bleibt dann, zwischen den einzelnen Bitausgaben an 
den WS2812 den Status des UARTs abzufragen. Das geht, wird aber RICHTIG 
hässlich.

Dagegen kann ein STM32 sowohl die WS2812-Kette als auch den UART per DMA 
bedienen, und die CPU muß alle paar ms gerade mal ein paar Pointer 
aktualisieren.

Frank M. schrieb:
> Die "ordentliche" Lib kann ich Dir auch direkt
> mitliefern. ;-)

Hallo Frank, da habe ich starkes Interesse dran!

Gruß, Stefan

von Stefan K. (stefan64)


Lesenswert?

Hast Du schon einmal über einen Anschluß an die SPI-Schnittstelle 
gedacht? Es gibt den Ansatz, das Bitmuster über den MOSI-Pin auszugeben. 
Ein SPI-Datenbyte erzeugt dabei 2,7 WS2812-Datenbits. Dadurch ist das 
Timing wesentlich unkritischer.

Gruß, Stefan

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Stefan K. schrieb:
> Wenn die Daten z.B. seriell reinkommen - als Beispiel über DMX, dann
> muss der UART deutlich schneller bedient werden.
> Als einziger Ausweg bleibt dann, zwischen den einzelnen Bitausgaben an
> den WS2812 den Status des UARTs abzufragen. Das geht, wird aber RICHTIG
> hässlich.

 Hatten wir auch schon:
Marc V. schrieb:
> Mega328p hat in UCSR0A einen bit (RxC0), den kann man zwischendurch
>  mal gemutlich abfragen, anstatt mit ISR zu arbeiten, etwa so:
1
Byt2WS2812:
2
 ...                   ;*** DataPin fur WS2812 auf High, bit holen  (shift) 7 Takte
3
 ...                   ;*** DataPin entsprechend dem Bitwert setzen         7 Takte
4
 ...                   ;*** DataPin fur WS2812 wieder auf LOW  (PORT )      1 Takt
5
    lds   r16, UCSR0A  ;                                                    2
6
    dec  BitCnt        ;                                                    1
7
    brne Byt2WS2812    ;                                                    2
8
;=================================================================================
9
;                                                                          20 Takte
10
;*** R-G-B gesendet, jetzt wird UART abgefragt...
11
    lds   r17, UDR0         ; 2   /   2
12
    sbrs  r16, RXC0         ; 1   /   2
13
    rjmp  NoUart            ; 2
14
    st    X+, r17           ;         2
15
    ret
16
 NoUart:
17
    nop                     ; 1
18
    ret                     ;===========
19
                            ; 6   /   6 Takte
>  Das sind 6 Takte zusatzlich, bei 328p mit 16MHz brauchst du zwischen
>  16 und 24 Takte fur einen bit beim WS2812-Bitbanging (20 Takte +/- 4
>  Takte), da kann man sogar zwischen den einzelnen bits UART abfragen,
>  nur darf die Pause zwischen den einzelnen Bytes nicht langer als 10us
>  sein, ansonsten wird Reset ausgelost (WS2812 ist da zickig, nichts mit
>  50us wie im DaBla).
>  UART braucht beim 250Kb 40us pro Byt, WS2812 aber nur 30us fur R-G-B,
>  da konnen auch keine Bytes verloren gehen.

 Wenn man mit VGA (256 fest definierte Farben) arbeitet, kann es sogar
 mit DMX richtig schnell werden.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Stefan K. schrieb:
> Frank M. schrieb:
>> Die "ordentliche" Lib kann ich Dir auch direkt
>> mitliefern. ;-)
>
> Hallo Frank, da habe ich starkes Interesse dran!

Findest Du hier:

  https://www.mikrocontroller.net/articles/WordClock24h#STM32F4xx_Projekt

(siehe Download)

Darin enthalten sind Libs für

  - WS2812
  - DS18(S)20
  - MCURSES
  - IRMP
  - DS3231-RTC
  - I2C-EEPROM
  - UART
  - DCF77 (sehr rudimentär)
  - ESP8266-AT-Anbindung
    (noch nicht auf die letzte AT-Version aktualisiert)

Die Libs laufen auf STM32F4xx und STM32F10x, also z.B. auf den 
STM32F4xx-Nucleo Boards als auch auf dem STM32F103C8T6 
Mini-Development-Board, was man für ca. 4 EUR beim Chinesen bekommt.

Wenn Du Fragen dazu hast, einfach melden.

: Bearbeitet durch Moderator
von Stefan K. (stefan64)


Lesenswert?

Super, vielen Dank :-)

von Joachim B. (jar)


Lesenswert?

Marc V. schrieb:
> Hatten wir auch schon:
> Marc V. schrieb:

und wo?
ich finde es nicht und #4386679 ist ja kein Link ohne topic/xxx

von Stefan K. (stefan64)


Lesenswert?

Unter Download - Repo-Browser

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Joachim B. schrieb:
> Marc V. schrieb:
>> Hatten wir auch schon:
>> Marc V. schrieb:
>
> und wo?
> ich finde es nicht und #4386679 ist ja kein Link ohne topic/xxx

 Beitrag "UART-Zeichenempfang wenn ISR gesperrt ist, möglich?"

von Joachim B. (jar)


Lesenswert?

Marc V. schrieb:
> Beitrag "UART-Zeichenempfang wenn ISR gesperrt ist, möglich?"

das ist ja mal ein toller Link und so hilfreich

Byt2WS2812:
...                   ;*** DataPin fur WS2812 auf High, bit holen 
(shift) 7 Takte
...                   ;*** DataPin entsprechend dem Bitwert setzen 
7 Takte
...                   ;*** DataPin fur WS2812 wieder auf LOW  (PORT ) 
1 Tak

ich frag mich gerade warum mit NIX 15 Takte verballert werden

achso das war ja nur gedacht:

Marc V. schrieb:
> etwa so:

hast du nix konkreteres?

lds   r16, UCSR0A  ;                                                   2
   dec  BitCnt        ; 
1
   brne Byt2WS2812    ; 
2

mit dec(rement) BitCnt und brne(branch not equal) Byt2WS2812 könnte ich 
ja noch was anfangen wenn dein gesamter Code nicht so geheim wäre.

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Joachim B. schrieb:
> mit dec(rement) BitCnt und brne(branch not equal) Byt2WS2812 könnte ich
> ja noch was anfangen wenn dein gesamter Code nicht so geheim wäre.
 Glaube ich kaum, aber unwichtig.

> hast du nix konkreteres?
 Helfen tue ich umsonst, aber Programme werden verkauft.

Joachim B. schrieb:
> ich frag mich gerade warum mit NIX 15 Takte verballert werden
 Wenn du so etwas schreibst, dann weisst du erst mal gar nichts
 (oder sehr wenig) von Bitbanging.
 Also, benutze Arduino librarys, viele Leute tun es und es sind eine
 Menge gute Programme dabei herausgekommen.

 Oder schau mal hier:
 Beitrag "Re: ws2812 und andere zeitkritische Sachen"

von Joachim B. (jar)


Lesenswert?

Marc V. schrieb:
>> mit dec(rement) BitCnt und brne(branch not equal) ..könnte ich
>  Glaube ich kaum, aber unwichtig.

habe ich brne falsch verstanden?, kam mir noch so bekannt vor aus meiner 
6502, Z80, LH5803 Zeit

Marc V. schrieb:
> weisst du erst mal gar nichts
>  (oder sehr wenig) von Bitbanging.

das mag sein aber wenn ich Bitbanging richtig verstanden hatte so 
steuere ich einen DAC an, ein Bit, ein Clock und immer so weiter, ich 
weiss ja nicht was du darunter verstehst, ich gestehe aber ich bin kein 
Profiprogger.

Marc V. schrieb:
> Joachim B. schrieb:
>> ich frag mich gerade warum mit NIX 15 Takte verballert werden
>  Wenn du so etwas schreibst, dann weisst du erst mal gar nichts
>  (oder sehr wenig) von Bitbanging.

das schrieb ich weil da nix stand

Marc V. schrieb:
> Oder schau mal hier:
>  Beitrag "Re: ws2812 und andere zeitkritische Sachen"

Danke das sieht besser aus, wenngleich auch nicht für mich gleich 
verständlich, sieht aber für mich nach einem Haufen Arbeit aus.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Joachim B. schrieb:
> Danke das sieht besser aus, wenngleich auch nicht für mich gleich
> verständlich, sieht aber für mich nach einem Haufen Arbeit aus.

 Versuche ich dir doch die ganze Zeit zu sagen.
 Wenn du keinen guten Grund hast, lass es lieber sein, benutze die
 fertigen Libs, es ist keine Schande Arduino-Libs zu benutzen.

 Irgendwo und irgendwann habe ich mal einen Arduino-Sketch runter-
 geladen und auf einen Mini-Pro aufgespielt.
 Es handelt sich um Feuersimulation, Sketch habe ich schon lange
 nicht mehr und da ich nicht glaubte, daß ich irgendetwas besser
 machen kann, habe ich (außer der Matrixgröße) auch nichts verandert.
 Jeder, der diese Simulation sieht, ist einfach begeistert.

 Was ich sagen will, ist folgendes:

 Man soll nicht mit Gewalt irgendetwas verändern oder neu schreiben,
 nur um sagen zu können "das ist mein Werk".
 Es wird Situationen geben, da muss man ganz einfach etwas von Anfang
 an neu schreiben, aber das ist selten und man sollte es zuerst mit
 erprobten Lösungen versuchen.
 Experimentieren und Lernen ist natürlich etwas anderes.

von julius (Gast)


Lesenswert?

Danke für die Zahlreichen Antworten.

Hab jetzt erstmal einen 1m/60leds bei Ebay für 22€ bestellt, mal schauen 
wann der ankommt in der Weinachtszeit :)

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.