www.mikrocontroller.net

Forum: Compiler & IDEs Farbspektrum druchlaufen


Autor: Christian Heigele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich habe drei LEDs und möchte damit das Farbspektrum durchlaufen.
Als Idee damit alle Kombinationen zu bekommen hatte ich drei cos
Funktionen jeweils um eine drittel Phase verschoben zu machen.
Also hab ich das:
wert1 = cos(i*2*3.14/256)*256;

i ist meine Schleifenvariable, dann mal 2pi, und dann durch die anzhal
der schritte 256.
Dann noch mal 256 was die maximale Helligkeit meines PWM (danke Dirk es
läuft) ist.
#grs

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das jetzt eine Frage?

Autor: Christian Heigele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja weil dasmit dem Cosinus nicht optimal ist.
Glaube ich jedenfalls.
#grs

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ja weil dasmit dem Cosinus nicht optimal ist.
> Glaube ich jedenfalls.
Und wo ist nun deine Frage?


Suchst du ein gutes Buch zum Thema?
Suchst du jemanden, der dir eine bessere Lösung programmiert?
Suchst du ein fertiges Programm, das die gewünschte Funktion aufweist?


Tipp: http://www.lugbz.org/documents/smart-questions_de.html

Autor: Christian Heigele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich suche eine effizientere Methode als meine, oder eine bestätigung
dass dies ganz gut ist.
#grs

Autor: Christian Heigele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Problem bei dier Lösung, die ansonsten ganz gut tut, ist, dass die
LEDs jedesmal wenn sie ganz hell sind, einmal blinken. Das stört ein
bisschen.
Und for(i=0, i>0, i++) hab ich mich noch nich getraut weil ich nich
weiss was da passiert.
wie kann man dieses Blitzen vermeiden?
#grs

Autor: Christian Heigele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei for(i=0, i>=0, i++) tritt das blitzen auch auf.
heul
#grs

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

das Problem mit dem Blitzen liegt darin das du meinen Code immer noch
nicht kapiert hast. (Low aktiv die Leds)

Naja eine positive Sache zu hast den Atmel nicht tot gefused.

Deine For Schleife zeigt leider auch das du den C Syntax noch nicht
verstehst. Bitte fange nicht mit so einem schweren Projekt als Anfänger
an , sondern arbeite das Tutorial im Wikki durch. Bücher sind teuer aber
manchmal findet man Open Books.
http://www.pronix.de.speedpartner.de/modules/C/openbook/ dieses ist
eigentlich zum Einstieg nicht schlecht.

Eine Cos Funktion ist unnuetz und kostet einiges an Rechenzeit. Nutze
liebe eine Tabelle und durch fahre diese Tabelle mittels einem
Pointer.

In dieser Tabelle kannst du gleich die linearitaet angleichen.
Du schreibst leider nicht mit welchen LED's du es versuchst, aber
erwarte von 5mm oder 3mm Led's nicht viel. Ich hab insgesamt 9
Lumileds je 1 W aufgebaut und geregelt.  Ich hatte fuer die Lumiled's
extra RGB Optiken gekauft , aber der Hit war es noch nicht.

Falls es sich um Lumiled's handelt solltest du diese auch nicht
unbedingt ueber PWM dimmen , sondern lieber ein Schaltregler mit Sense
Eingang regeln.

Mfg
Dirk

Autor: Christian Heigele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, Dirk, das mit deinem Blitzen habe ich schon gelöst.
Und was sollte an der for schleife so schlecht sein?
#grs

Autor: Christian Heigele (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das >=0 sollte ja auch nur eine Lösung für das Blitzen sein.
#grs

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.