MicroPython-On-ESP8266——数码管的使用,从一个8段管开始

MicroPython-On-ESP8266——数码管的使用,从一个8段管开始

1. 数码管分类

1.1. 背景

这段时间一直在忙其他项目,基于esp8266的micropython学习搁置好久了。应网友要求,要写一篇数据管的学习教程,那咱就安排上。

1.2. 什么是数码管

什么是数码管,这个我都没有去查百科什么的,不做官方回答啊,只是告诉大家,他里面就是几个led灯组合在一起,摆成个8字型,这样点亮不同部位的led灯就能组合出需要的数字出来了。

因为是组全了多个led灯,要接线在一起又要独立控制,就有了两种接线方式。

  • 正极接在一起,独立控制负极的电平来实现点灯,叫共阳方式;
  • 负极接在一起,独立控制正极的高低电平,叫共阴方式;

看图更好理解,下图是共阴的连接方式,led全都反过来的话就是共阳。

在这里插入图片描述
另外说明一下,从图上看A~G一共7个led二极管组成个8字型,只有这7个时就是7段,而8段数码管是多出了右下角一个小数点位。

1.3. 上道具

东拼西凑地找来了几个不同类型的数码管。因为我也是头次学习,上网查资料找手册,过程中难免会有些岔路,最终效果能出来,但实现上可能不是最优解,所以看官们发现有错误的地方欢迎指正啊,先谢过!

在这里插入图片描述
看上图,我拿到手有三种数码管,按从左到右依次是:

  • 一位8段共阳数码管(YH5611BH)
  • 四位8段共阴数码管(HS420361K-32)
  • 封装成模块的四位8段数码管(使用两片74HC595位移寄存器驱动)

准备依次学习,难度逐步升级!

2. 认识8位数码管结构

2.1. 数码管结构

在这里插入图片描述
YH5611BH一位8段共阳型数码管,原理图直接找过来了,咱们分析一下:

  • 原理图左边封装尺寸咱就不管它了,重点是右边三个图,右上角标注了带小数点的8字型led的名称,从上面横划开始顺时针旋转依次标注了从A到G的名称,小数点名称是DP;
  • 右中俯视图,从左下角开始逆时针旋转来数引脚,分别是从1到10一共10个引脚;
  • 最下边电路图,3/8引脚(数码管上下两排是正中间引脚)都连接到了led的正极(所以是共阳型),其他引脚也分别标注了与8个段位名称的对应关系
    • 引脚1 <—> E段负极
    • 引脚2 <—> D段负极
    • 引脚3 <—> 正极负极
    • 引脚4 <—> C段负极
    • 引脚5 <—> DP段负极
    • 引脚6 <—> B段负极
    • 引脚7 <—> A段负极
    • 引脚8 <—> 正极
    • 引脚9 <—> F段负极
    • 引脚10 <—> G段负极

其实把引脚按顺序对应到A~G/DP不是更好嘛,直观又清晰。应该是内部走线决定不能直接对应吧。。。

2.2. 驱动原理

为了验证上面的对应关系,我把数码管插面包板上,然后用跳线直接把各个引脚怼到5V电源上试,结果啪啪响了几下,有些段位先是点亮然后就是点响,给烧穿了。。。

妈呀出师未捷身先死,不过好歹算是验证了人家那引脚真的就是那么对应的。

2.2.1. 显示一个数字的方法

如果我要让数码管显示一个数字,那点亮组成该数字的段位led就行嘛。比如我要显示数字”0“,那就是要将A/B/C/D/E/F这几个段位对应的引脚置为低电平,将不需要点亮的G/DP置为高电平,那就能得到想要的效果了。

但是总不能每次想要一个数字,就要编写8行代码,一个个处理引脚吧

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值