www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gibt es eine Funktion


Autor: René (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: René (Gast)
Datum:

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

Autor: fabs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für den HSV Farbraum gibts was unter Codesammlung... schau mal da.

Gruß
Fabian

Autor: S. H. (fat32)
Datum:

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

Autor: Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Simon

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

@Karl Heinz
Danke hat mir geholfen

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.


Autor: Hebamme (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah. Asm.
Da hab ich leider auch nichts fertiges.

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.