Kleines MoodLight mit Timer&PWM

Gast #1468814
Habe um in das Thema Timer und PWM mal ein kleines C- Moodlicht 
geschrieben, mit Software PWM, das klein genug ist um auf einem TINY13 
zu laufen.

Die Realisierung ist natürlich hard gecodet, ohne viel Drumrum, mit 
Sinus wärs natürlich auch schön gewesen aber die math.h sprengt den 
Rahmen des Tiny.

Ich habe das Gefühl ich bin an einem Punkt an dem "alles klappt", aber 
jetzt würde ich gerne wissen ob das auch noch anders gegangen wäre, 
vielleicht eleganter.
(Das Beispiel mit hsv_to_rgb kenne ich schon ..)



Wäre lieb wenn ihr euch die Zeit nehmt. Alle Kritik und Tipps sind 
herzlich erwünscht.
 Danke
Angehängte Dateien:
Gast #1469362
Vielleicht irre ich mich ja auch, aber deine PWM ist nicht 60 bit breit. 
Der PWM-Wert reicht von 0 bis 59, das sind nicht mal ganz 6 Bit.

Ich nehme mal an, dass gerade die dunklen Schritte stark auffallen, 
oder? Darum ist bei sowas eine echte 16 bit PWM ganz sinnvoll. Da kann 
man dann die dunklen Schritte etwas feiner machen, die im hellen Bereich 
dann logarithmisch ansteigen lassen. Mit einer Lookup-table braucht man 
da auch keine mathe-bibliothek.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.