千家信息网

Python开发中TPYBoard开发板怎样DIY红绿灯

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这期内容当中小编将会给大家带来有关 Python开发中TPYBoard开发板怎样DIY红绿灯,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。流水灯可能是大家最经常DI
千家信息网最后更新 2025年12月02日Python开发中TPYBoard开发板怎样DIY红绿灯

这期内容当中小编将会给大家带来有关 Python开发中TPYBoard开发板怎样DIY红绿灯,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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

关于TPYBoard


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

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引脚的电平拉高,即可看到三个灯同时亮起来。代码为:

  1. # main.py -- put your code here!

  2. import pyb

  3. led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)

  4. led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)

  5. led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)

  6. While True:

  7. led1.value(1)

  8. led2.value(1)

  9. led3.value(1)

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。如下图:

下面为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文件,即可让灯随着数码管的变化而变化,具体代码如下:

  1. # main.py -- put your code here!

  2. import pyb

  3. led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)

  4. led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)

  5. led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)

  6. x1 = pyb.Pin("X1",pyb.Pin.OUT_PP)

  7. x2 = pyb.Pin("X2",pyb.Pin.OUT_PP)

  8. x3 = pyb.Pin("X3",pyb.Pin.OUT_PP)

  9. x4 = pyb.Pin("X4",pyb.Pin.OUT_PP)

  10. x5 = pyb.Pin("X5",pyb.Pin.OUT_PP)

  11. x6 = pyb.Pin("X6",pyb.Pin.OUT_PP)

  12. x8 = pyb.Pin("X8",pyb.Pin.OUT_PP)

  13. def six():

  14. x1.value(1)

  15. x2.value(1)

  16. x3.value(1)

  17. x5.value(1)

  18. x6.value(1)

  19. x8.value(1)

  20. pyb.delay(1000)

  21. x1.value(0)

  22. x2.value(0)

  23. x3.value(0)

  24. x6.value(0)

  25. x5.value(0)

  26. x8.value(0)

  27. def nine():

  28. x1.value(1)

  29. x2.value(1)

  30. x3.value(1)

  31. x4.value(1)

  32. x5.value(1)

  33. x8.value(1)

  34. pyb.delay(1000)

  35. x1.value(0)

  36. x2.value(0)

  37. x3.value(0)

  38. x4.value(0)

  39. x5.value(0)

  40. x8.value(0)

  41. def eight():

  42. x1.value(1)

  43. x2.value(1)

  44. x3.value(1)

  45. x4.value(1)

  46. x5.value(1)

  47. x6.value(1)

  48. x8.value(1)

  49. pyb.delay(1000)

  50. x1.value(0)

  51. x2.value(0)

  52. x3.value(0)

  53. x4.value(0)

  54. x5.value(0)

  55. x6.value(0)

  56. x8.value(0)

  57. def zero():

  58. x2.value(1)

  59. x3.value(1)

  60. x4.value(1)

  61. x5.value(1)

  62. x6.value(1)

  63. x8.value(1)

  64. pyb.delay(1000)

  65. x2.value(0)

  66. x3.value(0)

  67. x4.value(0)

  68. x5.value(0)

  69. x6.value(0)

  70. x8.value(0)

  71. def seven():

  72. x3.value(1)

  73. x4.value(1)

  74. x8.value(1)

  75. pyb.delay(1000)

  76. x3.value(0)

  77. x4.value(0)

  78. x8.value(0)

  79. def five():

  80. x1.value(1)

  81. x2.value(1)

  82. x3.value(1)

  83. x5.value(1)

  84. x8.value(1)

  85. pyb.delay(1000)

  86. x1.value(0)

  87. x2.value(0)

  88. x3.value(0)

  89. x5.value(0)

  90. x8.value(0)

  91. def four():

  92. x1.value(1)

  93. x2.value(1)

  94. x4.value(1)

  95. x8.value(1)

  96. pyb.delay(1000)

  97. x1.value(0)

  98. x2.value(0)

  99. x4.value(0)

  100. x8.value(0)

  101. def three():

  102. x1.value(1)

  103. x3.value(1)

  104. x4.value(1)

  105. x5.value(1)

  106. x8.value(1)

  107. pyb.delay(1000)

  108. x1.value(0)

  109. x4.value(0)

  110. x3.value(0)

  111. x5.value(0)

  112. x8.value(0)

  113. def two():

  114. x1.value(1)

  115. x3.value(1)

  116. x4.value(1)

  117. x5.value(1)

  118. x6.value(1)

  119. pyb.delay(1000)

  120. x1.value(0)

  121. x3.value(0)

  122. x4.value(0)

  123. x5.value(0)

  124. x6.value(0)

  125. def one():

  126. x2.value(1)

  127. x6.value(1)

  128. pyb.delay(1000)

  129. x2.value(0)

  130. x6.value(0)

  131. while True:

  132. led1.value(1)

  133. nine()

  134. eight()

  135. seven()

  136. six()

  137. five()

  138. four()

  139. three()

  140. two()

  141. one()

  142. zero()

  143. led1.value(0)

  144. led2.value(1)

  145. nine()

  146. eight()

  147. seven()

  148. six()

  149. five()

  150. four()

  151. three()

  152. two()

  153. one()

  154. zero()

  155. led2.value(0)

  156. led3.value(1)

  157. three()

  158. two()

  159. one()

  160. zero()

  161. led3.value(0)

上述就是小编为大家分享的 Python开发中TPYBoard开发板怎样DIY红绿灯了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

开发 三个 数码 数码管 电平 面包 红绿灯 插孔 方法 正极 电阻 纵向 负极 杜邦 学习 支持 代码 内容 接口 数字 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有名的数据库 论文中的数据库表怎么表示 远程服务器预览附件路径怎么写 软件开发数据库密码被盗 苏州专业型网络技术市场价格 网络技术标准设计规范大全 电脑远程服务器在哪里看 软件开发合同项目案例 上海分显互联网科技 大型医院网络安全持续化改进 服务器管理功能错误 ios 研究软件开发 安徽统一软件开发推广 软件开发师工作自我描述 武汉网络安全学院吧 银行软件开发加班吗 数据库怎么设置字段向上取整 高科技网络技术怎么样 土壤有哪些数据库 达梦数据库收费价格 廊坊软件开发公司米云 密云区口碑好的软件开发平台 如何创建一个数据库并维护数据库 信阳天气预报软件开发 国家安全网络安全画画 光遇游戏服务器是什么怎么填 网络安全方面的标题 小学生防沉迷网络安全教育手抄报 联通电信服务器游戏卡 秦皇岛软件开发怎么样
0