基础
限流电阻阻值计算
限流电阻 = (电源电压-LED正向稳压电压) / 你要求的工作电流
55 = (3.3-2.2)/0.02A
0.02A = 20mA
方法
Pin引脚类
1 | from machine import Pin |
time
1 | import time |
实验
一个闪烁的LED
- 接线
- 代码
1
2
3
4
5
6
7
8
9
10
11
12from machine import Pin
import time
pin12 = Pin(12, # 指定引脚
mode=Pin.OUT, # 指定引脚模式Pin.IN/Pin.OUT
pull=None, # None(没有上下拉电阻) Pin.PULL_UP(上拉电阻) Pin.PULL_DOWN(下拉电阻)
value=0) # 0是低电平 1高电平
while True:
pin12.value(not pin12.value())
time.sleep(1)
流水灯
接线
程序
流水灯1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23from machine import Pin
import time
pin_index = [13,12,14,26,27] # 引脚下表列表
pin_list = []
for i in pin_index:
pin_list.append(Pin(i,Pin.OUT))
print(pin_list)
for led_pin in pin_list:
led_pin.off()
while True:
# 逐个熄灭
for led_pin in pin_list:
led_pin.value(1)
time.sleep(0.05)
for led_pin in pin_list:
led_pin.value(0)
time.sleep(0.05)pin的顺序会影响灯的亮灭?
为什么我 pin_index = [13,12,14,27,26] 时27引脚接的LED死活不亮,单独让27号亮它又能亮。用[13,12,14,26,27]就都能亮了。。。。奇怪.
用万用表测了一下,破案了,管脚输出的是3.3V。我用的限流电阻是1K,测到的LED输入电压是1.8V 红绿LED的工作输入电压是2.0-2.2v(貌似颜色不一样的LED要求的输入电压也不一样)
所以原因就是LED输入电压不够,限流电阻用错了。没有万用表确实不方便,没想到一个小小的LED都这么多坑。