为什么需要
最近,我写了一篇有关自制蓝牙自行车计算机的文章。 进行了热烈的讨论。 现代化的建议之一是增加显示或LCD屏幕的想法。 我喜欢这个主意。 我决定考虑如何将其变为现实。
由于已经制造出了自行车电脑,所以箱子几乎被占用了,带液晶显示屏的选件就消失了。 考虑到所有电缆和电线,我们需要的尺寸为40x30mm,厚度不超过2-3mm。 免费结论也很少。 各种LED指示灯(三位数,刻度)不合适。 然后我想到了一个非常好的想法-用SMD LED制成自制指示器。 拿一个薄的单侧织物,以正确的顺序放置在正确数量的LED上,您会得到一个出色的指示器。 想到应该将导线连接到所有LED上,我决定在板上安装一个便宜的微控制器,它将控制所有LED本身,而自行车计算机的主MK将通过一根导线控制指示器。
结果是非常紧凑(仅3mm厚)的指示器。 一线管理,两管食品管理。 如果您有现成的设备,或计划制造设备,并且需要指示器,那么自制指示器是最佳选择。 让我们仔细看看它是如何工作的。
10个引脚上的20个LED-很简单!
我选择了最昂贵的MK-SMT8S003,与自行车计算机中的相同。 他只有20条腿。 如果卸下电源和控制脚,则剩下14条脚。 必须解决的第一个任务是用尽可能多的LED控制这些支脚。
我立即想到,一条腿上可能挂有2个LED,一个引脚在GND上,另一个在VDD上。 对于每个LED,一个电阻。 根据这个方案。

易于管理。 我们馈入引脚0,一个LED点亮,馈送1-第二个LED点亮。 我们转化为第三种状态(输入),而不是一种燃烧。 事实证明,您可以挂28个LED的14个结论。 非常不错
儿子自己画了指示器。 对于自行车计算机,数字之后最有用的指示器类型是刻度。 指示器包括2个刻度,每个8个LED,以及另外4个不同的状态LED。 总共20个LED。 我迅速绘制了电路板的草图,进行了蚀刻,焊接并开始测试。
我打开MK,所有结论都处于第三种状态,什么都不会燃烧。 并且... LED点亮。 当然,它们有5伏的电压足以发出暗淡的光。 它不会起作用,我们更改了方案...
更多LED
经过一番思考,另一个想法出现了。 将LED不连接到电源和地,而是连接到MK的另外两个结论。 然后,您可以完全关闭所有功能。 我们尝试,效果很好。 由于具有动态指示,所以一切都闪烁得很漂亮。 您可以控制每个LED。
结果,将来出现了以下方案:

我们区分几个控制结论和工作人员。 我们只将电阻放在控制upr1 upr2上。 因此,极大地简化了电路板的电路和走线。 14个引脚上最多可放置96个LED。 6名管理人员和8名工人,每个上都有2个LED。 绰绰有余的是,焊接臂会累。
事实证明,您可以做更多的事情。 查理 ·艾伦( Charlie Allen)通过在控制引脚之间放置多个LED来进一步扩大了工作范围。 因此,最多可在16个引脚上放置16 * 15个LED。 但是,在他的电路中,增加了许多电阻,并且所有LED的颜色必须相同,通常存在一些小问题。 结论-96个LED绰绰有余。
我们分别控制每个LED
为了控制每个LED,使用了动态指示方法。 在某一时刻,每个控制输出可以点亮一个LED。 接下来,您需要对所有对进行排序,这些是指示状态,以此类推。 由于电路板已经制成,因此我将其重设为一个控制引脚和一个电阻。 事实证明,一个输出上有20个LED和10个工作结论。 总计20个州。

为了降低能耗,MK的工作频率为2 MHz。 要分类至少20个频率为50 Hz的状态,您需要一个频率为1000 Hz的计时器。 另外,我还想控制亮度。 但是事实证明,要将其降低10倍,您需要一个10,000 Hz的计时器频率,并且是100,000 Hz的100倍。 在这种情况下,在中断处理程序中,您需要对所有选项进行排序并点亮所需的LED。 通常,MK无法应付。 我不得不切换到PWM调制选项。
我们使用PWM计时器控制亮度
结果是一个简单的程序。 我们使用一个定时器-TIM2,并可能产生PWM。 我们将计时器频率设置为1000 Hz,计时器125的最大值是PWM宽度,它将确定亮度的等级。 结果,您可以在0到125之间设置任何亮度值。在第二个定时器中断时,与填充PWM相比,请关闭所有LED。
结果是一个很好的指标。 由于进行了亮度控制,因此活动阶段的功耗为1 mA至4 mA。
我们连接一台自行车电脑
指示器本身已准备就绪,在自行车计算机中,它看起来像这样:

为了控制指示器,我选择了1-wire协议。 我不会描述。 我只能说,我不得不折磨自己才能设法处理中断并承受必要的时间,但最终还是奏效了。 自行车计算机就像一个主计算机,指示器就像一个从计算机。 为了控制,必须传输4个字节。 第一个字节是命令,亮度和一个进入睡眠模式的位,其余3个字节是LED(逐个LED)。
我想到的要显示在指示器上的第一件事是速度和人员。 维修指示灯应保留为蓝牙状态,违反速度和节奏控制以及其他-距离控制。
经过实验测试后,我添加了显示距套装的剩余距离或距套装的剩余卡路里的功能。 原来很方便。 您制定了一个计划-花2000加州钱去散步,马上去看看,还剩下一半。 结论-适应症是有用的。
我儿子真的很喜欢它,他想到了制作钥匙扣的想法-带有环氧树脂电池的指示器。 我去思考了。
其他指标可以做什么
时钟-两个圆圈的LED-小时和分钟。
基点-电子罗盘。
增量式旋转编码器的刻度。
一个指标具有多个比例。
音乐卡的心。
用于显示图片的8x8矩阵。
稀薄的七段式指示灯,用于11个LED的一位。
通常,关于如何使用此功能有很多想法。
像往常一样,在github上 ,有一个板,程序,1-wire协议的实现和动态指示。 无论需要什么,您都可以在项目中使用它。