物联网AI MicroPython传感器学习 之 无源蜂鸣器

news2024/11/23 13:20:03

一、产品简介

蜂鸣器是一种将音频信号转化为声音信号的发音器件传感器,通过利用压电效应原理,当对其施加交变电压时产生机械振动。应用场景:在家用电器、电子玩具、游戏机等场景下都得到普遍应用,通过设置不同的频率,蜂鸣器能发出音乐声、汽笛声、报警声、各种铃声等不同的声音。
蜂鸣器一般分有源和无源两种类型,本章节主要讲无源蜂鸣器。
image.png

引脚定义

  • VCC:电源正(3V3/5V);
  • GND:电源地;
  • I/O:PWM驱动;

其中无源蜂鸣器 I/O必须是PWM信号(2K~5K的方波)才能驱动,直流信号无法驱动。

二、技术参数

  • 供电范围:3V3 ~ 5V
  • 驱动:采用S8550三极管
  • PWM控制信号:2K~5K
  • 驱动板尺寸:33mm * 13mm

三、软件接口

BUZZER - 创建蜂鸣器驱动对象

  • 函数原型

BUZZERObj = BUZZER(PWMObj)

  • 参数说明

该方法初始化一个蜂鸣器对象,用于蜂鸣器的控制。

参数类型必选参数?说明
PWMObjPWM传入PWM对象
  • 返回值

若BUZZER对象创建成功,返回BUZZER对象;否则抛出Exception

  • 示例代码
from machine import PWM, Pin
from buzzer import BUZZER

pwmObj = PWM(Pin(2))

buzzerObj = BUZZER(pwmObj)

start(freq,duty) - 驱动蜂鸣器

  • 函数功能:

驱动蜂鸣器按指定的频率发生。

  • 函数原型:

buzzerObj.start(freq,duty)

  • 参数说明:
参数类型必选参数?说明
freqint方波频率
dutyint方波占空比
  • 返回值:

stop() - 暂停蜂鸣器

  • 函数功能:

蜂鸣器停止。

  • 函数原型:

buzzerObj.stop()

  • 参数说明:

  • 返回值:

四、接口案例

  • 案例代码
from machine import PWM, Pin
from buzzer import BUZZER
import utime

pwmObj = PWM(Pin(2))

buzzerObj = BUZZER(pwmObj)

while(True):
    buzzerObj.start(2000,80)
    utime.sleep(5)
    buzzerObj.start(2500,80)
    utime.sleep(5)
    buzzerObj.stop()
    utime.sleep(5)

参考文献

[1] 蜂鸣器购买链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1174365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下yum源配置实战

一、Linux下软件包的管理 1、软件安装方式 ① RPM包管理(需要单独解决依赖问题) ② YUM包管理(需要有网络及YUM仓库的支持,会自动从互联网下载软件,自动解决依赖) ③ 源码安装(安装过程比较…

前端面试题之CSS篇

1、css选择器及其优先级 标签选择器: 1类选择器、属性选择器、伪类选择器:10id选择器:100内联选择器(style“”):1000!important:10000 2、display的属性值及其作用 属性值作用none元素不显示&#xff0c…

数据分析实战 | 关联规则分析——购物车分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据预处理 七、生成频繁项集 八、计算关联度 九、可视化 一、数据及分析对象 数据集链接:Online Retail.xlsx 该数据集记录了2010年12月01日至2011年12月09日…

【深蓝学院】手写VIO第8章--相机与IMU时间戳同步--作业

0. 题目 1. T1 逆深度参数化时的特征匀速模型的重投影误差 参考常鑫助教的答案:思路是将i时刻的观测投到world系,再用j时刻pose和外参投到j时刻camera坐标系下,归一化得到预测的二维坐标(这里忽略了camera的内参,逆深…

力扣刷题之优先队列

前言:优先队列底层是由大根堆或小根堆数据结构实现的。 前K个高频元素 347. 前 K 个高频元素 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: …

基于LDA主题+协同过滤+矩阵分解算法的智能电影推荐系统——机器学习算法应用(含python、JavaScript工程源码)+MovieLens数据集(四)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据爬取及处理2. 模型训练及保存3. 接口实现4. 收集数据5. 界面设计 系统测试相关其它博客工程源代码下载其它资料下载 前言 前段时间,博主分享过关于一篇使用协同过滤算法进行智能电影推荐系统的博…

CCF-CSP真题《202305-5 闪耀巡航》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号:202305-5试题名称:闪耀巡航时间限制:5.0s内存限制:512.0MB问题描述: 问题描述 西西艾弗岛旅游公司最近推出了一系列环绕西西艾…

周报4_YMK

FlashAttention 硬件知识 以 A100 (40GB HBM) 为例,下面显示其内存层次结构的粗略图。SRAM内存分布在108个流式多处理器(SMs)上,每个处理器192KB。片上SRAM比HBM快得多,但比HBM小得多,在计算方面,使用Tensor Core的B…

【ARFoundation学习笔记】ARFoundation基础(上)

写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。难免出现纰漏,更多详细内容请阅读原文。 本文从原文第二章开始 文章目录 ARFoundation的体系Subsystem的使用跟踪子系统 ARSession & AR Session OriginARSessionARSe…

多目标优化中的“latent action”是什么?

2020 NeurIPS 中的“latent action”: Our model defines latent action as a boundary that splits the region represented by a node into a high-performing and a low performing region. 这里的latent action代表一个边界(分类器)&…

4 网络基础知识

1、 ifconfig: 1.Windows:ipconfig 2.Linux:ifconfigip addr2、 ifconfig 和 ip addr 的区别? 问题:假设你登录进入一个被裁剪过的非常小的 Linux 系统中,发现既没有 ifconfig 命令,也没有 ip…

CCF-CSP真题《202309-2 坐标变换(其二)》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号:202309-2试题名称:坐标变换(其二)时间限制:2.0s内存限制:512.0MB问题描述: 问题描述 对于平面直角坐标…

【Mybatis小白从0到90%精讲】13: Mybatis sql片段,重用SQL的利器!

文章目录 前言SQL片段语句常见应用场景1. select 列字段2. where条件前言 代码复用是优秀程序员的标志之一,它能够减少代码冗余,提高代码可读性和可维护性。 在MyBatis开发中,Mapper中经常会有一些类似的SQL,如果每个语句都单独编写,会使代码冗长且难以维护。 MyBatis提…

Magics测量两个圆形中心点距离的方法

摘要:本文介绍如何使用magics测量两个圆孔之间的距离。 问题来源:3D模型打开后,两个圆孔中心点之间的间距测量无法直接通过测距实现,需要进行一些小小的设置才行。 工具选择“量尺”,如果不设置的话,它会默…

有关我自贡大盐商身世的两篇文章(一)

重游高坑岩瀑布随笔 都市噪杂喧嚣的生活,终于将我暂时逼离网络,决意出游数日,去山里寻找我向往的那些足以鼓舞人斗志的壮观瀑布,并试图从中领受它们那出自天然的,万马奔腾、猛烈撞击、拚抢速度、渲泄激情、永不妥协、…

【数据结构】树与二叉树(一):树(森林)的基本概念:父亲、儿子、兄弟、后裔、祖先、度、叶子结点、分支结点、结点的层数、路径、路径长度、结点的深度、树的深度

文章目录 5.1 树的基本概念5.1.1 树的定义树有序树、无序树 5.1.2 森林的定义5.1.3 树的术语1. 父亲(parent)、儿子(child)、兄弟(sibling)、后裔(descendant)、祖先(anc…

【软件测试】工作内容

测试工程师工作: 阶段:编写测试计划测试用例、测试缺陷报告并执行测试用例;搭建Windows测试环境熟练;使用Bugzilla 提交软件缺陷报告 使用测试技术及工具:白盒测试黑盒测试 Loadrunner、Winrunner 能够运用边界值、等…

go-sync-mutex

Sync ​ Go 语言作为一个原生支持用户态进程(Goroutine)的语言,当提到并发编程、多线程编程时,往往都离不开锁这一概念。锁是一种并发编程中的同步原语(Synchronization Primitives),它能保证多…

【CMake】15分钟带你入门CMake

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

[黑马程序员SpringBoot2]——运维实用篇

目录: 工程打包与运行打包插件Boot工程快速启动(Linux版本)临时属性配置文件4级分类自定义配置文件多环境开发(yaml版)多环境开发多文件版(yaml版)多环境开发多文件版(properties版)多环境分组…