8704|23

1891

帖子

2

TA的资源

纯净的硅(中级)

楼主
 

如何控制64个LED? [复制链接]

 
如题,如何控制64个LED???
问题如下:

控制64路 PWM实现对LED亮度的控制,不知道有没有简单的低成本的方法实现?

好难得一个问题困扰着我。。。



下面我先说下自己的想法,不对的还请多多指点。(看不看,其实都没有太大的影响。

一、前言

LED就是二极管,开关变量,用一个IO 就可以控制LED。

(1)静态

       如果IO资源不紧缺的情况下,一个IO控制一颗LED还是可以接受的,这个也就是所谓的静态驱动LED的方法。

       有静态,当然会用动态。

(2)动态

      如果IO资源本来就紧缺,或者要控制的LED的个数远多余IO的个数。用一个IO来控制一颗LED,显然浪费了IO的资源。

      就利用了人眼的视觉暂留,来动态扫描控制LED,这个很常见,其实显示屏从某种意义上说也是动态扫描。


二、控制64个单色LED

控制64个单色的LED,可能不是一件的难事,无非是,锁存器、译码器、移位寄存器等.

下图就是一个简单的控制,如果有什么不对的, 或者有更好地方案,还请不吝赐教。THX。。。

图1:控制64个单色LED框架图


PWM(脉宽调制)

这里还要介绍一个东西PWM调光,就是通过来控制 通电时间 和 断开时间,来让LED有不同亮度感觉。
就像一个LED你给3V的和给5V的电是亮度不一样的,这个给不同的电压来改变亮度属于模拟的解决方法。

这里谈的说MCU,数字上面,用的一般是PWM来调节亮度,因为通电和断开的,时间频率很高,让人眼感觉不出来停顿,就会感觉LED的亮度发生了不同的变化。PWM调光,从某种意义上,也可以理解为数字实现模拟的方法,不同的通电的时间片段,形成的能量,在时间上积分,得到的也就是不同的电压值。但事实并不是不同的电压值,除非你加了滤波器,对波形积分。



控制64路PWM实现不同的灰度这个就是问题,好难得一个问题,不知道有没有简单的方法解答?

三、三色LED


图2:三色LED

上面说的是单色的,当然有一个很神奇的叫做  四脚 三色LED,如果对三个引脚 用PWM控制,可以组合出很多种颜色,就成了全彩LED。
引脚凭空又变成了 3倍,不过是把上面的电路复制两份就行了。
但是要控制 64*3路 PWM,是更难了。

希望大家不吝赐教。。。。



四、为何会问这个问题

到这里大家可能猜到了,我是不是要做立方体。。那种很炫的LED立方体。。其实并不是,我并不喜欢那个LED cube 更不感觉它很炫。

我是一个从小就没学过音乐的人,没有一点音乐的素养。
去年,做一款Android戏的时候,界面、控制,都设计好了,唯独少了点音效,想学学音乐,配点音效。

结果失败,只好用了别人的音乐,总感觉这是盗窃行为,不好。
于是乎,买了个电子琴,想学一学,受点音乐的熏陶,然后就没有然后了,太难。

暑假萌生了,想在琴键上左上LED,,然后LED会按事先编好的程序,亮起和熄灭。

这样,可以照着LED,来学习弹琴。就想改装一下这个54键的电子琴。

根据不同的颜色来知道哪个手指去按那个按键,虽然很傻瓜,但是可能会对弹琴有点好处。

大致如下(其实BT和MCU可以综合在一起的,如果控制LED的消耗不是太大。):


图3:设计图


我的梦想就是在我结婚的时候,能在婚礼的现场,弹一首《克罗地亚狂想曲》,给她画一副素描。

现在看来是不太可能了,我终究是个只会写代码的。。。不过如果代码写的好,貌似还是可以实现的。

说了那么多废话,其实后面由于时间关系这个就停滞了。

现在又想做一做试一试,早在年初,才发现原来有这个产品了。



图4:智能钢琴





不过从介绍看,他们的LED并不是全彩的,估计可能是技术不好实现。

所以今天发个帖子,集思广益,,求大家帮忙呀,,

THX


此帖出自编程基础论坛

最新回复

亲,这个问题也太简单了吧。你要弹的是《克罗地亚狂想曲》,4/4拍的节奏,每分钟96拍。按100拍算,每分钟的输出变化4*100次=400。相当于150ms产生一个定时器中断,刷新一次显示状态和声音状态,扫描一次按键。在这个时间里,你的MCU只需要干四件事:1、查节拍表,2、输出显示,3、扫描按键,4.输出声音。这样给你梳理一下,是不是感觉so easy 了呀!  详情 回复 发表于 2015-8-10 18:40
点赞 关注(1)
个人签名
分享铸就美好未来。。。




 

回复
举报

5264

帖子

239

TA的资源

管理员

推荐
 
574433742 发表于 2015-7-23 13:55
好的,谢谢你。。。

此帖出自编程基础论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

原来是你,,,我认识你、、更加感谢你了。。嘿嘿  详情 回复 发表于 2015-7-23 14:37
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

推荐
 
sint27 发表于 2015-7-23 08:37
提个非技术性的难点,《克罗地亚狂想曲》我不清楚,但是很多钢琴曲的弹奏会出现多个键同时按,并且快速切换 ...

谢谢你。。。。
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

推荐
 
nmg 发表于 2015-7-23 10:10
我想也许你不需要64个LED,只需要一个
根据楼上说的,会出现同时按键的情况话,或者几个就够啦
只是一个想 ...

好的,谢谢你。。。
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复

5264

帖子

239

TA的资源

管理员

推荐
 
我想也许你不需要64个LED,只需要一个
根据楼上说的,会出现同时按键的情况话,或者几个就够啦
只是一个想法哈
就是这个LED的光是打到各个键盘上的,需要亮那个键盘,就将光投到那个键盘上
此帖出自编程基础论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

好的,谢谢你。。。  详情 回复 发表于 2015-7-23 13:55
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

推荐
 
okhxyyo 发表于 2015-7-22 17:59
你是打算一个按键对应一个灯吗?IO不够,可以采用译码器吧。话说能通过采集音频然后频率跟灯对应吗?

不是 ,,是64路PWM
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复

1万

帖子

203

TA的资源

管理员

推荐
 
你是打算一个按键对应一个灯吗?IO不够,可以采用译码器吧。话说能通过采集音频然后频率跟灯对应吗?
此帖出自编程基础论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

不是 ,,是64路PWM  详情 回复 发表于 2015-7-22 18:07
 
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

推荐
 
zhaojun_xf 发表于 2015-7-22 17:53
还是用专业器件简单,单片机太浪费了吧。

FPGA???
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

推荐
 
还是用专业器件简单,单片机太浪费了吧。
此帖出自编程基础论坛

点评

FPGA???  详情 回复 发表于 2015-7-22 17:55
 
个人签名我的博客
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

推荐
 
lsjiang 发表于 2015-7-22 17:42
你的这个问题在于是先有音乐再指示按下的琴键,还是按下琴键再发出相应的韵律。单个琴键按下只会显示一种色 ...

不是的,比如LED是蓝色,OK,左手小指去按琴键,是红色无名指去,
琴键被安了,电子琴自己发出音乐,不用人去控制。
我只是做个改装。
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

推荐
 
辛昕 发表于 2015-7-22 17:37
主控不够时,直接分控
MCU太便宜了,几乎可以当分立件用了

好吧。。。。
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

沙发
 
少年
现在IO多比你那些方案都便宜
别折腾了
时代变了

595 串转并 乃至 8XX5来着那种时代,早就过去了
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

板凳
 
主控不够时,直接分控
MCU太便宜了,几乎可以当分立件用了
此帖出自编程基础论坛

点评

好吧。。。。  详情 回复 发表于 2015-7-22 17:46
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

41

帖子

0

TA的资源

一粒金砂(中级)

4
 
你的这个问题在于是先有音乐再指示按下的琴键,还是按下琴键再发出相应的韵律。单个琴键按下只会显示一种色彩,这要于音阶配合起来共同表征乐曲内容,才会完美至善。
此帖出自编程基础论坛

点评

不是的,比如LED是蓝色,OK,左手小指去按琴键,是红色无名指去, 琴键被安了,电子琴自己发出音乐,不用人去控制。 我只是做个改装。  详情 回复 发表于 2015-7-22 17:48
 
 
 

回复

401

帖子

4

TA的资源

版主

11
 
本帖最后由 ylyfxzsx 于 2015-7-22 18:17 编辑

so easy !64颗LED,挂4个驱动IC+MCU  就搞定了,其他的就是你的代码问题了,这个应该,不是事儿了吧?


直接给图吧,多简单的事儿










此帖出自编程基础论坛

点评

哇,,,,THX  详情 回复 发表于 2015-7-22 18:15
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

12
 
ylyfxzsx 发表于 2015-7-22 18:13
so easy !16颗LED,挂4个驱动IC+MCU 就搞定了,其他的就是你的代码问题了,这个应该,不是事儿了吧?


...

哇,,,,THX
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

13
 
PWM控制LED不难做,手法也很多,但多路输出及在特定用途中,响应时间恐怕是需要重点考虑的,如都搞成串行,而且由软件逐一控制的话,处理全部LED的整一个周期需花费多长时间?是否还合得上音乐的节拍?
此帖出自编程基础论坛

点评

用专用芯片,稍微会简单一点。。。  详情 回复 发表于 2015-7-22 21:15
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

14
 
仙猫 发表于 2015-7-22 20:07
PWM控制LED不难做,手法也很多,但多路输出及在特定用途中,响应时间恐怕是需要重点考虑的,如都搞成串行, ...

用专用芯片,稍微会简单一点。。。
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复

1800

帖子

0

TA的资源

五彩晶圆(初级)

15
 
提个非技术性的难点,《克罗地亚狂想曲》我不清楚,但是很多钢琴曲的弹奏会出现多个键同时按,并且快速切换的情况。你觉得你的眼力跟手指反应能力跟得上吗?感觉就像在玩高难度的“炫舞”之类的游戏。
此帖出自编程基础论坛

点评

谢谢你。。。。  详情 回复 发表于 2015-7-23 13:55
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

20
 

      原来是你,,,我认识你、、更加感谢你了。。嘿嘿
此帖出自编程基础论坛
 
个人签名
分享铸就美好未来。。。




 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表