Forum: Mikrocontroller und Digitale Elektronik Lösungsansatz in Bascom für PWM gesucht


von Bastler (Gast)


Lesenswert?

Hallo liebe Forengemeinde. Da ich bereits zahlreiche gute Tipps von Euch 
erhalten, möchte von Euch gerne wissen, wie ich mein nächstes Projekt 
angehen sollte.

Es geht um eine RGB Projekt . Ich möchte gerne die 3 Farben mit einem 
einzigen Poti "durchfahren", also die Farbe einstellen.

Mit Bascom kenne mich bereits ein bisschen aus, Profi bin ich noch lange 
nicht. Copy and Paste möchte ich aber auch nicht machen.

Also ( Schematische Programmbeschreibung )

Ich habe am ADC0 Eingang ein Poti

mit einem Atmega8 habe die 3 PWM Kanäle. Alles soweit kein Problem.

Eine Select Case Anwendung ist nicht das Optimale.

Ich brauche eine Logik die sagt :

Wenn ich am Poti drehe soll der PWM Wert Rot von 0 bis 255 sein, bei 
weiteren drehen Grün von 0 bis 255 dann weiter drehen am Poti Blau von 0 
bis 255 dann weiter, Rot von 255 bis 0, Grün von 255 bis 0 , Blau von 
255 bis 0

Also bei einem ADC Wert von 0 bis 1024 sollen die 3 Grundfarben eins 
nach dem anderen hoch bzw runter fahren.

Das hoch und runter zählen sollte aber nicht mit "Incr bzw. Decr" 
Befehlen sein, weil wenn ich den Poti "loslasse" sollte die eingestellte 
Farbe bleiben. ( RGB Fader , automatische habe bereits erfolgreich 
gemacht )

Also wie kann ich so was am besten ( In Bascom ) umsetzen ?

Vielen Dank für Eure Vorschläge im Voraus !

von Düsendieb (Gast)


Lesenswert?

Pseudocode:

Sollwert=ADC/1,3

Sollwert_blau=Sollwert
if sollwert_blau>255 sollwert_blau=0

Sollwert_rot=Sollwert-255
if sollwert_rot>512 oder sollwert_rot<0  sollwert_rot=0

Sollwert_grün=Sollwert-512
if sollwert_grün<0 sollwert_grün=0

von Bastler (Gast)


Lesenswert?

Der Ansatz suppa,

Logisch

ADC Bereich in 3 Teilen, Sollwerte zuweisen..

Easy...

Thnx

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.