树莓派+SAKS扩展板实现数码管时钟

11 篇文章 0 订阅
6 篇文章 0 订阅

最终效果:

在这里插入图片描述

写在前面

最近整理以前学校时候的东西,发现了很久之前的一块树莓派SAKS扩展板,正好手头有一个树莓派,就想着做点什么东西。这怎么写的写的就感觉在写日记啊?

不管这么多,折腾了一个下午,终于实现了一个数码管时钟,没有多少开发的工作量,基本上是踩了一些坑,网上各处找教程,找源码,最终是调通了。

系统准备

树莓派系统下载位置https://www.raspberrypi.org/software/operating-systems/
请添加图片描述

下载别的可以控制IO的系统也是可以的,之所以要用Raspberry Pi OS系统,是为了后面使用SAKS扩展板SDK时方便。这个SDK5年没更新了,新的系统无法支持。

然后使用win32image软件将镜像烧入SD卡。
请添加图片描述

SAKS的扩展板,驱动LED用的是74HC595芯片,只要三根线能输出8路电平信号,而且这个芯片可以级联,可是输出更多路。驱动数码管用的是TM1637芯片。

请添加图片描述
然后下载SAKS树莓派扩展板的SDK,下载位置:https://github.com/nxez/SAKS-SDK,这个SDK已经5年不更新了,它所基于的RPi.GPIO也2年不更新了。不过对于最新的树莓派还是支持的。
而且这个是开源的,不支持也可以自己修改底层,改为使用wiringPi就可以。

实现过程

简单实现了一个钟表的功能,附带一个流水灯,基本上是把https://shumeipai.nxez.com/saks-diy-tutorials-digital-clockhttps://shumeipai.nxez.com/saks-diy-tutorials-water-lights里面的代码组合在一起完成的。

它还有两个按钮,可以修改为切换流水灯模式等,还有一个蜂鸣器,可以修改为闹钟。

源码

t = time.localtime()
h = t.tm_hour
m = t.tm_min
if __dp:
    SAKS.digital_display.show(("%02d.%02d" % (h, m)))
    for i in [0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff]:
        writeByte(i)
        time.sleep(0.125)
else:
    SAKS.digital_display.show(("%02d%02d" % (h, m)))
    for i in [0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff]:
        writeByte(i)
        time.sleep(0.125)
__dp = not __dp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仟人斩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值