Forum: Mikrocontroller und Digitale Elektronik ReSpeaker 4-mic HAT: APA102 LEDs Problem


von GestureJoe (Gast)


Lesenswert?

Hallo,

ich habe seit ein paar Tagen das ReSpeaker 4mic Array im Einsatz. Aber 
die darauf befindlichen 12 APA102 LEDs lassen sich nicht richtig 
ansteuern.
Es wurden schon sowohl die vom Seeed Wiki angebotene Library 
(https://github.com/respeaker/4mics_hat.git) als auch die von tinue 
(https://github.com/tinue/APA102_Pi) Library ausprobiert.

In einer for-Schleife will ich die 12 LEDS nacheinander einzeln grün 
bzw. blau aufleuchten lassen:
1
from APA102_Pi.driver import apa102
2
import RPi.GPIO as GPIO
3
from time import sleep
4
import sys
5
6
GPIO.setmode(GPIO.BCM)
7
GPIO.setup(5, GPIO.OUT)
8
GPIO.output(5, GPIO.HIGH)
9
10
color = 0x0000FF
11
12
leds = apa102.APA102(12)
13
leds.clear_strip()
14
sleep(0.5)
15
while(1):
16
    leds.clear_strip()
17
    sleep(2)
18
    try:
19
        for i in range(0,12):
20
            #leds.set_pixel_rgb(i, color, 100)
21
            leds.set_pixel(i, 0, 255, 0, 100)
22
            leds.show()
23
            print("LED {}".format(i))
24
            sleep(0.5)
25
            leds.clear_strip()
26
            sleep(0.5)
27
        #leds.show()
28
        #sleep(0.5)
29
        #leds.clear_strip()
30
        #sleep(0.5)
31
    except KeyboardInterrupt:
32
        sys.exit()

Mit der Farbe rot funktioniert das Ganze ohne Probleme.

Setze ich nun zunächst alle 12 LEDs in einer for-Schleife grün oder blau 
und rufe erst am Ende die show() Methode auf, leuchten alle 12 LEDs zwar 
auf, aber beim Aufruf von clear_strip() gehen alle LEDs aus bis auf LED 
0 und LED 1.
[...]
1
for i in range(0,12):
2
            leds.set_pixel_rgb(i, color, 100)
3
      
4
        leds.show()
5
        sleep(0.5)
6
        leds.clear_strip()
7
        sleep(0.5)
8
    except KeyboardInterrupt:
9
        sys.exit()


Hat jemand dasselbe Problem schon gehabt oder jemand eine Idee? Ich 
vermute, dass entweder was mit der Methode clear_strip() nicht ganz 
stimmt, der __init() oder dem SPI-Timing?

Vielen Dank für jeden Hinweis!


Gruß

von GestureJoe (Gast)


Lesenswert?

GestureJoe schrieb:
Habe vergessen, auf welcher Plattform:

Raspberry Pi 3 Model B
cat /etc/os-release liefert:
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

GestureJoe schrieb:
> for i in range(0,12):

 Hast du 13 LEDs ?

 Sollte das nicht von 0 bis 11 gehen?

: Bearbeitet durch User
von GestureJoe (Gast)


Lesenswert?

Ne, das passt so. Solange i < 12, läuft die for-Schleife.

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
Noch kein Account? Hier anmelden.