複数 LED の点灯、点滅テスト

白いLEDを7個、赤いLEDを4個、明るいLED(に見立てた白いLED)を1個、順に点灯させたので
コード覚え書きです

from machine import Pin
from time import sleep

SLEEP_TIME = 0.33
SLEEP_TIME_SHORT = 0.1

pinsWhite = (11, 10, 9, 8, 7, 6, 5)
LEDsWhite = [Pin(LED, Pin.OUT) for LED in pinsWhite]

pinsRed   = (12, 13, 14, 15)
LEDsRed   = [Pin(LED, Pin.OUT) for LED in pinsRed]

pinFlush  = 4
LEDFlush  = Pin(pinFlush, Pin.OUT)

while True:
    for LED in LEDsWhite: LED.on()
    sleep(SLEEP_TIME)
    for LED in LEDsWhite: LED.off()
    sleep(SLEEP_TIME_SHORT)

    for LED in LEDsRed: LED.on()
    sleep(SLEEP_TIME)
    for LED in LEDsRed: LED.off()
    sleep(SLEEP_TIME_SHORT)

    LEDFlush.on()
    sleep(SLEEP_TIME_SHORT)
    LEDFlush.off()
    sleep(SLEEP_TIME * 2.0)

点灯イメージ(点灯時間は少し変えています)

点灯の別パターン。シーケンシャルな感じ

from machine import Pin
from time import sleep

SLEEP_TIME = 0.1
SLEEP_TIME_SHORT = 0.05

pinsWhite = (11, 10, 9, 8, 7, 6, 5)
numWhite  = len(pinsWhite)
LEDsWhite = [Pin(LED, Pin.OUT) for LED in pinsWhite]
print("num white", numWhite)

pinsRed   = (12, 13, 14, 15)
numRed    = len(pinsRed)
LEDsRed   = [Pin(LED, Pin.OUT) for LED in pinsRed]
print("num red", numRed)

pinFlush  = 4
LEDFlush  = Pin(pinFlush, Pin.OUT)

#途中でリセットした場合のために、最初に全消灯
for LED in LEDsWhite: LED.off()
for LED in LEDsRed:   LED.off()
LEDFlush.off()
sleep(SLEEP_TIME)

while True:
    for i in range(numWhite):
        LEDsWhite[i].on()
        sleep(SLEEP_TIME)
    for i in range(numWhite):
        LEDsWhite[i].off()
        sleep(SLEEP_TIME)
    sleep(SLEEP_TIME_SHORT)

    for i in range(numRed):
        LEDsRed[i].on()
        sleep(SLEEP_TIME)
    for i in range(numRed):
        LEDsRed[i].off()
        sleep(SLEEP_TIME)
    sleep(SLEEP_TIME_SHORT)

    LEDFlush.on()
    sleep(SLEEP_TIME_SHORT)
    LEDFlush.off()
    sleep(SLEEP_TIME * 2.0)

コメント

タイトルとURLをコピーしました