[Bascom] Elegantere Lösung gesucht

Gast #2185602
Lesenswert?

Hallo Jungs, wie kann ich sowas "eleganter" lösen ?

Auszug aus meinem funktionierenden RGB Fader

Select Case Adc0
Case 0 To 60 :                                              '1
R = 0
G = 0
B = 255
Case 61 To 120 :                                            '2
R = 125
G = 0
B = 125
Case 121 To 180 :                                           '3
R = 255
G = 0
B = 0
Case 181 To 240 :                                           '4
R = 125
G = 125
B = 0
Case 241 To 300 :                                           '5
R = 0
G = 255
B = 0
Case 301 To 361 :                                           '6
R = 0
G = 125
B = 125
Case 362 To 420:                                            '7
R = 0
G = 0
B = 255
Case 421 To 480 :                                           '8
R = 125
G = 0
B = 125
Case 481 To 540 :                                           '9
R = 255
G = 0
B = 0
Case 541 To 620:                                            '10
R = 125
G = 125
B = 0
Case 621 To 680:                                            '11
R = 0
G = 255
B = 0
Case 681 To 740:                                            '12
R = 0
G = 0
B = 255
Case 741 To 820:                                            '13
R = 125
G = 0
B = 125
Case 821 To 940:                                            '14
R = 255
G = 0
B = 0
Case 941 To 1000:                                           '15
R = 125
G = 125
B = 0
Case 1001 To 1023:                                          '16
R = 0
G = 255
B = 0
End Select
Return
#2185658
Lesenswert?

@  Thomas Kiss (thomaskiss)

>Falk..smile...ist doch nur andere Schreibweise oder ?

Bitte? Vier Zeilen gegen eine Seite?

>Ich dachte an eine Tabelle, 2 Dimensional Array geht in Bascom nicht..

Das SIND drei Tabellen, eine für R, eine für G, eine für B. Muss man 
natürlich noch hinschreiben.

MFG
Falk
#2186146
Lesenswert?

Thomas Kiss schrieb:
> Hallo Jungs, wie kann ich sowas "eleganter" lösen ?
>
> Auszug aus meinem funktionierenden RGB Fader

Eigentlich hast du mit deinem Code auch keinen Fader, sondern eher einen 
"Stepper".

Wenn du die Übergänge weicher haben möchtest, solltest du dir für jeden 
Farbkanal die "Kurven" aufzeichnen und dann diese Werte direkt aus den 
ADC0-Werten berechnen. Das sollten dann pro Kanal nur zwei bis drei 
Zeilen Code sein ... (Stichworte: 16Bit-Addition, Bitschieben nach 
rechts (Division durch 2 hoch n))

Dann solltest du aber auch die Abstände gleich machen: Deine 
"60"-Schrittweite ist ja nur zuerst vorhanden, bei größeren Werten 
weichst du davon ab...

Gruß,
Thomas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren