raspberry实现跑马灯用例

使用跑马灯是学习树莓派的开始,下面的例子即为树莓派开发跑马灯的python代码用例。

import RPi.GPIO as GPIO
import time

WHITE = 5
YELLOW = 6
BLUE = 13
GREEN = 19
RED = 26

leds = [WHITE, YELLOW, BLUE, GREEN, RED]

ON = GPIO.HIGH
OFF = GPIO.LOW

def sleep(sec):
        time.sleep(sec)

def off_all():
        GPIO.output(leds, GPIO.LOW)

def on_all():
        GPIO.output(leds, GPIO.HIGH)

def light_crt(light, status, t):
        GPIO.output(light, status)
        sleep(t)

def do():
        light_crt(WHITE, ON, 0.5)
        light_crt(YELLOW, ON, 0.5)
        light_crt(BLUE, ON, 0.5)
        light_crt(GREEN, ON, 0.5)
        light_crt(RED, ON, 0.5)
        sleep(1)
        off_all()
        sleep(0.2)
        on_all()
        sleep(0.2)
        off_all()
        sleep(0.2)
        on_all()
        sleep(0.2)
        off_all()
        sleep(0.2)
        on_all()
        sleep(0.2)
        off_all()
        light_crt(WHITE, ON, 0.2)
        light_crt(WHITE, OFF, 0.2)
        light_crt(YELLOW, ON, 0.2)
        light_crt(YELLOW, OFF, 0.2)
        light_crt(BLUE, ON, 0.2)
        light_crt(BLUE, OFF, 0.2)
        light_crt(GREEN, ON, 0.2)
        light_crt(GREEN, OFF, 0.2)
        light_crt(RED, ON, 0.2)
        light_crt(RED, OFF, 0.2)
        sleep(0.5)
        light_crt(WHITE, ON, 0.2)
        light_crt(WHITE, OFF, 0.2)
        light_crt(YELLOW, ON, 0.2)
        light_crt(YELLOW, OFF, 0.2)
        light_crt(BLUE, ON, 0.2)
        light_crt(BLUE, OFF, 0.2)
        light_crt(GREEN, ON, 0.2)
        light_crt(GREEN, OFF, 0.2)
        light_crt(RED, ON, 0.2)
        light_crt(RED, OFF, 0.2)
        sleep(0.5)
        light_crt(WHITE, ON, 0.2)
        light_crt(WHITE, OFF, 0.2)
        light_crt(YELLOW, ON, 0.2)
        light_crt(YELLOW, OFF, 0.2)
        light_crt(BLUE, ON, 0.2)
        light_crt(BLUE, OFF, 0.2)
        light_crt(GREEN, ON, 0.2)
        light_crt(GREEN, OFF, 0.2)
        light_crt(RED, ON, 0.2)
        light_crt(RED, OFF, 0.2)

def main():
        times = int(input("input the times,please: "))
        sleep(1)
        i = 0 
        while i<times:
                do()
                i += 1

if __name__ == '__main__':
        GPIO.setmode(GPIO.BCM)
        GPIO.setup(leds,GPIO.OUT)
        main()
        GPIO.cleanup()
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐