Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Geschrieben

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?

Geschrieben

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, 8) 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].

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.