差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
buzzer [2022/01/26 21:12] gongyusu |
buzzer [2022/02/06 16:53] (当前版本) gongyusu |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ## 蜂鸣器 | + | ## Buzzer - 蜂鸣器 |
### 1 介绍 | ### 1 介绍 | ||
+ | {{ :buzzer.jpg ?300 | }} | ||
+ | 和LED常用于发光指示一样,作为一种声音模块,蜂鸣器常被用于做发声的功能。有源蜂鸣器通过内置的振荡器,发出单一固定频率提示性报警声音;无源蜂鸣器是通过不同频率的脉冲驱动,可以发出不同频率的声音信号。 | ||
### 2 工作原理 | ### 2 工作原理 | ||
行 13: | 行 15: | ||
### 3 电路连接 | ### 3 电路连接 | ||
- | 本章节主要介绍无源蜂鸣器的驱动,FPGA或单片机的GPIO口驱动能力弱,不能直接驱动无源蜂鸣器,常用的蜂鸣器驱动电路如下: | + | 本章节主要介绍无源蜂鸣器的驱动,FPGA或MCU的GPIO口驱动能力弱,不能直接驱动无源蜂鸣器,常用的蜂鸣器驱动电路如下: |
{{ :无源蜂鸣器驱动电路.jpg?600 |}} | {{ :无源蜂鸣器驱动电路.jpg?600 |}} | ||
- | 蜂鸣器使用NPN三极管(9013)驱动,三极管当开关用,当基极电压拉高时,蜂鸣器通电,当基极电压拉低时,蜂鸣器断电,FPGA控制GPIO口给三极管的基极输出不同频率的脉冲信号,蜂鸣器就可以发出不同的音节。 | + | 蜂鸣器使用NPN三极管(9013)驱动,三极管当开关用,当基极电压拉高时,蜂鸣器通电,当基极电压拉低时,蜂鸣器断电,MCU或FPGA控制GPIO口给三极管的基极输出不同频率的脉冲信号,蜂鸣器就可以发出不同的音节。 |
不同音节与蜂鸣器震荡频率的对应关系如下: | 不同音节与蜂鸣器震荡频率的对应关系如下: | ||
{{ :蜂鸣器音节频率.jpg?800 |}} | {{ :蜂鸣器音节频率.jpg?800 |}} | ||
- | 我们使用PWM的方法(关于PWM的说明,快速入门中的[[脉冲发生器]]章节有详细的介绍),使用计数器对系统时钟进行分频,改变计数器的计数终值从而实现调节PWM信号频率的目的,使用PWM信号控制蜂鸣器电路。 | ||
### 4 MicroPython编程(MCU) | ### 4 MicroPython编程(MCU) | ||
+ | * [[https://www.coderdojotc.org/micropython/sound/02-play-tone/|Play Tones Using the PWM]] | ||
+ | * [[https://www.coderdojotc.org/micropython/sound/03-play-three-tones/|Play Three Tones]] | ||
+ | * [[https://www.coderdojotc.org/micropython/sound/04-play-scale/|Play a Scale]] | ||
+ | * [[https://www.coderdojotc.org/micropython/sound/05-play-mario/|Play Mario on MicroPython]] | ||
+ | * [[https://www.coderdojotc.org/micropython/sound/07-play-audio-file/|播放音频文件]] | ||
+ | * [[https://www.coderdojotc.org/micropython/sound/09-converting-mp3-to-wav/|转换MP3音频文件为Wav文件]] | ||
+ | * [[https://github.com/james1236/buzzer_music|buzzer_music]] | ||
+ | |||
### 5 Verilog编程(FPGA) | ### 5 Verilog编程(FPGA) | ||
+ | 在FPGA中使用PWM来驱动蜂鸣器,使用计数器对系统时钟进行分频,改变计数器的计数终值从而实现调节PWM信号频率的目的,使用PWM信号控制蜂鸣器电路。 | ||
- | ####Verilog代码 | ||
<code verilog> | <code verilog> | ||
// -------------------------------------------------------------------- | // -------------------------------------------------------------------- |