双源电子

在线客服
 工作时间
周一至周五 :8:30-17:30
周六至周日 :9:00-17:00

ARDUINO 学习5

作者:双源电子

我们常见的玩具中,大都有LED彩灯,还伴随着音乐。LED灯的控制我们已经基本了解了,那么如何让硬件发出声音呢?
大部分人头脑中都有个模糊的概念,声音的产生应该和震动有关联。 我们暂且这样理解:物体震动达到某种频率,就会产生声波,然后被人听到。可以做个实验,把手放到正在播放音乐的喇叭上,手上会传来明显的震动感,说明喇叭此时正在通过震动产生声波。
好了,理论不讲那么多了,硬件电路中,常用的发生器件是蜂鸣器。只要我们给蜂鸣器输入特定频率的电信号,它就会出声。先看下电路连接:
图片
这是最简单的有源蜂鸣器的连接 ,如果想要声音更响亮一些,可以加一个三极管进行信号放大:
图片
硬件连接好了,下面我们来看程序。ARDUINO提供了一个函数:
tone(pin, frequency, duration);
参数含义如下:

pin:要产生声音的引脚
frequency: 产生声音的频率,单位Hz,类型unsigned int
duration:声音持续的时间,单位毫秒(可选),类型unsigned long

这就是ARDUINO的方便之处,我们不用像51那样再去配置定时器相关的寄存器,就可以轻松的让IO管脚产生某个特定频率的方波。

tone函数的功能就是在一个引脚上产生一个特定频率的方波(50%占空比)。
来看下面的程序:
void setup()
{
   pinMode(4,OUTPUT);//设置管脚D4为输出状态,蜂鸣器控制端必须连接在管脚D4上
}

voidloop()
{
   
for(int i=200;i<=800;i++)                    //用循环的方式将频率从200HZ 增加到800HZ
   
{
       
 tone(4,i);                            //在四号端口输出频率
       delay(5);                              //该频率维持5毫秒  
   
}
   
delay(4000);                            //最高频率下维持4秒钟
   
for(int i=800;i>=200;i--)
   
{
       
tone(4,i);
        delay(10);
     }
}

烧进程序后,蜂鸣器就会规律的滴滴作响了!


联系方式
_faiMaterial_000045

联系人:ANTBOT001

QQ:584860790

邮 箱:584860790@qq.com

交流群: 615486305