物联网开发笔记(5)- 使用Wokwi仿真树莓派Pico实现LED灯交替闪烁(续)
大家好,我们再来研究一下,LED交替闪烁。在前面的文章:笔记(2)我们已经实现了。这次我们换一种实现方法。
一、目的
实现两个LED连接到Pico,LED间隔500ms交互闪烁
二、硬件连接
LED分别连接到树莓派的Pico的GP7和GP8,通过限流电阻470欧姆电阻
三、项目分享地址
实现方法一:
Wokwi Arduino and ESP32 Simulatorhttps://wokwi.com/projects/341563215336964690实现方法二:
Wokwi Arduino and ESP32 Simulatorhttps://wokwi.com/projects/341563215336964690
四、代码分析
定义两个LED灯,通过两个GPIO控制,这里选择GPIO6和7。也可以选择其他GPIO口。
main.py (方法一的代码,此处通过简单设置LED灯的状态来实现)
# 这个例子是实现定时器
from machine import Pin
import utime
purple_LED = Pin(6, Pin.OUT) # 紫色LED,端口6
white_LED = Pin(7, Pin.OUT) # 白色LED,端口7
while True:
purple_LED.value(1) # 紫色LED亮
white_LED.value(0) # 白色LED熄灭
utime.sleep(1)
purple_LED.value(0) # 紫色LED熄灭
white_LED.value(1) # 白色LED亮
utime.sleep(1)
main.py (方法二的代码,此处通过设置flag的值来切换,设立flag是嵌入式开发常用的方法)
# 这个例子是实现定时器
from machine import Pin
import utime
purple_LED = Pin(6, Pin.OUT) # 紫色LED,端口6
white_LED = Pin(7, Pin.OUT) # 白色LED,端口7
flag = 1
while True:
if flag == 1:
purple_LED.value(1) # 紫色LED亮
white_LED.value(0) # 白色LED熄灭
flag = 0
print("flag: ",flag)
else:
purple_LED.value(0) # 紫色LED熄灭
white_LED.value(1) # 白色LED亮
flag = 1
print("flag: ",flag)
utime.sleep(1)
diogram.json(方法一和方法二的电路连接是一样的)
{
"version": 1,
"author": "Anonymous maker",
"editor": "wokwi",
"parts": [
{
"type": "wokwi-pi-pico",
"id": "pico",
"top": -52.98,
"left": -5.98,
"attrs": { "env": "micropython-20220117-v1.18" }
},
{
"type": "wokwi-led",
"id": "led1",
"top": -3.71,
"left": 117.56,
"attrs": { "color": "white", "flip": "", "lightColor": "blue" }
},
{
"type": "wokwi-resistor",
"id": "r1",
"top": 96.97,
"left": 91.4,
"rotate": 180,
"attrs": { "value": "470" }
},
{
"type": "wokwi-led",
"id": "led2",
"top": -12.42,
"left": -109.82,
"attrs": { "color": "magenta" }
},
{
"type": "wokwi-resistor",
"id": "r2",
"top": 65.01,
"left": -94.82,
"attrs": { "value": "1000" }
}
],
"connections": [
[ "led1:C", "r1:1", "green", [ "v35.22", "h26.2" ] ],
[ "r1:2", "pico:GND.6", "green", [ "v0" ] ],
[ "led1:A", "pico:GP7", "green", [ "v0" ] ],
[ "led2:A", "pico:GP6", "green", [ "v0" ] ],
[ "led2:C", "r2:1", "green", [ "v0" ] ],
[ "r2:2", "pico:GND.3", "green", [ "v0" ] ]
]
}
大家学会了没,有问题请留言,或者加微信公众号,或者QQ群和大家多交流。谢谢!