arduino 有源 蜂鸣器_(二十)arduino入门:蜂鸣器的使用
在这堂课中,大家将要了解如何使用蜂鸣器,蜂鸣器分为无源和有源两种。
第一步 准备材料
arduino uno
有源蜂鸣器
无源蜂鸣器
若干杜邦线
100Ω电阻一个
面包板
第二步 原理了解
蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种。
有源蜂鸣器与无源蜂鸣器的区别:内部有否震荡源
注意:这里的“源”不是指电源,而是指震荡源。
有源蜂鸣器内部带震荡源,所以只要一通电就会叫;
无源蜂鸣器内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的波形脉冲信号去驱动它
有源蜂鸣器往往比无源的略贵,就是因为里面多个震荡电路。
从外观上看,两种蜂鸣器好像一样. 一般有源有源蜂鸣器比无源蜂鸣器厚一点.
但是, 从外观上并不能绝对的区分出有源与无源,最可靠的做法除了查看产品的参数手册以外. 另一种方式是使用万用表测试蜂鸣器电阻,只有8Ω或者16Ω的是无源蜂鸣器,电阻在几百欧以上的是有源蜂鸣器。
第三步 无源蜂鸣器电路连接
无源蜂鸣器可以不分正负极直接一个脚鱼电阻串接到arduino的9号口。
另一个脚连接GND,如上图。
无源蜂鸣器程序:
其中程序用到了tone的频率控制库,需要单独下载放到库文件夹里。下载在最后面
int pinBuzzer = 9; //管脚D9连接到蜂鸣器模块的信号脚
void setup() {
pinMode(pinBuzzer, OUTPUT); //设置pinBuzzer脚为输出状态
}
void loop() {
long frequency = 300; //频率, 单位Hz
//用tone()函数发出频率为frequency的波形
tone(pinBuzzer, frequency );
delay(1000); //等待1000毫秒
noTone(pinBuzzer);//停止发声
delay(2000); //等待2000毫秒
}
设备:
暂无设备
平台:
ESP32 Dev Module
ESP32 Wrover Module
Node32s
Nano32
AI Thinker ESP32-CAM
ALKS ESP32
Adafruit ESP32 Feather
BPI-BIT
D-duino-32
Dongsen Tech Pocket 32
ESP32 FM DevKit
ESP32 Pico Kit
ESP32vn IoT Uno
ESPea32
ESPectro32
Electronic SweetPeas - ESP320
FireBeetle-ESP32
Frog Board ESP32
Heltec WiFi Kit 32
Heltec WiFi LoRa 32
Heltec WiFi LoRa 32(V2)
Heltec Wireless Stick
Hornbill ESP32 Dev
Hornbill ESP32 Minima
LOLIN D32
LOLIN D32 PRO
LoPy
LoPy4
M5Stack-Core-ESP32
M5Stack-FIRE
M5Stick-C
MH ET LIVE ESP32DevKIT
MH ET LIVE ESP32MiniKit
MagicBit
Microduino-CoreESP32
NodeMCU-32S ">Node32s
Noduino Quantum
ODROID ESP32
OLIMEX ESP32-DevKit-LiPo
OLIMEX ESP32-EVB
OLIMEX ESP32-GATEWAY
OLIMEX ESP32-PoE
OLIMEX ESP32-PoE-ISO
OROCA EduBot
Onehorse ESP32 Dev Module
Pycom GPy
Silicognition wESP32
SparkFun ESP32 Thing
SparkFun LoRa Gateway 1-Channel
T-Beam
TTGO LoRa32-OLED V1
TTGO T-Watch
TTGO T1
ThaiEasyElec's ESPino32
TinyPICO
Turta IoT Node
VintLabs ESP32 Devkit
WEMOS D1 MINI ESP32
WEMOS LOLIN32
WeMos WiFi&Bluetooth Battery
WiPy 3.0
Widora AIR
XinaBox CW02
u-blox NINA-W10 series (ESP32)
Generic ESP8266 Module
Generic ESP8285 Module
NodeMCU 0.9 (ESP-12 Module)
NodeMCU 1.0 (ESP-12E Module)
Arduino-ESP8266
ESPDuino (ESP-13 Module)
ESPectro Core
ESPino (ESP-12 Module)
ESPresso Lite 1.0
ESPresso Lite 2.0
LOLIN(WEMOS) D1 R2 & mini
LOLIN(WEMOS) D1 mini Lite
LOLIN(WEMOS) D1 mini Pro
Olimex MOD-WIFI-ESP8266(-DEV)
Phoenix 1.0
Phoenix 2.0
Schirmilabs Eduino WiFi
Seeed Wio Link
SparkFun Blynk Board
SparkFun ESP8266 Thing
SparkFun ESP8266 Thing Dev
SweetPea ESP-210
ThaiEasyElec's ESPino
WeMos D1 R1
WiFiduino
WifInfo
XinaBox CW01
4D Systems gen4 IoD Range
Adafruit Feather HUZZAH ESP8266
Amperka WiFi Slott
DOIT ESP-Mx DevKit (ESP8285)
Digistump Oak
ITEAD Sonoff
Invent One
Arduino Nano
Arduino Pro or Pro Mini
Arduino Uno
Arduino Uno WiFi
Arduino Mini
Arduino Mega or Mega 2560
Arduino Micro
Arduino Yun
Arduino Yun Mini
Adafruit Circuit Playground
LilyPad Arduino
LilyPad Arduino USB
Linino One
Arduino BT
Arduino Duemilanove or Diecimila
Arduino Esplora
Arduino Ethernet
Arduino Fio
Arduino Gemma
Arduino Industrial 101
Arduino Leonardo
Arduino Leonardo ETH
Arduino Mega ADK
Arduino NG or older
Arduino Robot Control
Arduino Robot Motor
Nucleo-32
Nucleo-64
Nucleo-144
Generic STM32F0 series
Generic STM32F1 series
Generic STM32F3 series
Generic STM32F4 series
Generic STM32H7 series
Generic STM32L0 series
Generic flight controllers
LoRa boards
Midatronics boards
STM32MP1 series coprocessor
Discovery
3D printer boards
Electronic speed controllers
Eval
编译
上传
int pinBuzzer = 9; //管脚D9连接到蜂鸣器模块的信号脚
void setup() {
pinMode(pinBuzzer, OUTPUT); //设置pinBuzzer脚为输出状态
}
void loop() {
long frequency = 300; //频率, 单位Hz
//用tone()函数发出频率为frequency的波形
tone(pinBuzzer, frequency );
delay(1000); //等待1000毫秒
noTone(pinBuzzer);//停止发声
delay(2000); //等待2000毫秒
}
第四步 有源蜂鸣器电路连接
有源蜂鸣器与无源蜂鸣器有点不一样,有源蜂鸣器最好是需要一个驱动电路。典型的驱动电路如下:
上述电路中用一个PNP型三极管做为控制开关, 图中LS1是蜂鸣器
三极管集电极接GND,发射极接蜂鸣器的负端,三极管的基极极通过一只1K-2K的电阻到单片机的GPIO脚 . 蜂鸣器的正极接VCC.
该电路中三极管相当于一个开关, 运行原理如下:
1, 当GPIO输出高电平,三极基极与发射极间没有电压差,三极管发射极与集电极间不通,蜂鸣器LS1没有电流通过,蜂鸣器不响。
2,当GPIO输出低电平,三极基极与发射极间形成电压差,三极管发射极与集电极之间导通,电流通过蜂鸣器LS1,如果是有源蜂鸣器,则立即发出beep声。
(1) 三极管型号为 8550, 其引脚如下图:
如图所示
1脚=E(发射极,电路图三极管左侧那个脚)
2脚=B(基极,电路图中三极管中间那个脚)
3脚=C(集电极,电路图中右侧的那个脚)
有源蜂鸣器的正极(长脚)接5V, 负极(短脚)接三极管 E极
三极管B极接1K欧姆电阻,再接到Arduino D5脚
三极管C极接地
有源蜂鸣器程序:
int pinBuzzer = 5; //管脚D5连接到蜂鸣器元件的基极
void setup() {
pinMode(pinBuzzer, OUTPUT); //设置pinBuzzer脚为输出状态
}
void loop() {
digitalWrite(pinBuzzer, HIGH);//输出HIGH电平,停止发声
delay(3000); //等待3000毫秒
digitalWrite(pinBuzzer, LOW);//输出LOW电平,发声
delay(1000); //等待1000毫秒
}
第五步 库文件下载与说明
对于无源蜂鸣器模块,必须使用tone()函数,通过PWM管脚,输出一个波形,才能让无源蜂鸣器发声
运行效果: 蜂鸣器发出”beep beep”声音. 响一秒, 停两秒
本课程使用到的库文件:
隐藏内容,您需要满足以下条件方可查看
End