按键控制流水灯左右移动代码
时间: 2024-10-14 11:07:41 浏览: 40
按键控制流水灯左右移动通常涉及到硬件电路连接和基本的程序逻辑。这里提供一个简单的Python示例,假设我们有两根LED灯连接到Arduino Uno板上,通过数字IO口控制,并使用按键A、B分别对应控制左移和右移。
```python
import RPi.GPIO as GPIO
import time
# 定义GPIO端口
led_pin_left = 18
led_pin_right = 23
button_a = 24
button_b = 25
# 初始化GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(led_pin_left, GPIO.OUT)
GPIO.setup(led_pin_right, GPIO.OUT)
GPIO.setup(button_a, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(button_b, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def light_move(direction):
if direction == 'left':
GPIO.output(led_pin_left, GPIO.HIGH)
GPIO.output(led_pin_right, GPIO.LOW)
elif direction == 'right':
GPIO.output(led_pin_left, GPIO.LOW)
GPIO.output(led_pin_right, GPIO.HIGH)
while True:
if not GPIO.input(button_a): # 如果按钮A按下
light_move('left')
time.sleep(0.5) # 灯移动一下
elif not GPIO.input(button_b): # 如果按钮B按下
light_move('right')
time.sleep(0.5) # 灯移动一下
else: # 都未按下,等待下一个指令
pass
# 结束时清理GPIO资源
GPIO.cleanup()
```
阅读全文