做一个用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
对其他新人来说没有用,一没有原理图,二没有说你设计的思路,三没有代码,这种帖回复几乎为零。 ...
后面我会补充的,因为昨晚太晚才发帖,好多东西还没有准备好:lol 用fritzing软件画的面包板接线图和原理图
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
} 第一次发帖,准备不是很充分,那里有问题的或者不懂得可以指出~~:lol 不好意思,错怪了,不错注释很好。
不过你的计算不是分贝的对数关系,只是线性关系,不过1024的分辩率很难做到,做个演示也不错了。 海底沙 发表于 2017-7-29 20:50
不好意思,错怪了,不错注释很好。
不过你的计算不是分贝的对数关系,只是线性关系,不过1024的分辩率很难 ...
谢谢支持,反正就是拿来玩一下的,有效果就行:lol:lol 不懂原理,什么意思可以说一遍吗 还有问一下,一般哪里有二手电子原件卖啊
页:
[1]