树莓派23/100 您所在的位置:网站首页 数码管10秒倒计时 树莓派23/100

树莓派23/100

2024-06-30 15:24| 来源: 网络整理| 查看: 265

电子表显示数字0到9,只有7个笔划,所以市面上常见七段数码管,右下角再附加一个表示小数点的灯管也不麻烦,所以更常见的是八段数码管了。

在这里插入图片描述 我手里有一支8段数码管,编号为5611BS,是共阳极的,它有10个引脚,左下角算第1针,第3、8针接3.3V,其它针接GPIO引脚。如果某个引脚电压为0时,LED亮。

在这里插入图片描述

原理基本懂了,电路连起来,为了不把自己搞乱,我把Pico的GP12 ~ GP19与八段管的8个引脚对应连接,为了不烧坏LED,每个引脚都接上了限流电阻。

在这里插入图片描述

实际连线有点乱: 在这里插入图片描述

代码简单而粗暴,直接点亮8段管。

import machine import utime a = machine.Pin(17, machine.Pin.OUT) b = machine.Pin(16, machine.Pin.OUT) c = machine.Pin(14, machine.Pin.OUT) d = machine.Pin(13, machine.Pin.OUT) e = machine.Pin(12, machine.Pin.OUT) f = machine.Pin(18, machine.Pin.OUT) g = machine.Pin(19, machine.Pin.OUT) dp = machine.Pin(15, machine.Pin.OUT) a.value(0) b.value(0) c.value(0) d.value(0) e.value(0) f.value(0) g.value(0) dp.value(0)

代码有点丑?用python的列表推导语法改写一下:

import machine import utime pins = [machine.Pin(id, machine.Pin.OUT) for id in [17, 16, 14, 13, 12, 18, 19, 15]] for pin in pins: pin.value(0)

现在要显示数字0到9了,如果每个笔划选中为1,未选中为0,则数字0到9可以分别用一个字节的“段选码”表示。 在这里插入图片描述 现在可以写一个比较优雅的倒计时器了,从9开始,倒数到0停止。

import machine import utime pins = [machine.Pin(id, machine.Pin.OUT) for id in [17, 16, 14, 13, 12, 18, 19, 15]] def show(code): for i in range(0, 8): pins[i].value(~code & 1) code = code >> 1 # 0到9的段选码 mask_digits = [0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f] for code in reversed(mask_digits): show(code) utime.sleep(1)

视频效果:

树莓派Pico上用八段数码管显示9到1的倒计时数字

推荐阅读: 树莓派Pico开发系列文章



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有