arduiuno 发表于 2017-7-29 00:23:02

做一个用LED灯做的超简单的分贝仪

新人上路,作为开始,这次先发一个制作简单、但很好玩的一样东西,后期在介绍好玩又实用的东西!好了,话不多说上图

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

排好LED灯。。。。

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

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

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

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

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

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


海底沙 发表于 2017-7-29 07:29:34

对其他新人来说没有用,一没有原理图,二没有说你设计的思路,三没有代码,这种帖回复几乎为零。

arduiuno 发表于 2017-7-29 09:28:27

海底沙 发表于 2017-7-29 07:29
对其他新人来说没有用,一没有原理图,二没有说你设计的思路,三没有代码,这种帖回复几乎为零。 ...

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

arduiuno 发表于 2017-7-29 10:03:03

用fritzing软件画的面包板接线图和原理图


arduiuno 发表于 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
}

arduiuno 发表于 2017-7-29 11:23:02

第一次发帖,准备不是很充分,那里有问题的或者不懂得可以指出~~:lol

海底沙 发表于 2017-7-29 20:50:11

不好意思,错怪了,不错注释很好。
不过你的计算不是分贝的对数关系,只是线性关系,不过1024的分辩率很难做到,做个演示也不错了。

arduiuno 发表于 2017-7-29 20:55:36

海底沙 发表于 2017-7-29 20:50
不好意思,错怪了,不错注释很好。
不过你的计算不是分贝的对数关系,只是线性关系,不过1024的分辩率很难 ...

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

小白之路 发表于 2017-9-4 12:38:22

不懂原理,什么意思可以说一遍吗

小白之路 发表于 2017-9-4 15:02:15

还有问一下,一般哪里有二手电子原件卖啊
页: [1]
查看完整版本: 做一个用LED灯做的超简单的分贝仪