用户工具

站点工具


侧边栏

索引

抱歉,您没有权限增加页面
传感器和模块:蜂鸣器模块

1、 产品图片

  • 蜂鸣器分为有源和无源,有源的直接接电源即可发声。无源的需要连接一个变化频率的电源上,才能发出声音。所以接在 Arduino 主板上也可以发出声音,但不要串接限流电阻。

2、产品购买地址

3、产品概述

蜂鸣器的结构原理

  • 蜂鸣器的介绍
  1. 蜂鸣器的作用:蜂鸣器是一种一体化结构电子讯响器,采用直流电源供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
  2. 蜂鸣器分类:主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
  3. 蜂鸣器的电路图形符号:蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。
  • 蜂鸣器的结构原理
  1. 压电式蜂鸣器:压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5V-15V直流工作电压),多谐振荡器起振,输出1.5-2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。
  2. 电磁式蜂鸣器:电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
  • 蜂鸣器的制作
  1. 制备电磁铁M:在长约6厘米的铁螺栓上绕100圈导线,线端留下5厘米作引线,用透明胶布把线圈粘好,以免线圈松开,再用胶布把它粘在一个盒子上,电磁铁就做好了。
  2. 制备弹片P:从铁罐头盒上剪下一条宽约2厘米的长铁片,弯成直角,把电磁铁的一条引线接在弹片上,再用胶布把弹片紧贴在木板上。
  3. 用曲别针做触头Q,用书把曲别针垫高,用胶布粘牢,引出一条导线,如图连接好电路。
  4. 调节M与P之间的距离(通过移动盒子),使电磁铁能吸引弹片,调节触点与弹片之间的距离,使它们能恰好接触,通电后就可以听到蜂鸣声。
  • 有源蜂鸣器和无源蜂鸣器
  1. 教你区分有源蜂鸣器和无源蜂鸣器:现在市场上出售的一种小型蜂鸣器因其体积小(直径只有llmm)、重量轻、价格低、结构牢靠,而广泛地应用在各种需要发声的电器设备、电子制作和单片机等电路中。
  2. 从图外观上看,两种蜂鸣器好像一样,但仔细看,两者的高度略有区别,有源蜂鸣器a,高度为9mm,而无源蜂鸣器b的高度为8mm。如将两种蜂鸣器的引脚都朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。
  3. 迸一步判断有源蜂鸣器和无源蜂鸣器,还可以用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器” “引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器;如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。
  4. 有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。

4、产品参数(蜂鸣器模块)

  1. 模块采用S8550三极管驱动
  2. 工作电压3.3V-5V
  3. 设有固定螺栓孔,方便安装
  4. 小板PCB尺寸:3.2cm * 1.3cm
  5. 当I/O口输入低电平时,蜂鸣器发声

5、引脚定义

  1. VCC 外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)
  2. GND 外接GND
  3. I/O 外接单片机IO口

使用有源蜂鸣器(高电平触发),接线方式一致,请改变程序内的高低电平触发条件。

6、示例程序(无源蜂鸣器模块)

//中贝斯特UltiRobot无源蜂鸣器模块示例教程
//程序效果:无源蜂鸣器发出《小星星》旋律
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com
int speakerPin = 9;
int speakerPin = 9;
int length = 15; // the number of notes
char notes[] = "ccggaagffeeddc "; // a space represents a rest
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;
void playTone(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}
void playNote(char note, int duration) {
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
// play the tone corresponding to the note name
for (int i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}
void setup() {
pinMode(speakerPin, OUTPUT);
}
void loop() {
for (int i = 0; i < length; i++) {
if (notes[i] == ' ') {
delay(beats[i] * tempo); // rest
} else {
playNote(notes[i], beats[i] * tempo);
}
// pause between notes
delay(tempo / 2);
}
}

7、示例程序(有源低电平触发蜂鸣器模块)

//中贝斯特UltiRobot有源低电平触发蜂鸣器模块示例教程
//程序效果:将程序上传至Arduino,随即发出声音。
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com
int pinBuzzer = 3; //管脚D3连接到蜂鸣器元件的基极
void setup() {
pinMode(pinBuzzer, OUTPUT); //设置pinBuzzer脚为输出状态
}
void loop() {
digitalWrite(pinBuzzer, HIGH);//输出HIGH电平,停止发声
delay(3000); //等待3000毫秒
digitalWrite(pinBuzzer, LOW);//输出LOW电平,发声
delay(1000); //等待1000毫秒
} 

8、示例程序(有源高电平触发蜂鸣器模块)

//中贝斯特UltiRobot有源高电平触发蜂鸣器模块示例教程
//程序效果:将程序上传至Arduino,随即发出声音。
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com
int pinBuzzer = 3; //管脚D3连接到蜂鸣器元件的基极
void setup() {
pinMode(pinBuzzer, OUTPUT); //设置pinBuzzer脚为输出状态
}
void loop() {
digitalWrite(pinBuzzer, LOW);//输出HIGH电平,停止发声
delay(3000); //等待3000毫秒
digitalWrite(pinBuzzer, HIGH);//输出LOW电平,发声
delay(1000); //等待1000毫秒
} 

9、示例程序(无源蜂鸣器)

//中贝斯特UltiRobot无源蜂鸣器示例教程
//程序效果:无源蜂鸣器发出《小星星》旋律
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com
int speakerPin = 9;

int length = 15; // the number of notes
char notes[] = "ccggaagffeeddc "; // a space represents a rest
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;

void playTone(int tone, int duration) {
  for (long i = 0; i < duration * 1000L; i += tone * 2) {
    digitalWrite(speakerPin, HIGH);
    delayMicroseconds(tone);
    digitalWrite(speakerPin, LOW);
    delayMicroseconds(tone);
  }
}

void playNote(char note, int duration) {
  char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
  int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

  // play the tone corresponding to the note name
  for (int i = 0; i < 8; i++) {
    if (names[i] == note) {
      playTone(tones[i], duration);
    }
  }
}

void setup() {
  pinMode(speakerPin, OUTPUT);
}

void loop() {
  for (int i = 0; i < length; i++) {
    if (notes[i] == ' ') {
      delay(beats[i] * tempo); // rest
    } else {
      playNote(notes[i], beats[i] * tempo);
    }
    // pause between notes
    delay(tempo / 2); 
  }
}

10、示例程序(无源蜂鸣器)

//中贝斯特UltiRobot有源蜂鸣器示例教程二
//程序效果:蜂鸣器发出声
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com
int pinBuzzer = 3; //管脚D3连接到蜂鸣器元件的基极  

void setup() {
   pinMode(pinBuzzer, OUTPUT); //设置pinBuzzer脚为输出状态  
}
void loop() {
    digitalWrite(pinBuzzer, HIGH);//输出HIGH电平,停止发声  
    delay(3000); //等待3000毫秒  
    digitalWrite(pinBuzzer, LOW);//输出LOW电平,发声  
    delay(1000); //等待1000毫秒  
}

11、相关资料下载

12、综合实验

传感器和模块/蜂鸣器模块.txt · 最后更改: 2019/09/01 21:37 由 ultirobot