Skip to content

leoyfm/arduino-buzzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Buzzer 库

一个简单易用的蜂鸣器控制库,用于Arduino和ESP系列开发板,提供蜂鸣器的基本控制功能。

功能特点

  • 简单的蜂鸣器控制接口
  • 支持单次和多次蜂鸣
  • 提供预设的警告、错误和成功提示音
  • 支持自定义频率的声音输出
  • 无外部依赖,只需要Arduino核心库

安装方法

通过Arduino库管理器安装

  1. 打开Arduino IDE
  2. 点击菜单: 项目 -> 加载库 -> 管理库
  3. 在搜索框中输入 "Buzzer"
  4. 找到此库并点击安装

通过PlatformIO安装

在你的platformio.ini文件中添加:

lib_deps = 
    leoyfm/Buzzer@^1.0.0

手动安装

  1. 下载此库的最新版本
  2. 解压并重命名文件夹为"Buzzer"
  3. 将文件夹复制到Arduino库目录或PlatformIO项目的lib目录下

硬件连接

将蜂鸣器的正极连接到Arduino/ESP8266/ESP32的数字引脚,负极连接到GND。

Arduino/ESP单片机 -----> 蜂鸣器
+----------------+     +--------+
|         GPIO X |---->| +      |
|           GND  |---->| -      |
+----------------+     +--------+

使用方法

#include <Buzzer.h>

// 定义蜂鸣器连接的引脚
#define BUZZER_PIN 5

// 创建蜂鸣器对象
Buzzer buzzer(BUZZER_PIN);

void setup() {
  Serial.begin(115200);
  // 初始化蜂鸣器
  buzzer.begin();
  
  // 初始化完成提示音
  buzzer.success();
}

void loop() {
  // 发出警告声
  buzzer.alert();
  delay(1000);
  
  // 发出错误声
  buzzer.error();
  delay(1000);
  
  // 自定义蜂鸣
  buzzer.beep(200);  // 蜂鸣200毫秒
  delay(1000);
  
  // 连续蜂鸣5次,每次100毫秒,间隔50毫秒
  buzzer.beepMultiple(5, 100, 50);
  delay(1000);
  
  // 发出1000Hz的声音,持续500毫秒
  buzzer.tone(1000, 500);
  delay(2000);
}

示例

库中包含两个示例:

  1. BasicBuzzer - 演示基本的蜂鸣功能
  2. MelodyPlayer - 使用蜂鸣器播放简单旋律的示例

API 参考

构造函数

Buzzer(uint8_t pin)
  • pin - 蜂鸣器连接的数字引脚

方法

  • void begin() - 初始化蜂鸣器
  • void beep(uint16_t duration = 100) - 单次蜂鸣,可指定持续时间(毫秒)
  • void beepMultiple(uint8_t count, uint16_t duration = 100, uint16_t interval = 100) - 多次蜂鸣
    • count - 蜂鸣次数
    • duration - 每次蜂鸣持续时间(毫秒)
    • interval - 蜂鸣间隔时间(毫秒)
  • void alert() - 警告提示音(三声短促蜂鸣)
  • void error() - 错误提示音(一声长蜂鸣)
  • void success() - 成功提示音(两声短促蜂鸣)
  • void stop() - 停止蜂鸣
  • void tone(uint16_t frequency, uint16_t duration) - 产生特定频率的声音
    • frequency - 声音频率(Hz)
    • duration - 持续时间(毫秒)

兼容性

  • 支持所有Arduino开发板
  • 支持ESP8266和ESP32
  • 支持其他基于Arduino框架的开发板

许可证

此库使用 MIT 许可证

作者

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages