7465浏览
查看: 7465|回复: 49

[入门] 【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块

[复制链接]
蜂鸣器模块的实物图片

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:59:06

Arduino参考开源代码


  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序十七:利用蜂鸣器播放天空之城
  4. */
  5. #define NOTE_D0 -1
  6. #define NOTE_D1 294
  7. #define NOTE_D2 330
  8. #define NOTE_D3 350
  9. #define NOTE_D4 393
  10. #define NOTE_D5 441
  11. #define NOTE_D6 495
  12. #define NOTE_D7 556
  13. #define NOTE_DL1 147
  14. #define NOTE_DL2 165
  15. #define NOTE_DL3 175
  16. #define NOTE_DL4 196
  17. #define NOTE_DL5 221
  18. #define NOTE_DL6 248
  19. #define NOTE_DL7 278
  20. #define NOTE_DH1 589
  21. #define NOTE_DH2 661
  22. #define NOTE_DH3 700
  23. #define NOTE_DH4 786
  24. #define NOTE_DH5 882
  25. #define NOTE_DH6 990
  26. #define NOTE_DH7 112
  27. //以上部分是定义是把每个音符和频率值对应起来,其实不用打这么多,但是都打上了,后面可以随意编写
  28. #define WHOLE 1
  29. #define HALF 0.5
  30. #define QUARTER 0.25
  31. #define EIGHTH 0.25
  32. #define SIXTEENTH 0.625
  33. //这部分是用英文对应了拍子,这样后面也比较好看
  34. int tune[] =
  35. {
  36.   NOTE_D0, NOTE_D0, NOTE_D0, NOTE_D6, NOTE_D7, NOTE_DH1, NOTE_D7, NOTE_DH1, NOTE_DH3, NOTE_D7, NOTE_D7, NOTE_D7, NOTE_D3, NOTE_D3,
  37.   NOTE_D6, NOTE_D5, NOTE_D6, NOTE_DH1, NOTE_D5, NOTE_D5, NOTE_D5, NOTE_D3, NOTE_D4, NOTE_D3, NOTE_D4, NOTE_DH1,
  38.   NOTE_D3, NOTE_D3, NOTE_D0, NOTE_DH1, NOTE_DH1, NOTE_DH1, NOTE_D7, NOTE_D4, NOTE_D4, NOTE_D7, NOTE_D7, NOTE_D7, NOTE_D0, NOTE_D6, NOTE_D7,
  39.   NOTE_DH1, NOTE_D7, NOTE_DH1, NOTE_DH3, NOTE_D7, NOTE_D7, NOTE_D7, NOTE_D3, NOTE_D3, NOTE_D6, NOTE_D5, NOTE_D6, NOTE_DH1,
  40.   NOTE_D5, NOTE_D5, NOTE_D5, NOTE_D2, NOTE_D3, NOTE_D4, NOTE_DH1, NOTE_D7, NOTE_D7, NOTE_DH1, NOTE_DH1, NOTE_DH2, NOTE_DH2, NOTE_DH3, NOTE_DH1, NOTE_DH1, NOTE_DH1,
  41.   NOTE_DH1, NOTE_D7, NOTE_D6, NOTE_D6, NOTE_D7, NOTE_D5, NOTE_D6, NOTE_D6, NOTE_D6, NOTE_DH1, NOTE_DH2, NOTE_DH3, NOTE_DH2, NOTE_DH3, NOTE_DH5,
  42.   NOTE_DH2, NOTE_DH2, NOTE_DH2, NOTE_D5, NOTE_D5, NOTE_DH1, NOTE_D7, NOTE_DH1, NOTE_DH3, NOTE_DH3, NOTE_DH3, NOTE_DH3, NOTE_DH3,
  43.   NOTE_D6, NOTE_D7, NOTE_DH1, NOTE_D7, NOTE_DH2, NOTE_DH2, NOTE_DH1, NOTE_D5, NOTE_D5, NOTE_D5, NOTE_DH4, NOTE_DH3, NOTE_DH2, NOTE_DH1,
  44.   NOTE_DH3, NOTE_DH3, NOTE_DH3, NOTE_DH3, NOTE_DH6, NOTE_DH6, NOTE_DH5, NOTE_DH5, NOTE_DH3, NOTE_DH2, NOTE_DH1, NOTE_DH1, NOTE_D0, NOTE_DH1,
  45.   NOTE_DH2, NOTE_DH1, NOTE_DH2, NOTE_DH2, NOTE_DH5, NOTE_DH3, NOTE_DH3, NOTE_DH3, NOTE_DH3, NOTE_DH6, NOTE_DH6, NOTE_DH5, NOTE_DH5,
  46.   NOTE_DH3, NOTE_DH2, NOTE_DH1, NOTE_DH1, NOTE_D0, NOTE_DH1, NOTE_DH2, NOTE_DH1, NOTE_DH2, NOTE_DH2, NOTE_D7, NOTE_D6, NOTE_D6, NOTE_D6, NOTE_D6, NOTE_D7
  47. };//这部分就是整首曲子的音符部分,用了一个序列定义为tune,整数
  48. float duration[] =
  49. {
  50.   1, 1, 1, 0.5, 0.5,     1 + 0.5, 0.5, 1, 1,     1, 1, 1, 0.5, 0.5,
  51.   1 + 0.5, 0.5, 1, 1,     1, 1, 1, 1,          1 + 0.5, 0.5, 1, 1,
  52.   1, 1, 0.5, 0.5, 0.5, 0.5,    1 + 0.5, 0.5, 1, 1,     1, 1, 1, 0.5, 0.5,
  53.   1 + 0.5, 0.5, 1, 1,    1, 1, 1, 0.5, 0.5,     1 + 0.5, 0.5, 1, 1,
  54.   1, 1, 1, 0.5, 0.5,    1, 0.5, 0.25, 0.25, 0.25, 0.5,    0.5, 0.5, 0.5, 0.25, 0.5, 1,
  55.   0.5, 0.5, 0.5, 0.5, 1, 1,    1, 1, 1, 0.5, 0.5,    1 + 0.5, 0.5, 1, 1,
  56.   1, 1, 1, 0.5, 0.5,    1.5, 0.5, 1, 1,    1, 1, 1, 1,
  57.   0.5, 0.5, 1, 1, 0.5, 0.5,    1.5, 0.25, 0.5, 1,    1, 1, 1, 1,
  58.   1, 1, 1, 1,    1, 1, 1, 1,    0.5, 0.5, 1, 1, 0.5, 0.5,
  59.   1, 0.5, 0.5, 1, 1,    1, 1, 1, 1,    1, 1, 1, 1,
  60.   0.5, 0.5, 1, 1, 0.5, 0.5,    1, 0.5, 0.25, 0.5, 1,    1, 1, 1, 0.5, 0.5
  61. };//这部分是整首曲子的节拍部分,也定义个序列duration,浮点(数组的个数和前面音符的个数是一样的,一一对应么)
  62. int length;//这里定义一个变量,后面用来表示共有多少个音符
  63. int tonePin = 3; //蜂鸣器的pin
  64. void setup(){
  65.   pinMode(tonePin, OUTPUT); //设置蜂鸣器的pin为输出模式
  66.   length = sizeof(tune) / sizeof(tune[0]); //这里用了一个sizeof函数, 可以查出tone序列里有多少个音符
  67. }
  68. void loop(){
  69.   for (int x = 0; x < length; x++) //循环音符的次数
  70.   {
  71.     tone(tonePin, tune[x]); //此函数依次播放tune序列里的数组,即每个 音符
  72.     delay(400 * duration[x]); //每个音符持续的时间,即节拍duration,是调整时间的越大,曲子速度越慢,越小曲子速度越快,自己掌握
  73.     noTone(tonePin);//停止当前音符,进入下一音符
  74.   }
  75.   delay(5000);//等待5秒后,循环重新开始
  76. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:30:02

程序八:播放一段以前可能听过的小旋律
1)实验使用了一个额外的文件 pitches.h。该文件包含典型音符的所有音高值。例如,NOTE_C4 是中间 C。NOTE_FS4 是升 F,等等。此音符表最初由 Brett Hagman 编写,tone() 命令基于他的工作。每当您想制作音符时,您可能会发现它很有用。要制作 pitches.h 文件,请单击串行监视器图标正下方的按钮并选“新选项卡”,或使用 Ctrl+Shift+N。然后粘贴以下代码:

  1. /*************************************************
  2. * Public Constants
  3. *************************************************/
  4. #define
  5. NOTE_B0  31#define NOTE_C1  33#define NOTE_CS1 35#define NOTE_D1  37#define NOTE_DS1 39#define NOTE_E1  41#define NOTE_F1  44#define NOTE_FS1 46#define NOTE_G1  49#define NOTE_GS1 52#define NOTE_A1  55#define NOTE_AS1 58#define NOTE_B1  62#define NOTE_C2  65#define NOTE_CS2 69#define NOTE_D2  73#define NOTE_DS2 78#define NOTE_E2  82#define NOTE_F2  87#define NOTE_FS2 93#define NOTE_G2  98#define NOTE_GS2 104#define NOTE_A2  110#define NOTE_AS2 117#define NOTE_B2  123#define NOTE_C3  131#define NOTE_CS3 139#define NOTE_D3  147#define NOTE_DS3 156#define NOTE_E3  165#define NOTE_F3  175#define NOTE_FS3 185#define NOTE_G3  196#define NOTE_GS3 208#define NOTE_A3  220#define NOTE_AS3 233#define NOTE_B3  247#define NOTE_C4  262#define NOTE_CS4 277#define NOTE_D4  294#define NOTE_DS4 311#define NOTE_E4  330#define NOTE_F4  349#define NOTE_FS4 370#define NOTE_G4  392#define NOTE_GS4 415#define NOTE_A4  440#define NOTE_AS4 466#define NOTE_B4  494#define NOTE_C5  523#define NOTE_CS5 554#define NOTE_D5  587#define NOTE_DS5 622#define NOTE_E5  659#define NOTE_F5  698#define NOTE_FS5 740#define NOTE_G5  784#define NOTE_GS5 831#define NOTE_A5  880#define NOTE_AS5 932#define NOTE_B5  988#define NOTE_C6  1047#define NOTE_CS6 1109#define NOTE_D6  1175#define NOTE_DS6 1245#define NOTE_E6  1319#define NOTE_F6  1397#define NOTE_FS6 1480#define NOTE_G6  1568#define NOTE_GS6 1661#define NOTE_A6  1760#define NOTE_AS6 1865#define NOTE_B6  1976#define NOTE_C7  2093#define NOTE_CS7 2217#define NOTE_D7  2349#define NOTE_DS7 2489#define NOTE_E7  2637#define NOTE_F7  2794#define NOTE_FS7 2960#define NOTE_G7  3136#define NOTE_GS7 3322#define NOTE_A7  3520#define NOTE_AS7 3729#define NOTE_B7  3951#define NOTE_C8  4186#define NOTE_CS8 4435#define NOTE_D8  4699#define NOTE_DS8 4978
复制代码
并将其保存为 pitches.h


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:48:32

程序十四:控制無源蜂鳴器發出兩隻老虎音調的聲音
1Arduino参考开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序十四:播放二只老虎乐曲
  4. */
  5. int buzzer=3;           //設定蜂鳴器接腳為D3
  6. int duration = 500;
  7. int aSo = 392;          //定义音符频率
  8. int bDo = 523;
  9. int bRe = 587;
  10. int bMi = 659;
  11. int bFa = 698;
  12. int bSo = 784;
  13. int bLa = 880;
  14. int bSi = 988;
  15. int bDDo = 1047;
  16. void setup(){
  17. pinMode(buzzer,OUTPUT);   //設定蜂鳴器為輸出
  18. }
  19. void loop(){
  20.   tone(3,bDo,duration);
  21.   delay(600);
  22.   tone(3,bRe,duration);
  23.   delay(600);
  24.   tone(3,bMi,duration);
  25.   delay(600);
  26.   tone(3,bDo,duration);
  27.   delay(800);
  28.   
  29.   tone(3,bDo,duration);
  30.   delay(600);
  31.   tone(3,bRe,duration);
  32.   delay(600);
  33.   tone(3,bMi,duration);
  34.   delay(600);
  35.   tone(3,bDo,duration);
  36.   delay(800);
  37.   
  38.   tone(3,bMi,duration);
  39.   delay(600);
  40.   tone(3,bFa,duration);
  41.   delay(600);
  42.   tone(3,bSo,duration);
  43.   delay(800);
  44.   
  45.   tone(3,bMi,duration);
  46.   delay(600);
  47.   tone(3,bFa,duration);
  48.   delay(600);
  49.   tone(3,bSo,duration);
  50.   delay(800);
  51.   tone(3,bSo,duration);
  52.   delay(600);
  53.   tone(3,bLa,duration);
  54.   delay(600);
  55.   tone(3,bSo,duration);
  56.   delay(600);
  57.   tone(3,bFa,duration);
  58.   delay(600);
  59.   tone(3,bMi,duration);
  60.   delay(700);
  61.   tone(3,bDo,duration);
  62.   delay(800);
  63.   tone(3,bSo,duration);
  64.   delay(600);
  65.   tone(3,bLa,duration);
  66.   delay(600);
  67.   tone(3,bSo,duration);
  68.   delay(600);
  69.   tone(3,bFa,duration);
  70.   delay(600);
  71.   tone(3,bMi,duration);
  72.   delay(700);
  73.   tone(3,bDo,duration);
  74.   delay(800);
  75.   tone(3,bDo,duration);
  76.   delay(700);
  77.   tone(3,aSo,duration);
  78.   delay(700);
  79.   tone(3,bDo,duration);
  80.   delay(800);
  81.   tone(3,bDo,duration);
  82.   delay(700);
  83.   tone(3,aSo,duration);
  84.   delay(700);
  85.   tone(3,bDo,duration);
  86.   delay(800);
  87.   delay(2000);
  88. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:39:39

科普知识点:声音与蜂鸣器
一、声音(sound
1、声音是振动产生的声波,通过介质气体固体液体)传播并能被人或动物听觉器官所感知的波动现象。声音的频率一般会以赫兹表示,记为Hz,指每秒钟周期性震动的次数。而分贝是用来表示声音强度的单位,记为dB。文言文中,“声”特指人声,而“音”特指其他声音;而在现代汉语中,“声”与“音”意思已混同为“声音”,并简称为“声”或“音”,而文言文中“声”在现代汉语中被称为“人声”。日语中则仍保留文言文中的区别。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:42:16

2、声音是一种压力波,当演奏乐器、拍打一扇门或者敲击桌面时,他们的振动会引起介质——空气分子有节奏的振动,使周围的空气产生疏密变化,形成疏密相间的纵波,这就产生了声波,这种现象会一直延续到振动消失为止。声音作为波的一种,频率和振幅就成了描述波的重要属性,频率的大小与我们通常所说的音高对应,而振幅影响声音的大小。声音可以被分解为不同频率不同强度正弦波的叠加。这种变换(或分解)的过程,称为傅立叶变换(Fourier Transform)
因此,一般的声音总是包含一定的频率范围。人耳可以听到的声音的频率范围在202赫兹之间。高于这个范围的波动称为超声波,而低于这一范围的称为次声波。狗和蝙蝠等动物可以听得到高达16万赫兹的声音。鲸和大象则可以产生频率在1535赫兹范围内的声音。声音的传播用量子力学解释便是原子的运动,形成了声波。但这与波粒子等名词没有联系。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:43:32

3、声音特性
1)响度(loudness),人主观上感觉声音的大小(俗称音量),由“振幅”(amplitude)和人离声源的距离决定,振幅越大响度越大,人和声源的距离越小,响度越大(单位为分贝dB)。
2)音调(pitch),声音的高低(高音、低音),由“频率”(frequency)决定,频率越高音调越高(频率单位Hzhertz),赫兹,人耳听觉范围2020000Hz20Hz以下称为次声波,20000Hz以上称为超声波)例如,低音端的声音或更高的声音,如细弦声。
3)频率(frequency)是每秒经过一给定点的声波数量,它的测量单位为赫兹,是以海因里希·鲁道夫·赫兹的名字命名的。此人设置了一张桌子,演示频率是如何与每秒的周期相关的。1千赫或1000赫表示每秒经过一给定点的声波有1000个周期,1兆赫就是每秒钟有1,000,000个周期,等等。
4)音色(Timbre),又称音品,波形决定了声音的音色。声音因物体材料的特性而不同,音色本身是一种抽象的东西,但波形是把这个抽象直观的表现。波形不同,音色则不同。不同的音色,通过波形,完全可以分辨的。
(5)乐音(tones)是有规则的让人愉悦的声音。音调,响度,音色是乐音的三个主要特征,人们就是根据他们来区分声音。
(6)噪音(noise),从物理学的角度看,由发声体作无规则振动时发出的声音;从环境保护角度看,凡是干扰人们正常工作、学习和休息的声音,以及对人们要听的声音起干扰作用的声音。
(7)毕达哥拉斯发现,当两个物体碰撞后振动产生声音时,若两者振动频率比为不可化简的复杂比,如:201388,那么我们分辨出来会觉得这个声音刺耳;相反,若两者振动频率比为可化简的简单比,如:37,那么我们分辨出来会觉得很动听。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:47:57

4、控制噪声
1声音的本质是波动。受作用得空气发生振动,当震动频率在20-20000Hz时,作用于人的耳鼓膜而产生的感觉称为声音。声源可以是固体、也可以是流体(液体和气体)的振动。声音的传媒介质有空气﹑水和固体,它们分别称为空气声、水声和固体声等。噪声监测主要讨论空气声。
2人类是生活在一个声音的环境中,通过声音进行交谈、表达思想感情以及开展各种活动。但有些声音也会给人类带来危害。例如,震耳欲聋的机器声,呼啸而过的飞机声等。这些为人们生活和工作所不需要的声音叫噪声,从物理现象判断,一切无规律的或随机的声信号叫噪声;噪声的判断还与人们的主观感觉和心理因素有关,即一切不希望存在的干扰声都叫噪声,例如,在某些时候,某些情绪条件下音乐也可能是噪声。
3环境噪声的来源有四种:一是交通噪声,包括汽车、火车和飞机等所产生的噪声;二是工厂噪声,如鼓风机、汽轮机,织布机和冲床等所产生的噪声;三是建筑施工噪声,像打桩机、挖土机和混凝土搅拌机等发出的声音;四是社会生活噪声,例如,喇叭,收录机等发出的过强声音。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:49:53

二、蜂鸣器(buzzer
1蜂鸣器是一种一体化结构的电子讯响器,采用直流电压或者交流电压供电,属于电子元器件的一种,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。Arduino发出声音最简单的方法就是利用蜂鸣器,由于在设计中内置了驱动电路,创建了“即插即用”简单解决方案。蜂鸣器在电路中用字母H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。图为蜂鸣器的符号。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:51:02

2、蜂鸣器分类
1)按其驱动方式的原理分,可分为:有源蜂鸣器(内含驱动线路,也叫自激式蜂鸣器)和无源蜂鸣器(外部驱动,也叫他激式蜂鸣器);
2)按构造方式的不同,可分为:电磁式蜂鸣器和压电式蜂鸣器;
3)按封装的不同,可分为:DIP BUZZER(插针蜂鸣器)和SMD BUZZER(贴片式蜂鸣器);
4)按电流的不同,可分为:直流蜂鸣器和交流蜂鸣器,其中,以直流最为常见压电式蜂鸣器,用的是压电材料,即当受到外力导致压电材料发生形变时压电材料会产生电荷。同样,当通电时压电材料会发生形变。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:52:06

3、电磁式蜂鸣器(Electromagnetic buzzer
(1)电磁式蜂鸣器是蜂鸣器的一种,区别于压电式蜂鸣器,电磁式蜂鸣器是利用电磁线圈对蜂鸣片的作用来发声的电子响讯器,用来给电子产品作发声器件。电磁式蜂鸣器一般由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:54:09

(2)电磁式蜂鸣器使用1.5V就可以发出85dB以上的音压了,唯消耗电流会大大的高于压电式蜂鸣器,而在相同的尺寸时,电磁式的蜂鸣器,响应频率可以做的比较低;电磁式蜂鸣器的音压一般最多到90dB,机械式蜂鸣器是电磁式蜂鸣器中的一个小类别。电磁式蜂鸣器具有体积小、重量轻、声压电平高、耗能少、寿命长以及使用方便等特点,可广泛应用于仪器仪表、报警器、微型通信器、玩具、家用电器及各种小型电子装置中。
(3)电磁蜂鸣器特性
A、比较工作电压:1~16 V
B更高的电流消耗:30~100 mA
C较低的额定频率
D、体积更小
E较低的声压级
(4)电磁蜂鸣器的工作原理:电磁蜂鸣器中的振动盘被磁场吸引到磁极。当一个振荡信号通过线圈时,它会产生一个波动的磁场,该磁场使磁盘以等于驱动信号的频率振动。


【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:55:28

4、压电式蜂鸣器(Piezo Buzzer
1)压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:56:37

(2)压电式蜂鸣器需要比较高的电压才能有足够的音压,一般建议为9V以上电压可以发出120dB的音压。压电式蜂鸣器具有体积小、灵敏度高、耗电省、可靠性好,造价低廉的特点和良好的频率特性。因此它广泛应用于各种电器产品的报警,造价低廉的特点和良好的频率特性、灵敏度高压电式蜂鸣器具有体积小的优势。最常见的莫过于音乐贺卡、电子门铃和电子玩具等小型电子用品上作发声器件、耗电省、可靠性好、电子手表、发声用途、袖珍计算器。
(3)压电蜂鸣器特性
A、宽工作电压:3~250 V
B、更低的电流消耗:额定频率下不到 30 mA
C、更大的模块体积
D、更高的声压级
(4)压电蜂鸣器的工作原理:当向压电陶瓷元件施加交流电压时,该元件会径向延伸和收缩。利用压电材料的这一特性,使陶瓷板快速振动产生声波。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:58:05

5、电磁式蜂鸣器和压电式蜂鸣器的区别
第一点是:它们的工作原理不一样,压电式蜂鸣器是以压电陶瓷的压电效应,来带动金属片的振动而发声的。而电磁式蜂鸣器,主要是利用电磁的原理,在有电的时候会使金属振动膜吸合,没电的时候振动膜会复位。
第二点是:所驱动的电压不一样,压电式蜂鸣器所需的电压比较高,这样才能发足够的声音,它的工作电压一般都在为9V以上。比如在数字万用表里就是用的压电式蜂鸣器,它的工作电压就是9V的。而电磁式蜂鸣器一般用1.5V就可以发出声音了,但在单片机电路中为了简化电路,一般都用标准5伏的电压。
第三点是:压电式蜂鸣器从外观看它就是一个很薄的薄片,这样它的体积比较小、虽然它所需的电压比较高,但是所流过的电流很小,因此很省电。又由于它的结构简单,造价比较低。另外它在频率特性和灵敏度高等方面都很优异。而电磁式在这方面没有电压式突出。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 15:59:38

6、有源蜂鸣器和无源蜂鸣器
(1)有源蜂鸣器(Active buzzer)内建了一组固定的频率,只要接通电源,就会发出固定的音调。蜂鸣器的源,这里指的是震荡源。也就是说有源蜂鸣器内部带有多谐振荡器,可以产生 1.5kHZ-2.5kHZ 的电压信号,由此有源蜂鸣器才能发声。有源蜂鸣器、无源蜂鸣器的外型很像,一般有源蜂鸣器会在上面贴一个白色贴纸,另外,有源蜂鸣器底部也会有胶封,无源蜂鸣器的底部可以直接看到电路板。有源蜂鸣器往往比无源的贵一点,就是因为里面多个震荡电路。有源蜂鸣器的优点是,编程控制简单方便,适合大部分的简单使用场景。缺点是只能在固定频率上运行,从而降低了随着应用需求变化而实现备用频率的灵活性。有源蜂鸣器工作的理想信号是直流电,通常标示为VDCVDD等。因为蜂鸣器内部有一简单的振荡电路,能将恒定的直流电转化成一定频率的脉冲信号,从而实现磁场交变,带动铝片振动发音。但是在某些有源蜂鸣器在特定的交流信号下也可以工作,只是对交流信号的电压和频率要求很高,此种工作方式一般不采用。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:01:00

(1)无源蜂鸣器(Passive Buzzer)在字义上说,即不带振荡源,在没有振荡电路情况下接上直流电,因输出电压没有变化,蜂鸣器片仍然保持沉默,所以我们需从外接振荡器。看似不方便,但亦有其优点。首先,零件数量少,售价较低是常识吧!其次,我们可脱离一般蜂鸣器只可发出单音的局限,自由控制输出声音频率,便可透过编程写出不同音阶和延续时间,合成一首旋律美妙的音乐。无源蜂鸣器没有内部驱动电路,有些公司和工厂称为讯响器,国标中称为声响器。无源蜂鸣器工作的理想信号方波。如果给予直流信号蜂鸣器是不响应的,因为磁路恒定,钼片不能振动发音。


【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:02:58

3)蜂鸣器模块电原理图

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:04:20

4)有源蜂鸣器和无源蜂鸣器的区分
方法一:
从外观上看,两种蜂鸣器好像一样,但仔细看,两者的高度略有区别(只是一部分),有源蜂鸣器的高度为9mm,而无源蜂鸣器的高度为8mm。如将两种蜂鸣器的引脚都朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。
方法二:
并一步判断有源蜂鸣器和无源蜂鸣器,还可以用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器 “+”引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(16Ω)的是无源蜂鸣器;如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。
方法三:
有源蜂鸣器直接接上额定电源就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:05:33

7、蜂鸣器主要规格
1)频率响应,蜂鸣器在给定频率下产生声音的效率。
2)声压级(单位dB Pa),声压级 SPL 是由声波引起的与大气压力的偏差,以分贝帕斯卡表示。它通常与输入电压成正比,当与蜂鸣器的距离增加一倍时衰减 6 dB
3)共振频率(单位F0 Hz),所有事物都有特定的振动频率。这个频率称为共振频率。对于蜂鸣器,谐振频率是它们发出最大声音的频率。
4)阻抗(单位欧姆),电阻抗是施加电压与电流的比值。电阻抗随频率变化。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:07:02

蜂鸣器模块的实验环境
一、蜂鸣器模块实验所需硬件清单
打火机X1
按键开关模块X1
震动传感器模块X1
火焰传感器模块X1
Arduino Uno开发板 X1
光敏电阻传感器模块X1
杜邦线 若干(备了9条)
HC-RS04超声波传感器模块X1
LED发光二极管(绿、蓝色)X2
有源蜂鸣器(低电平触发)模块X1
有源蜂鸣器(高电平触发)模块X1
无源蜂鸣器(低电平触发)模块X1
Proto Shield 原型扩展板(带mini面包板)X1

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:08:36

二、传感器模块实验所需软件平台
代码编程 Arduino IDE (版本1.8.19
仿真编程 Linkboy     (版本V4.6.3
图形编程
◆Mind+  (版本 V1.7.0 RC2.0
编玩边学(线上平台https://ide.codepku.com/?type=Arduino
三、实验接线示意图
【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图2
【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:10:02

有源蜂鸣器模块的几个实验
1程序一:有源蜂鸣器循环发声(间隔一秒)
Arduino参考开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序一:有源蜂鸣器循环发声(间隔一秒)
  4. */
  5. int buzzPin = 3;
  6. void setup() {
  7.   pinMode(buzzPin, OUTPUT);
  8. }
  9. void loop() {
  10.   digitalWrite(buzzPin, HIGH);//有源蜂鸣器响起
  11.   delay(1000);
  12.   digitalWrite(buzzPin, LOW);  //有源蜂鸣器关闭
  13.   delay(1000);
  14. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2022-5-5 16:11:27

程序二:有源蜂鸣器发声0.5秒(间隔1秒)
实验开源仿真编程(Linkboy V4.63

【Arduino】168种传感器模块系列实验(49)---蜂鸣器模块图1

回复

使用道具 举报

123下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail