micropython stm三色灯按键按下一次换一个颜色代码
时间: 2024-12-22 17:16:24 浏览: 7
在MicroPython(针对STM32平台的轻量级Python实现)中,控制三色LED灯并实现按键单击切换颜色通常涉及硬件初始化、GPIO配置和事件监听。以下是一个简单的示例代码,假设我们有三个LED分别连接到R、G、B引脚,并且有一个按键连接到中断线:
```python
import machine
import time
# 初始化GPIO
led_r = machine.Pin(0, machine.Pin.OUT) # 红色LED
led_g = machine.Pin(1, machine.Pin.OUT) # 绿色LED
led_b = machine.Pin(2, machine.Pin.OUT) # 蓝色LED
button = machine.Pin(3, machine.Pin.IN, machine.Pin.PULL_UP) # 按键,上拉电阻
def set_color(color):
if color == "red":
led_r.on()
led_g.off()
led_b.off()
elif color == "green":
led_r.off()
led_g.on()
led_b.off()
else: # blue
led_r.off()
led_g.off()
led_b.on()
color_sequence = ["red", "green", "blue"] # 颜色循环顺序
while True:
if button.value() == 0: # 按键被按下
current_index = (color_sequence.index(current_color) + 1) % len(color_sequence)
set_color(color_sequence[current_index])
current_color = color_sequence[current_index]
time.sleep_ms(100) # 等待一段时间再改变颜色,防止频繁闪烁
```
在这个代码中,我们首先设置了LED和按键的Pin实例,然后定义了一个`set_color`函数用于设置LED的颜色。通过一个循环,当按键被按下时,它会改变当前颜色并暂停一会儿以形成平滑的切换效果。
阅读全文