MicroPython Lights

Die Ansteuerung der WS2812B-RGB-LED-Scheinwerfer-Module wird mit diesem Script übernommen. Dabei stehen hier die Funktionen lights(x) für das Abblendlicht, highBeam(x) für das Fernlicht, breakLight(x) für das Bremslicht, reverseLight(x) für das Rückfahrlicht und indicator(y) für den Blinker zur Verfügung. Dabei kann X die Werte 0 und 1 (Aus & An) übernehmen. Y, also die Funktion der Blinker, kann die Werte 0, 1, 2 und 3 übernehmen (Aus, Links, Rechts, Warnblinker).

from microbit import *
import neopixel
from utime import ticks_ms, ticks_diff


np = neopixel.NeoPixel(pin0, 8)
headlights = (0, 3)
backlights = (5, 6)
led_white = (60, 60, 60)
led_red = (60, 0, 0)
led_off = (0, 0, 0)
led_red_br = (255, 0, 0)
led_orange = (100, 35, 0)
indicator_left = (1, 4)
indicator_right = (2, 7)
indicator_warning = (1, 2, 4, 7)


def lightsON():
    for x in headlights:
        np[x] = led_white
    for x in backlights:
        np[x] = led_red
    np.show()

def lightsOFF():
    for x in headlights:
        np[x] = led_off
    for x in backlights:
        np[x] = led_off
    np.show()

def lightsBreakON():
    temp = np[backlights[1]]
    for x in backlights:
        np[x] = led_red_br
    np.show()
    return (temp)

def lightsBreakOFF():
    for x in backlights:
        np[x] = led_off
    np.show()

def lightsBackON():
    temp = np[backlights[0]]
    np[backlights[0]] = led_white
    np.show()
    return (temp)

def lightsBackOFF():
    np[backlights[0]] = led_off
    np.show()

def lightsIndicator(direction, last_ind_act):
    if ticks_diff(ticks_ms(), last_ind_act) >= 400 and np[direction[0]] == led_off:
        for x in direction:
            np[x] = led_orange
        np.show()
        return ticks_ms()
    elif ticks_diff(ticks_ms(), last_ind_act) >= 400 and np[direction[0]] == led_orange:
        for x in direction:
            np[x] = led_off
        np.show()
        return ticks_ms()
    else:
        return last_ind_act

while True:
    #Anwendungsbeispiel
    lightsON()  #Licht ein
    sleep(1000)
    lightsBreakON()  #Bremslicht ein
    sleep(1000)
    lightsBreakOFF()  #Bremslicht aus
    sleep(1000)
    lightsBackON()  #Rückfahrscheinwerfer an
    sleep(1000)
    lightsBackOFF()  #Rückfahrscheinwerfer aus
    sleep(1000)
    lightsOFF()  #Licht aus
    sleep(1000)

Achtung!

Ihr Webbrowser ist veraltet. Wechseln Sie jetzt zu einem aktuellen Browser für mehr Sicherheit, Geschwindigkeit und den besten Komfort auf dieser Seite.