|
11| 3
|
[项目] 【花雕动手做】CanMV K230 AI视觉模块之使用板载蜂鸣器 |
![]() ![]() 什么是 CanMV K230? CanMV K230是一款高性价比的RISC-V边缘AI平台,凭借低功耗、强视觉处理能力和开放的开发生态,成为嵌入式AI开发的理想选择,尤其适合需要快速部署视觉与AI功能的创客、中小企业及教育场景。CanMV 是一套 AI 视觉开发平台,K230 是其核心芯片。该模块结合了图像采集、AI推理、边缘计算等能力,适合嵌入式视觉应用开发。 CanMV:类似 OpenMV 的图像处理框架,支持 Python 编程,简化视觉识别开发流程。 K230 芯片:嘉楠科技推出的 AIoT SoC,采用 RISC-V 架构,内置第三代 KPU(AI加速单元),算力高达 6 TOPS,性能是 K210 的 13.7 倍。 ![]() ![]() |
|
蜂鸣器的分类 从驱动方式来说,我们可以把蜂鸣器分为有源和无源两种 1、有源蜂鸣器(Active Buzzer) 是内部集成有振荡电路的蜂鸣器。它不需要外部驱动电路,只需要输入一个直流电源就能直接发出声音。有源蜂鸣器结构相对简单,适合小型化设计,常见于电子玩具、报警器等对体积和功耗有要求的场合。 2、无源蜂鸣器(Passive Buzzer)是不包含振荡电路的蜂鸣器,需要外部驱动电路提供交流信号才能工作。适合大功率、大声音应用,如汽车喇叭、工业警报器等。外部驱动电路可以是单片机、专用驱动芯片等,根据应用需求设计。 ![]() 使用无源蜂鸣器的优点是可以通过调整外部信号的频率和占空比来实现更丰富的音调和音量控制。 蜂鸣器是一种可以发出蜂鸣声音的电子元器件。 它通过电磁或压电原理产生声音, 常应用于各种电子设备中,常见于警报器、电子玩具、电子信号装置等。 ![]() CanMV K230 AI视觉识别模块之使用板载蜂鸣器 快速开始 打开 CanMV IDE,将 K230 连接至电脑。 按 Ctrl + N 键新建一份代码,并删除所有自动生成的代码内容 复制下面的代码并粘贴到IDE中 [源码汇总 / 02.Basic / 03.1_buzzer.py] 点击运行按钮,可以听到K230的蜂鸣器中发出了不同的声音。 |
|
这段代码是一个演示程序,用于在 CanMV K230 AI视觉识别模块上控制板载蜂鸣器发声。它展示了如何使用 Micropython 控制蜂鸣器发出不同频率、音量和时长的声音,包括短鸣、自定义音调和警报效果。解读如下: 程序目标 通过调用蜂鸣器控制库,实现三种声音效果: 默认短鸣 自定义频率与持续时间 警报声(快速重复) python 程序标题注释,说明这是“花雕动手做”系列教程的一部分,主题是使用 K230 模块上的蜂鸣器。 python 导入 YbBuzzer 类,这是控制蜂鸣器的封装库,提供简单的接口来发声。 python 引入时间模块,用于设置延时,控制发声节奏。 python 创建一个蜂鸣器对象,后续通过它来控制发声。 示例 1:默认短鸣 python 调用 beep() 方法发出一个默认的短促蜂鸣声,通常用于提示或确认操作。 python 程序暂停 3 秒,确保声音播放完成并留出间隔。 示例 2:自定义频率和持续时间 python 使用 on() 方法发出一个自定义音调的蜂鸣声: 频率:2000Hz(较高音调) 音量:50% 持续时间:0.5 秒 python 再次延时 3 秒,准备进入下一个示例。 示例 3:警报声效果 python 启动一个循环,连续播放 3 次短促蜂鸣声,模拟警报效果。 python 每次发出 1000Hz 的声音,持续 0.1 秒,音量 50%。 python 每次发声之间暂停 0.1 秒,形成断续的警报节奏。 程序流程图 [初始化蜂鸣器对象] → [短鸣一声] → [延时] → [自定义发声] → [延时] → [循环警报声] 实验串口返回情况 ![]() |
|
2、播放旋律 K230模块上的蜂鸣器是无源蜂鸣器,连接在 K230的一个PWM输出通道上。 这里可以通过修改 PWM 输出值,来让蜂鸣器发出不同频率的声音 这段代码是一个完整的示例程序,用于在 CanMV K230 AI视觉识别模块 上通过板载蜂鸣器演奏《一闪一闪亮晶晶》的旋律。它结合了音符频率、节奏控制和蜂鸣器发声接口,展示了如何用 Micropython 实现简单的音乐播放功能。解读如下: 程序目标 使用蜂鸣器播放《Twinkle Twinkle Little Star》的旋律,通过频率和节奏控制实现音符演奏。 python 程序标题注释,说明这是“花雕动手做”系列教程的一部分,主题是使用 K230 模块上的蜂鸣器播放音乐。 python 引入 YbBuzzer 类,这是控制蜂鸣器的封装库,提供 on() 和 off() 等方法。 python 引入时间模块,用于控制音符之间的间隔。 python 创建一个蜂鸣器对象,后续通过它来控制发声。 定义音符频率(单位:Hz) python 每个变量代表一个音符的频率,用于控制蜂鸣器发出对应音高的声音。 定义节奏单位 python 设置每个音符的基础持续时间为 0.3 秒。 演奏旋律函数 python 定义一个函数,用于演奏《一闪一闪亮晶晶》的旋律。 python 定义音符序列,每个元组包含频率和持续时间。旋律结构对应简谱: 1 1 5 5 6 6 5 - 4 4 3 3 2 2 1 - 演奏音符 python 遍历音符列表,依次播放每个音符: on(freq, volume, duration):发声 time.sleep(0.1):音符之间短暂停顿,避免连音模糊 关闭蜂鸣器 python 演奏结束后关闭蜂鸣器,防止持续发声。 程序入口 python 程序入口点,调用 play_twinkle() 函数开始演奏。 程序流程图 [初始化蜂鸣器] → [定义音符频率与节奏] → [构建旋律序列] → [依次播放音符] → [关闭蜂鸣器] ![]() |
沪公网安备31011502402448© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed