收藏官网首页
查看: 27158|回复: 9

[资料分享] 做一个用LED灯做的超简单的分贝仪

2

主题

9

帖子

127

积分

注册会员

Rank: 2

积分
127
跳转到指定楼层
楼主
发表于 2017-7-29 00:23:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
新人上路,作为开始,这次先发一个制作简单、但很好玩的一样东西,后期在介绍好玩又实用的东西!好了,话不多说上图

弄这个一共用了24颗红色的LED灯和54颗绿色的LED灯(二手的,买了一堆

排好LED灯。。。。

焊接好(为了节约时间和焊锡,所以板子焊的不是很好)

焊好的板子(图为测试LED灯是否都连通,LED公共端是共阳的)

效果图(A0端什么都没接)

输入信号,这里我用手形成一个天线,获得一个信号(本人较懒,麦克风电路懒得搭建了
如果硬件知识不好的可以购买一个麦克风放大器模块
如果好的话,可以使用LM358运放制作。

最后来看看其中的原理是什么吧,在没接任何东西的时候,用示波器观察A0口的波形,几乎是一条直线,但还是有一些小突起,这就是为什么前第二张图四排绿灯会亮的原因;

当放手上去的时候,就有一个4v左右,50Hz的余弦信号了
但大家会发现波形少了一半,这是因为模拟口有钳位二极管的原因,将电压限制在+0~5V而大于5v或低于0v的电压信号就给限制住了(不考虑二极管压降)
第一次发帖,如果大家发现本贴哪里有错误或不足的地方,欢迎大家讨论和指出


IMG_20170726_234720.jpg (1.06 MB, 下载次数: 464)

IMG_20170726_234720.jpg

7e52803aba49ed909732f47c10107b6f_TB2nJyIbVHzQeBjSZFHXXbwZpXa_!!2658592015.jpg (58.37 KB, 下载次数: 361)

7e52803aba49ed909732f47c10107b6f_TB2nJyIbVHzQeBjSZFHXXbwZpXa_!!2658592015.jpg

13

主题

81

帖子

1241

积分

金牌会员

Rank: 6Rank: 6

积分
1241
沙发
发表于 2017-7-29 07:29:34 | 只看该作者
对其他新人来说没有用,一没有原理图,二没有说你设计的思路,三没有代码,这种帖回复几乎为零。

点评

后面我会补充的,因为昨晚太晚才发帖,好多东西还没有准备好  详情 回复 发表于 2017-7-29 09:28

2

主题

9

帖子

127

积分

注册会员

Rank: 2

积分
127
板凳
 楼主| 发表于 2017-7-29 09:28:27 | 只看该作者
海底沙 发表于 2017-7-29 07:29
对其他新人来说没有用,一没有原理图,二没有说你设计的思路,三没有代码,这种帖回复几乎为零。 ...

后面我会补充的,因为昨晚太晚才发帖,好多东西还没有准备好

2

主题

9

帖子

127

积分

注册会员

Rank: 2

积分
127
地板
 楼主| 发表于 2017-7-29 10:03:03 | 只看该作者
用fritzing软件画的面包板接线图和原理图


2

主题

9

帖子

127

积分

注册会员

Rank: 2

积分
127
5#
 楼主| 发表于 2017-7-29 11:18:20 | 只看该作者
注册成为机智云开发者,手机加虚拟设备快速开发
int i,y;//定义i,y变量
int Pin_num;//接口编号

void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
pinMode(3,OUTPUT);
pinMode(2,OUTPUT);//尽量不使用0、1接口
}

void loop() {
  // put your main code here, to run repeatedly:
Pin_num = analogRead(A0)/85+2;
//读取A0接口的数据,一共使用了12个LED小灯,因为Arduino是10位AD(模数)转换器。
//这意味着输入电压0-5伏对应0-1023的整数值。这就是说读取精度为:5伏/1024个单位
//因此我将他除以85,大概分成12份,由于0、1接口没用到,所以要加上2,
for(i = 2;i < Pin_num;i ++){
   y = 15 - i;//可加可不加,顺序问题而已,看具体的电路是怎么接法的
   digitalWrite(y,LOW);//因为是共阳,所以接口置于低电平状态
}//根据Pin_num,按顺序点亮LED
for(i = 2;i < 14;i ++){
   digitalWrite(i,HIGH);
}//熄灭全部的LED
}

2

主题

9

帖子

127

积分

注册会员

Rank: 2

积分
127
6#
 楼主| 发表于 2017-7-29 11:23:02 | 只看该作者
第一次发帖,准备不是很充分,那里有问题的或者不懂得可以指出~~

13

主题

81

帖子

1241

积分

金牌会员

Rank: 6Rank: 6

积分
1241
7#
发表于 2017-7-29 20:50:11 | 只看该作者
不好意思,错怪了,不错注释很好。
不过你的计算不是分贝的对数关系,只是线性关系,不过1024的分辩率很难做到,做个演示也不错了。

点评

谢谢支持,反正就是拿来玩一下的,有效果就行  详情 回复 发表于 2017-7-29 20:55

2

主题

9

帖子

127

积分

注册会员

Rank: 2

积分
127
8#
 楼主| 发表于 2017-7-29 20:55:36 | 只看该作者
海底沙 发表于 2017-7-29 20:50
不好意思,错怪了,不错注释很好。
不过你的计算不是分贝的对数关系,只是线性关系,不过1024的分辩率很难 ...

谢谢支持,反正就是拿来玩一下的,有效果就行

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
9#
发表于 2017-9-4 12:38:22 | 只看该作者
不懂原理,什么意思可以说一遍吗

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
10#
发表于 2017-9-4 15:02:15 | 只看该作者
汉枫LPB120模块
还有问一下,一般哪里有二手电子原件卖啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表