derAngler Posted September 25, 2014 at 08:53 PM Share Posted September 25, 2014 at 08:53 PM Nabend, ich möchte gerne in python die Farbe der LED's auslesen. Soweit ich das sehe, geht das mit dem Befehl LEDStrip.get_rgb_values(index, length) Nur leider bekomme ich es einfach nicht auf die Reihe. Kann mir jemand, oder besser, könnte das TF-Team dazu nicht ein kleines Beispiel auf der Homepage veröffentlichen? Quote Link to comment Share on other sites More sharing options...
photron Posted September 26, 2014 at 08:05 AM Share Posted September 26, 2014 at 08:05 AM get_rgb_values ist richtig, das muss du jetzt nur wie set_rgb_values rückwärts verwenden. Hier ein kurzes Beispiel (ungetestet): # the number of LEDs to get the color for number_of_leds = ... all_r = [] all_g = [] all_b = [] # list of indices [0, 16, 32, ...] that are smaller than number_of_leds indices = range(0, number_of_leds, 16) for index in indices: # number of LEDs remaining, but not more than 16 length = min(number_of_leds - index, 16) r, g, b = led_strip.get_rgb_values(index, length) all_r += r[:length] all_g += g[:length] all_b += b[:length] Wie set_rgb_values arbeitet auch get_rgb_values auf 16er Blöcken. Die indices Liste beinhaltet alle Startindizes der 16er Blöcke bis zur angegebenen LED Anzahl (number_of_leds). In der Schleife werden die Blöcke dann abgefragt. Die Länge des Blocks wird jeweils berechnet. Für alle Blöcke außer dem Letzten ist die Länge 16, da für diese number_of_leds - index > 16 ist. Für den letzten Block kann die Länge kürzer sein. Zum Beispiel: number_of_leds ist 40, dann ist indices [0, 16, 32] und es wird get_rgb_values(0, 16), get_rgb_values(16, 16) und get_rgb_values(32, aufgerufen. 8 daher weil number_of_leds - index in diesem Fall 40 - 32 = 8 ist, also kleiner 16. Da get_rgb_values aber immer 3 Listen der Länge 16 zurück gibt müssen beim letzten Aufruf diese Listen gekürzt werden auf die wahre Länge, daher r[:length]. Quote Link to comment Share on other sites More sharing options...
derAngler Posted September 28, 2014 at 07:35 PM Author Share Posted September 28, 2014 at 07:35 PM Danke Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.