在大多数项目中,我们需要一个蜂鸣器。在本文中,我们讨论了压电蜂鸣器与 Arduino Uno 的接口。大多数人只听到蜂鸣器发出的高频声音。但或者,我们可以发出不同频率的声音。本文将在您的 covid-19 项目中为您提供帮助。
在本文中,
digitalWrite()
tone()
功能说明。noTone()
功能解释在继续之前,我们需要了解压电蜂鸣器的工作原理。
这是一个可以产生哔哔声和音调的简单设备。该装置的工作原理是压电效应。该设备的主要部件是压电晶体,一种在施加电压时会改变形状的特殊材料。
只需改变发送到压电的电压频率,它就会通过非常快速地改变形状开始产生声音。
本文分为两部分。一种是没有蜂鸣器tone()
,第二种是有蜂鸣器tone()
。
开始吧。
步骤1
我们也可以使用 Astable Multivibrator 而不需要任何微控制器来做到这一点
我将创建一个草图来发出没有tone()
功能的哔声。
打开 Arduino IDE。并打开一个新页面。
首先对 setup() 部分进行编程。我决定通过 Arduino Uno 的数字引脚 11 来控制蜂鸣器。所以首先通过函数将引脚 11 设置为 OUTPUT pinMode()
。
void setup(){
pinMode(11,OUTPUT);
}
第2步
接下来我们需要编写循环部分。首先使用该digitalWrite()
功能将引脚 11 设置为 HIGH。然后添加 0.5 秒延迟。这两条线负责打开(产生声音)蜂鸣器 0.5 秒。
digitalWrite(11,HIGH);
delay(500);
步骤 - 3
接下来将引脚 11 设置为低电平 0.5 秒。这将关闭蜂鸣器 0.5 秒。
digitalWrite(11,LOW);
delay(500);
代码完成。完整的代码在本文的代码部分给出。然后将代码上传到 Arduino Uno。
Arduino Uno - 蜂鸣器
GND - GND(短腿)
5V - Vcc(长腿)
出于原型制作目的,请使用公/母跳线。
接下来我将使用tone()
功能连接蜂鸣器
在开始之前,我们需要了解tone()
和noTone()
功能。
tone()
在引脚上生成指定频率(和 50% 占空比)的方波。可以指定持续时间,否则波形会一直持续到调用 noTone()。该引脚可以连接到压电蜂鸣器或其他扬声器以播放音调。
语法:tone(pin_number,频率)
noTone()
停止生成由 触发的方波tone()
。如果没有生成音调,则无效。
语法:noTone(pin_number)
是时候开始了。
步骤1
设置部分与不带tone()的蜂鸣器的设置部分相同。所以请参考Buzzer 的 Step -1 without tone() 。
第2步
接下来我将编写循环部分。首先我调用了tone() 函数。它有两个参数。第一个是连接蜂鸣器的引脚号。这里是 11。第二个参数是以赫兹为单位的频率。这里我将频率设置为 200 Hz。或者,您可以尝试使用不同的频率。
tone(11,200);
步骤-3
然后添加 0.5 秒的延迟。
delay(500);
第4步
然后调用函数 noTone().
这将有助于从tone()函数中释放引脚。这个函数只有一个参数。它是蜂鸣器连接的引脚号。
noTone(11)
步骤 - 5
再次添加 0.5 秒的延迟。
delay(500);
编程部分完成。完整的代码在本文的代码部分给出。将代码上传到 Arduino Uno 并观察与之前声音的区别。
改变频率,可以得到不同的声音。
请不要复制粘贴我的代码。理解每一行代码并自己创建草图。
跟着我,
Instagram :五伏特玩家
联系方式:akshayjoseph666@gmail.com
在评论框中分享您的经验和建议。
以前的文章:
接口 I2C 16x2 LCD 与 Arduino Uno(仅 4 线),接口 16x2 LCD(并行接口)与 Arduino Uno ,非接触式门铃,接口蓝牙模块(HC-05)与 Arduino Uno,自动水龙头,自动洗手液, 接口超声波传感器带有 Arduino Uno ,带有 Arduino Uno 和按钮的控制伺服电机, 带有 Arduino Uno 和 POT 的控制伺服电机, 带有 Arduino Uno 的伺服电机接口, IR 控制的家用电器具有保存先前状态,非接触式洗手定时器
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !