Aus Flask ausbrechen
- __blackjack__
- User
- Beiträge: 13077
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@rehgum: Hat der Strip vielleicht gar keine 300 Pixel‽
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Na das will ich doch hoffen. Immerhin liegt hier ein LED Band mit 60 LEDs/m mit 5m länge
Wäre es möglich das ich 299 angeben muss weil die adressierung bei 0 beginnt? -> Nope
Aber wenn ich die 299 ansteuer leuchtet auch die letzte Diode auf dem Band
Wäre es möglich das ich 299 angeben muss weil die adressierung bei 0 beginnt? -> Nope
Aber wenn ich die 299 ansteuer leuchtet auch die letzte Diode auf dem Band
Oder sind die Parameter zur zur Initialisierung von Adafruit_NeoPixel falsch?
Oder, dass getPixels() gar nicht tut, was du denkst? Kannst du mal die Dokumentation dazu verlinken, aus der hervor geht, dass man darüber iterieren kann und dass das nach den Pixels stoppt?
Oder, dass getPixels() gar nicht tut, was du denkst? Kannst du mal die Dokumentation dazu verlinken, aus der hervor geht, dass man darüber iterieren kann und dass das nach den Pixels stoppt?
Hey, nein dieser Code stammt aus diesen Topic hier auf seite 1 :/
Ich hatte je irgendwie gehoft einfach in eine variable zu schreiben welche LEDs zuletzt geschreiben wurden.
z.B LED_BLAU_ALT und dann wenn die neue LED ausgeworfen wird prüfen ob LED_BLAU_ALT is LED.
Aber ich kann die LED_BLAU_ALT nicht schreiben weil das Script bemängelt das den wert abfrage ehe ich ihn schreibe :/
Ich hatte je irgendwie gehoft einfach in eine variable zu schreiben welche LEDs zuletzt geschreiben wurden.
z.B LED_BLAU_ALT und dann wenn die neue LED ausgeworfen wird prüfen ob LED_BLAU_ALT is LED.
Aber ich kann die LED_BLAU_ALT nicht schreiben weil das Script bemängelt das den wert abfrage ehe ich ihn schreibe :/
Also ich lese nicht aus der Dokumentation, dass das so geht.
Ich finde aber auch keine Dokumentation für die Python Bibliothek. Daher abgeleitet von der original Dokumentation und die Existenz von getPixelColorRGB ist geraten.
Ggf. musst du mal schauen, ob getPixelCokorRGB existiert und was dessen Rückgabe ist.
Ich finde aber auch keine Dokumentation für die Python Bibliothek. Daher abgeleitet von der original Dokumentation und die Existenz von getPixelColorRGB ist geraten.
Code: Alles auswählen
def clear_color(strip, red, green, blue):
color_to_clear = Color(red, green, blue)
for index in range(strip.numPixels()):
color = strip.getPixelColorRGB(index)
if color_to_clear == color:
strip.setPixelColorRGB(index, 0, 0, 0)
Hey, also folgende erkenntniss:
clear_color auszuführen bewirkt aber nichts (auch nicht nach strip.show())
Code: Alles auswählen
>>> def clear_color(strip, red, green, blue):
... color_to_clear = Color(red, green, blue)
... for index in range(strip.numPixels()):
... color = strip.getPixelColorRGB(index)
... if color_to_clear == color:
... strip.setPixelColorRGB(index, 0, 0, 0)
...
>>> clear_color(strip, 255, 0, 0)
>>> clear_color(strip, 0, 0, 255)
>>> strip.getPixelColorRGB(299)
<function PixelStrip.getPixelColorRGB.<locals>.<lambda> at 0xb65fda48>
>>> range(strip.numPixels())
range(0, 300)
>>> print(index)
299
Na, du musst schon herausfinden, was genau .getPixelColorRGB() zurück gibt. Sonst wirst du deine vorher definierte Farbe damit gar nicht vergleichen können.
Die Dokumentation hast du leider noch immer nicht verlinkt. Alternativ gibt es natürlich immer die Möglichkeit in den Quelltext zu schauen oder im interaktiven Interpreter ein help() zu verwenden, in der Hoffnung, dass die Entwickler die Funktion dokumentiert haben.
Die Dokumentation hast du leider noch immer nicht verlinkt. Alternativ gibt es natürlich immer die Möglichkeit in den Quelltext zu schauen oder im interaktiven Interpreter ein help() zu verwenden, in der Hoffnung, dass die Entwickler die Funktion dokumentiert haben.
Mehr als das hab ich auch nicht:
https://github.com/richardghirst/rpi_ws281x
Und was
zurückgibt hab ich doch eben gepostet:
Nochmal als print:
oder meinst du etwas anderes?
Danke für deine Hilfe, auch wenn ich mich etwas dumm anstelle.
https://github.com/richardghirst/rpi_ws281x
Und was
Code: Alles auswählen
>>> strip.getPixelColorRGB(299)
Code: Alles auswählen
<function PixelStrip.getPixelColorRGB.<locals>.<lambda> at 0xb65fda48>
Code: Alles auswählen
>>> info = strip.getPixelColorRGB(299)
>>> print(info)
<function PixelStrip.getPixelColorRGB.<locals>.<lambda> at 0xb66c8a48>
Danke für deine Hilfe, auch wenn ich mich etwas dumm anstelle.
Code: Alles auswählen
>>> def get_neopixel(index):
... '''
... Get the RGB value of a single pixel
... '''
... pixel = strip.getPixelColorRGB(index)
... return (int(pixel.r), int(pixel.g), int(pixel.b))
...
>>> get_neopixel(1)
(0, 0, 0)
>>> get_neopixel(11)
(255, 0, 0)
>>>
Bekommen wir es damit hin?
Also ist tatsächlich so das die Nr. 1 aus ist und die Nr. 11 rot leuchtet. Alsod die Rückgabe stimmt
Ohne es zu zerlegen sieht die Rückgabe so aus:
Code: Alles auswählen
>>> print (pixel)
<function PixelStrip.getPixelColorRGB.<locals>.<lambda> at 0xb66c8a48>
Ich bin etwas verwundert, weil in dem von dir verlinkten Projekt zwar eine "setPixelColorRGB" Methode existiert, aber keine "getPixelColorRGB" Methode.
Ich kann das ohne Hardware nicht testen, aber ich würde es mal so probieren:
Ich kann das ohne Hardware nicht testen, aber ich würde es mal so probieren:
Code: Alles auswählen
def clear_color(strip, red, green, blue):
color_to_clear = Color(red, green, blue)
for index in range(strip.numPixels()):
color = strip.getPixelColor(index)
if color_to_clear == color:
strip.setPixelColorRGB(index, 0, 0, 0)
OMG! Das funktioniert.sparrow hat geschrieben: ↑Montag 14. März 2022, 12:37 Ich bin etwas verwundert, weil in dem von dir verlinkten Projekt zwar eine "setPixelColorRGB" Methode existiert, aber keine "getPixelColorRGB" Methode.
Ich kann das ohne Hardware nicht testen, aber ich würde es mal so probieren:
Code: Alles auswählen
def clear_color(strip, red, green, blue): color_to_clear = Color(red, green, blue) for index in range(strip.numPixels()): color = strip.getPixelColor(index) if color_to_clear == color: strip.setPixelColorRGB(index, 0, 0, 0)
Darf ich ich mich dafür bedanken? Keine Ahnung, ein Paket mit einen Raspberry, Versterkerbaustein und LED-Stripe zum selber testen?