下面进行树莓派板子的流水灯操作。

1、接线,确定GPIO口

我选择如下GPIO口 21、26、19、13和6五个接口(BCM编码):

最好每个都测试一下,用上一篇博客点亮LED的代码,修改一下pin即可运行测试。

2、接下来就是写流水灯的代码

	import RPi.GPIO as GPIO
	import sys
	import time

	class Led():
	    def __init__(self):
	        self.led_pin = [21,26,19,13,6]
	        GPIO.setmode(GPIO.BCM);
	        GPIO.setwarnings(False)
	        for i in self.led_pin:
	            GPIO.setup(i,GPIO.OUT)
	            GPIO.output(i,GPIO.LOW)
	
	    def on(self,status):
	        GPIO.output(status,GPIO.HIGH)
	
	    def off(self,status):
	        GPIO.output(status,GPIO.LOW)
	
	    def flow(self):
	        while(1):
	            for i in self.led_pin:
	                self.on(i)
	                time.sleep(0.3)
	                self.off(i)
	
	    def off_all(self):
	        for i in self.led_pin:
	            self.off(i)

	def main(status):
   	 	led = Led()
    	if status == 'on':
        	led.flow()
   		elif status == 'off':
        	led.off_all()

	if __name__ == '__main__':
    	main(sys.argv[1])

代码 主要是flow()这个方法来实现流水灯,然后off_all()方法是让led全部关闭。

3. 运行

输入python命令来编译运行python代码。

python led.py on
python led.py off