未加星标

Python开发实例:TPYBoard开发板DIY红绿灯

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

流水灯可能是大家最经常DIY的东西,一个是因为简单容易实现,再就是效果不错。为了演示Micropython的强大功能,展现不同的用法,下面教大家用TPYBoard开发板DIY一个小红绿灯板,一起体验python开发的魅力吧!


Python开发实例:TPYBoard开发板DIY红绿灯
关于TPYBoard

TPYBoard单片机开发板,现有TPYBoardV101、v102两个版本,其中v102为v101的升级版,新增swd接口。采用python开发语言,提供了30个GPIO,轻松使用python开发物联网产品。支持Python3.0及以上版本的直接运行,支持重力加速度传感器,支持上百周边外设配件。更多详细信息、教程、实例可参考micropython网站 http://www.micropython.net.cn


Python开发实例:TPYBoard开发板DIY红绿灯

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)
Python开发实例:TPYBoard开发板DIY红绿灯

4.点亮数码管

SM42056是0.56英寸一位共阴/红色LED数码管。一共十个引脚。当小数点在你的右下角时,上面一排五个引脚,从左至右依次为g,f,地,a,b,下面一排五个引脚,从左至右依次为 e,d,地,c,dp。我们要想让数码管亮起来只需要将g,f,a,b,e,d,c,dp(在这用不到)在main.py中拉高电平,把地与TPYboard的GND引脚接起来,这样就会显示为8。如下图:


Python开发实例:TPYBoard开发板DIY红绿灯

下面为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)

更多详细信息、教程、实例可参考micropython网站 http://www.micropython.net.cn

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: UTPython数据物联网设计方法
分页:12
转载请注明
本文标题:Python开发实例:TPYBoard开发板DIY红绿灯
本站链接:http://www.codesec.net/view/480684.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(66)