一、简介
这里实现外部LED模拟发送摩尔斯码的SOS信号(3个点,3个杠,3个点)。一个点表示LED灯亮0.25秒(点的时间),一个杠表示LED灯亮1秒(杠的时间),点与点和杠与杠之间的延迟是0.2秒(间隔时间);字母之间的延迟是0.5秒,这个语句有2秒的延迟然后重复。
二、硬件接线图,电阻的阻值为470欧姆。
三、代码实现
主要通过while循环和for循环实现,代码很简单,小伙伴们应该都能看懂,这里就不解释了。
main.py
# 这个例子是实现摩尔斯码SOS
from machine import Pin
import utime
dot = 0.25 # 点的时间
dash = 1.0 # 杠的时间
gap = 0.2 # 点与点和杠与杠之间的延迟
letterDelay = 0.5 # 每个字母之间的间隔时间
ON = 1 # 亮灯
OFF = 0 # 熄灯
LED = Pin(0,Pin.OUT) # 端口0
while True:
for i in range(0,3):
LED.value(ON)
utime.sleep(dot)
LED.value(OFF)
utime.sleep(gap)
utime.sleep(letterDelay)
for i in range(0,3):
LED.value(ON)
utime.sleep(dash)
LED.value(OFF)
utime.sleep(gap)
utime.sleep(letterDelay)
for i in range(0,3):
LED.value(ON)
utime.sleep(dot)
LED.value(OFF)
utime.sleep(gap)
utime.sleep(letterDelay)
diagram.json
{
"version": 1,
"author": "Anonymous maker",
"editor": "wokwi",
"parts": [
{
"type": "wokwi-pi-pico",
"id": "pico",
"top": -12.44,
"left": 74.62,
"attrs": { "env": "micropython-20220117-v1.18" }
},
{
"type": "wokwi-led",
"id": "led1",
"top": -3.956112409296356,
"left": -54.800438066807686,
"attrs": { "color": "red" }
},
{
"type": "wokwi-resistor",
"id": "r1",
"top": 74.78,
"left": -33.58,
"attrs": { "value": "470" }
}
],
"connections": [
[ "led1:A", "pico:GP0", "green", [ "v0" ] ],
[ "led1:C", "r1:1", "green", [ "v0" ] ],
[ "r1:2", "pico:GND.4", "green", [ "v0" ] ]
]
}
是不是很有意思,小伙伴们。