从arduino到树莓派数码管之TM1650学习笔记

2020-03-222.6万
AI 快速预览详细 收起
本文介绍了如何在树莓派上使用TM1650数码管。首先需要安装smbus模块,并将tm1650.py库文件复制到代码目录。通过这些步骤,可以轻松调用设置亮度、显示数字等功能。文章还详细介绍了时间元组的使用,并展示了如何实现轮流显示年月日时分的综合项目。
前段时间学习使用了 tm1637的用法,在古德微平台上也使用了tm1650,只可惜没有找到合适的库,由于水平有限,只有作罢。就在前两天,感谢古德微公司为我们提供了丰富的库,包括了tm1650 .py和logger.py,让我对学习又充满了信心,学会了tm1650的初步用法,下面和大家一起分享,希望对大家的学习有帮助。
一、安装所以依赖的库和文件
1、安装smbus模块
在终端使用pip3 install smbus命令安装库文件
2、将tm1650 .py和logger.py这两个库文件复制到所编程代码文件同一个目录下。将from reikrobot.utils import logger改为import logger.
Tm1650库为我们提供了主要几个有用的函数,我们可以很方便的调用,省去了很多造“轮子”的时间
(1)设置数码管指定位置的亮度setBrightness(self,nPosition, nValue)(2)在数码管的指定位置显示数字和是否显示对应的点setNumber(self, nPosition, nNumber, bShowDot)(3)清除数码管指定位置的数字clearNumber(self, nPosition):
3、通过不断的学习和实践,让我初步学会了自己对代码的封装和调用,也就是函数的运用。

完成了轮流显示年、月日、时分的综合项目:
(1)重新认识时间元组
从arduino到树莓派数码管之TM1650学习笔记图5
Python 的元组(Tuple)与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组与字符串和列表类似,下标索引从0开始,可以进行截取,组合等。
t = ('GDW','robot', 2019, 'Python')
len(t)计算元组元素个数
max(t)  min(t)返回元组中元素的最大值或者最小值
tuple(seq)将列表seq转化为元组
时间元组(struct_time)
序号
字段
属性
0
4位年数
tm_year
2019
1
tm_mon
1到12
2
tm_mday
1到31
3
小时
tm_hour
0到23
4
分钟
tm_min
0到59
5
tm_sec
0到61(60或61是润秒)
6
一周的第几日
tm_wday
0到6(0是周一)
7
一年的第几日
tm_yday
1到366,一年中的第几天
8
夏令时
tm_isdst
是否为夏令时,值为1时是夏令时,值为0时不是夏令时,默认为-1
(2)python代码实现:
从arduino到树莓派数码管之TM1650学习笔记图3

从arduino到树莓派数码管之TM1650学习笔记图4


4、对模拟定时炸弹的代码进行了改编,定时时间为20秒,最后3秒小灯闪烁提醒,用小灯的闪烁来替代蜂鸣器。


从arduino到树莓派数码管之TM1650学习笔记图1

从arduino到树莓派数码管之TM1650学习笔记图2

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
喜多狼
喜多狼
tm1650.py这个库从哪里下载?
- 没有更多了 -