我们不仅销售产品,我们还传播知识
商品分类

创客大学:Arduino 入门教程GO 第四章 Arduino的声音

一、用蜂鸣器模拟警报器

在上一章完成了LED的呼吸灯试验之后,我们关于LED的实验就暂时告一段落了,在接下来的几章里,我们将要接触到一些新的元器件以及新的模块,今天我们首先要学习的是,用蜂鸣器来模拟警报装置。

二、实验器材

  • UNO控制板:1块
  • 无源蜂鸣器:1个
  • 面包板:1块
  • 面包板跳线:若干

三、连线示意图

创客大学:Arduino 入门教程GO 第四章 Arduino的声音


图4-1

四、硬件连接图

创客大学:Arduino 入门教程GO 第四章 Arduino的声音


图4-2

五、硬件知识要点

首先我们先来看电路图,实际上这次的电路十分的简单,除了我们的UNO控制板之外,就只有一个无源蜂鸣器和两根跳线,有一点是我们一定需要注意的,就是蜂鸣器一定是无源蜂鸣器,目前市面上还有一种蜂鸣器是有源蜂鸣器,这种蜂鸣器用来做我们的实验是不行的。

将蜂鸣器拿到手以后大家可以发现,我们的蜂鸣器上面是标明了极性的,但是无源蜂鸣器实际上是没有极性的,只有有源蜂鸣器才是有极性的,之所以我们的蜂鸣器标明了极性,是因为为了节约生产成本,统一使用了有源蜂鸣器的封装。

六、程序编写

void setup()
{
}

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

七、程序知识要点

在今天的程序中,我们使用了一个新的函数tone(),

tone()是一个调声函数,主要用于Arduino连接蜂鸣器或扬声器发声,可以让指定的引脚产生一个占空比为50%的指定频率的方波。

noTong(pin):停止指定引脚上的方波输出。

八、知识拓展

在本章节的知识拓展中,我们教给大家通过模拟电位器模块控制蜂鸣器发声频率:

void setup() {
  Serial.begin(9600);  // 初始化串口通信 
}
 
void loop() {
  int sensorReading = analogRead(A0);// 从A0口读模拟传感器的值 
  Serial.println(sensorReading);//串口输出独到的传感器的值 
 
  int thisPitch = map(sensorReading, 400, 1000, 120, 1500);
//输入的模拟值范围以一比例转换到适合值 (此为400—1000)
// 音律范围为 (120 - 1500Hz) 
  tone(9, thisPitch, 10);// 播放音频  接arduino9号端口,thispitch为播放频率,10为维持时间
  delay(1); 
}

[md]打开串口可显示A0口独到的模拟值,同时旋转模拟电位器便可改变蜂鸣器发声频率。[/md]

转载自:https://arduino.me/a/1580

微信群
微信群
微信客服
微信客服
分享本页
返回顶部
目录
项目初期,精力都在做产品上,网站速度有点慢,请谅解!