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
@ Thomas Kiss (thomaskiss)
>Hallo Jungs, wie kann ich sowas "eleganter" lösen ?
Etwa so.
ADC0= ADC0 / 60
R=R_data[ADC0]
G=G_data[ADC0]
B=B_data[ADC0]
MFG
Falk
Falk..smile...ist doch nur andere Schreibweise oder ? Ich dachte an eine Tabelle, 2 Dimensional Array geht in Bascom nicht..
@ 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
Ups..sorry... Nun mein Problem ist, ich habe nicht mal einen Ansatz wie die 3 Tabellen anlegen soll ..
Typisch BASCOM-Programmierer. Handbuch ist ein Fremdwort . . .
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.