Forum: Mikrocontroller und Digitale Elektronik Gibt es eine Funktion


von René (Gast)


Lesenswert?

Hallo,

habe ein Atmega 8515 Programmiert.
Und brauche für mein "Problem" einen Lösungsansatz.

ich habe z.B 3 Zahlenwerte und einen Masterwert
Beispiel
Z1 = 20
Z2 = 40
Z3 = 80

Masterwert z.B 20

Die Zahlenwerte werden durch den Masterwert Dividiert ergibt dann

Z1 = 1
Z2 = 2
Z3 = 4

ich möchte das aber gern Prozentual Lösen. Oder gibt es andere 
Lösungswege.
Der Hintergrund ist der ich habe einen RBG LED Scheinwerfer der die 
Farben halten soll wenn ich den Masterdimmer betätige. Es Verändern sich 
also die
helligkeit und die Farben es soll sich aber nur die Helligkeit ändern 
wenn ich den Master betätige. Angesteuert wird per 8 Bit Software PWM 
mit Konstantsromquelle. Programmiert in ASM

von Falk (Gast)


Lesenswert?

@ René

>Die Zahlenwerte werden durch den Masterwert Dividiert ergibt dann

>ich möchte das aber gern Prozentual Lösen. Oder gibt es andere
>Lösungswege.
>Der Hintergrund ist der ich habe einen RBG LED Scheinwerfer der die
>Farben halten soll wenn ich den Masterdimmer betätige. Es Verändern sich
>also die
>helligkeit und die Farben es soll sich aber nur die Helligkeit ändern
>wenn ich den Master betätige. Angesteuert wird per 8 Bit Software PWM

Auf gut deutsch, du willst die LEDs dimmen. Das macht man 
sinnvollerweise mit Multiplikation.

Master = 0 -> 0%
Master = 255 -> 100%

Dann rechnest du einfach Farbe * Master (8x8 Bit Multiplikation) und 
dein Ergebnis ist im höherwertigen Byte. Damit steuerst du deine PWM.

MfG
Falk


von Matthias (Gast)


Lesenswert?

Genau. Oder, je nach Hardware, ist es möglich, unabhängig von diesem RGB 
Wert die kompletten Ausgänge zu dimmen. Mittels PWM am ENable Pin oder 
eine Group-dimming_register oder sowas...

von Karl H. (kbuchegg)


Lesenswert?

> Der Hintergrund ist der ich habe einen RBG LED Scheinwerfer der die
> Farben halten soll wenn ich den Masterdimmer betätige. Es Verändern
> sich also die helligkeit und die Farben es soll sich aber nur die
> Helligkeit ändern wenn ich den Master betätige.

Das wird aber nichts, solange du das in RGB rechnest.

RGB nach HLS umrechnen.
Im HLS Farbraum dann die Lightness 'dimmen'.
Von HLS zurückrechnen nach RGB

von René (Gast)


Lesenswert?

HLS Farbraum mit AVR Berechnen ist das möglich?
Gibt es das vielleicht schon Quelltext beispiele?
Interresant

von fabs (Gast)


Lesenswert?

Für den HSV Farbraum gibts was unter Codesammlung... schau mal da.

Gruß
Fabian

von S. H. (fat32)


Lesenswert?

es gibt sogar viele funktionen!
Und was gibt es noch? Richtig! Fragezeichen. An die hast du beim 
Erstellen des Threads wohl nicht gedacht.

von Rene (Gast)


Lesenswert?

@ Simon

Wirklich sehr kostruktiv aber solche "Querschläger" muß es ja immer 
wieder geben.

@Karl Heinz
Danke hat mir geholfen

von Martin (Gast)


Lesenswert?

> es gibt sogar viele funktionen!
> Und was gibt es noch? Richtig! Fragezeichen. An die hast du beim
> Erstellen des Threads wohl nicht gedacht.

Der ist gut, ich lach mich geeade kaputt. Wenn man mal alle 7 oder 8 
Threads der letzten durchliest, weiss man, das Simon noch nicht einmal 
eine der vielen Funktionen verstanden hat.

von Karl H. (kbuchegg)


Lesenswert?

Rene wrote:
> @ Simon
>
> Wirklich sehr kostruktiv aber solche "Querschläger" muß es ja immer
> wieder geben.
>
> @Karl Heinz
> Danke hat mir geholfen

Ja. Hast du's hingekriegt?
Ich wollte eigentlich aus meinem Fundus eine HLS/RGB/HLS
Umrechnung posten. Da die aber auf meinem Privatrechner
rumlungert den ich nicht im Büro habe, musste ich auf abends
verschieben und da hab ich dann nicht mehr dran gedacht.


von Hebamme (Gast)


Lesenswert?

@ Simon Hat einen (K)nick (fat32)

>es gibt sogar viele funktionen!
>Und was gibt es noch? Richtig! Fragezeichen. An die hast du beim
>Erstellen des Threads wohl nicht gedacht.

Selber keine Ahnung haben und anderen Löcher in Bauch fragen (siehe 
deinen Thread  www.mikrocontroller.net/topic/72338 , um nur einen zu 
nennen), aber dann wegen fehlender Satzzeichen motzen.

So einer wie Du hat in diesem Forum noch gefehlt.

von Rene (Gast)


Lesenswert?

@Karl Heinz

Hallo,

für jede Hilfestellung bin ich natürlich dankbar. Hab’s aus Zeitgründen 
leider noch nicht hingekriegt. Dein Hinweis hat mich aber auf die 
richtige Spur gebracht so denke ich. Codebeispiele habe ich hier im 
Forum gefunden aber alles in C und nicht in asm. Mein Programm beruht 
aber auf .asm
Deswegen meine "Blöde Frage".
Kann man C auch in Assembler einbinden?
Aber ich denke eine Umrechnung könnte man auch in asm machen.

von Karl H. (kbuchegg)


Lesenswert?

Ah. Asm.
Da hab ich leider auch nichts fertiges.

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.