https://my.oschina.net/micropython/blog/756109
1.实验目的
1. 学习在PC机系统中扩展简单I/O 接口的方法。
2. 进一步学习编制数据输出程序的设计方法。
3. 学习模拟交通灯控制的方法。
2.所需元器件
220欧电阻一个
红色LED数码管一个
面包板一块
TPYBoard板子一块
数据线一条
红、绿、黄三个led灯
杜邦线若干
3.点亮led灯
将三个led灯插在面包板上,led负极插入面包板的负极(横向插孔),正极插入面包板的纵向插,将222欧电阻插入面包板的负极上(横向插孔)和纵向插孔中,将led灯的正极分别与TPYBoard的引脚连接起来,因为要做红绿灯,只需三个引脚即可,本人用的为Y1、Y2、Y3三个引脚,将三个led灯的正极通过杜邦线连接到TPYboard的Y1,、Y2、Y3的引脚上,然后将电阻纵向插孔用杜邦线接到TPYboard的GND引脚,在main.py文件中将Y1、Y2、Y3引脚的电平拉高,即可看到三个灯同时亮起来。代码为:
- # main.py -- put your code here!
- import pyb
- led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)
- led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)
- led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)
- While True:
- led1.value(1)
- led2.value(1)
- led3.value(1)
下面为0-9数字对应针脚的高电平,即对应TPYboard的引脚拉高电平
数字高电平针脚
0 a,b,c,d,e,f
1 e,f
2 a,b,g,e,d
3 a,b,g,c,d
4 b,c,g,f
5 a,f,g,c,d
6 a,f,e,d,c,g
7 a,b,c
8 a,b,c,d,e,f,g
5.模拟红绿灯
我们按照上面的步骤做完以后,然后通电,修改main.py文件,即可让灯随着数码管的变化而变化,具体代码如下:
- # main.py -- put your code here!
- import pyb
- led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)
- led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)
- led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)
- x1 = pyb.Pin("X1",pyb.Pin.OUT_PP)
- x2 = pyb.Pin("X2",pyb.Pin.OUT_PP)
- x3 = pyb.Pin("X3",pyb.Pin.OUT_PP)
- x4 = pyb.Pin("X4",pyb.Pin.OUT_PP)
- x5 = pyb.Pin("X5",pyb.Pin.OUT_PP)
- x6 = pyb.Pin("X6",pyb.Pin.OUT_PP)
- x8 = pyb.Pin("X8",pyb.Pin.OUT_PP)
- def six():
- x1.value(1)
- x2.value(1)
- x3.value(1)
- x5.value(1)
- x6.value(1)
- x8.value(1)
- pyb.delay(1000)
- x1.value(0)
- x2.value(0)
- x3.value(0)
- x6.value(0)
- x5.value(0)
- x8.value(0)
- def nine():
- x1.value(1)
- x2.value(1)
- x3.value(1)
- x4.value(1)
- x5.value(1)
- x8.value(1)
- pyb.delay(1000)
- x1.value(0)
- x2.value(0)
- x3.value(0)
- x4.value(0)
- x5.value(0)
- x8.value(0)
- def eight():
- x1.value(1)
- x2.value(1)
- x3.value(1)
- x4.value(1)
- x5.value(1)
- x6.value(1)
- x8.value(1)
- pyb.delay(1000)
- x1.value(0)
- x2.value(0)
- x3.value(0)
- x4.value(0)
- x5.value(0)
- x6.value(0)
- x8.value(0)
- def zero():
- x2.value(1)
- x3.value(1)
- x4.value(1)
- x5.value(1)
- x6.value(1)
- x8.value(1)
- pyb.delay(1000)
- x2.value(0)
- x3.value(0)
- x4.value(0)
- x5.value(0)
- x6.value(0)
- x8.value(0)
- def seven():
- x3.value(1)
- x4.value(1)
- x8.value(1)
- pyb.delay(1000)
- x3.value(0)
- x4.value(0)
- x8.value(0)
- def five():
- x1.value(1)
- x2.value(1)
- x3.value(1)
- x5.value(1)
- x8.value(1)
- pyb.delay(1000)
- x1.value(0)
- x2.value(0)
- x3.value(0)
- x5.value(0)
- x8.value(0)
- def four():
- x1.value(1)
- x2.value(1)
- x4.value(1)
- x8.value(1)
- pyb.delay(1000)
- x1.value(0)
- x2.value(0)
- x4.value(0)
- x8.value(0)
- def three():
- x1.value(1)
- x3.value(1)
- x4.value(1)
- x5.value(1)
- x8.value(1)
- pyb.delay(1000)
- x1.value(0)
- x4.value(0)
- x3.value(0)
- x5.value(0)
- x8.value(0)
- def two():
- x1.value(1)
- x3.value(1)
- x4.value(1)
- x5.value(1)
- x6.value(1)
- pyb.delay(1000)
- x1.value(0)
- x3.value(0)
- x4.value(0)
- x5.value(0)
- x6.value(0)
- def one():
- x2.value(1)
- x6.value(1)
- pyb.delay(1000)
- x2.value(0)
- x6.value(0)
- while True:
- led1.value(1)
- nine()
- eight()
- seven()
- six()
- five()
- four()
- three()
- two()
- one()
- zero()
- led1.value(0)
- led2.value(1)
- nine()
- eight()
- seven()
- six()
- five()
- four()
- three()
- two()
- one()
- zero()
- led2.value(0)
- led3.value(1)
- three()
- two()
- one()
- zero()
- led3.value(0)
沒有留言:
張貼留言