欢迎光临
我们一直在努力

有源、无源5V蜂鸣器 示例教程 适用于Arduino平台

1. 产品图片

2. 产品购买地址点我购买

3. 产品概述
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、 “JD”等)表示。

通过上网查询参数,得到其工作电压为5V,和arduino控制板数字端口输出电压一致,所以不需要接电阻。可直接接上使用。

蜂鸣器按其结构分主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

蜂鸣器按其是否带有信号源又分为有源和无源两种类型。 有源蜂鸣器只需要在其供电端加上额定直流电压,其内部的震荡器就可以产生固定频率的信号,驱动蜂鸣器发出声音。无源蜂鸣器可以理解成与喇叭一样, 需要在其供电端上加上高低不断变化的电信号才可以驱动。

4. 接线方式

5. 示例程序(无源蜂鸣器)

//中贝斯特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); 
  }
}

6. 示例程序(有源蜂鸣器一)

//中贝斯特UltiRobot有源蜂鸣器示例教程一
//程序效果:蜂鸣器发出警报声
//淘宝店地址:zhongbest.taobao.com
//专业Arduino资料网站:www.arduino365.com
void setup()
{
}
void loop()
{
for(int i=200;i<=800;i++) //用循环的方式将频率从 200HZ 增加到 800HZ
{ pinMode(3,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);
}
}

7. 示例程序(有源蜂鸣器二)

//中贝斯特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毫秒  
}

8. 有源无源区别
蜂鸣器分为有源和无源,有源的直接接电源即可发声。无源的需要连接一个变化频率的电源上,才能发出声音。所以接在 Arduino 主板上也可以发出声音,但不要串接限流电阻。
蜂鸣器的原理是电流通过电磁线圈产生磁场,从而驱动振动膜发出声音。

9. 相关下载
百度网盘:点我下载

未经允许不得转载:Arduino-Maker » 有源、无源5V蜂鸣器 示例教程 适用于Arduino平台

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

中贝斯特创客空间蘑菇云创客教育