如何控制蜂鸣器的声响?
视频加载中...
一、前言
主板上有一个蜂鸣器,可以通过声音来指示程序的工作状态,特别是应用在车模运行状态指示方面,蜂鸣器比起 LED 、 液晶显示屏更容易传递程序运行状态。这是一个有源单音调蜂鸣器,可以通过单片机 IO 口来控制它的声音。下面介绍实例程序中 蜂鸣器的控制方法,由此,可以应用在智能车调试过程中。
二、原理说明
根据主板的电路图,我们可以找到蜂鸣器部分的线路。一个3.3V 的蜂鸣器,由一个NPN三极管控制导通与否。当 三极管的基极被端口 P17 提供偏置电流时,三极管便会饱和,电源施加在蜂鸣器上使其导通。当 P17 为低电平时,三极管截止,蜂鸣器停止发声。单片机端口 P17,在 MicroPython 中建立以这个标号的 端口,软件来控制它的高低。
三、实验结果
将系统连接好,在 OpenMV 开发环境中,找到测试函数文件夹,Buzzer 目录。打开 Test Buzzer程序。程序比较简单,导入 time 软件包,从 pyb 导入 Pin 对象。声明 一个 IO 端口实例,Beep,第一个参数为端口名称,与原理图中对应的 P17相同。第二个参数设置该端口为输出端口,推挽输出模式,可以提供更大的输出电流和更快的变化速度。第三个参数,表明该端口偏置为低电平。下面是程序循环主体,通过调用 Beep的 Low 函数,将输出端口设为 低电平,延迟时间 0.3秒。接下来,调用 High 函数,设置 IO 端口为高电平,延迟0.3秒。输出 Beep字符串。程序运行后,蜂鸣器应该以 0.6 秒为周期,发出断续的蜂鸣声音。
程序运行之后,便可以听到蜂鸣器的声音了。
对程序进行小小的改动。声明一个按键,对应 P1 端口,这是 按键2 对应的端口。在循环程序中,判断按键端口状态是否为 0,如果为0,蜂鸣器发声,否则关闭蜂鸣器。下载程序之后,当按动 按键2 时,蜂鸣器发声。
※总 结 ※
本文介绍了控制主板上蜂鸣器的方法,使用端口 P17 作为输出端口,设置它的高低电平,便可以控制蜂鸣器发声。这在车模程序开发中,可以很方便指示车模软件运行状态。
参考资料
[1]
清华大学自动化系科技营-暨智能机器人挑战赛-学习方略 : https://zhuoqing.blog.csdn.net/article/details/140378536
超声波蜂鸣预警
实验使用的设备是超声波传感器、无源蜂鸣器将超声波设备插入到面包板,大眼睛对着我们时第一个引脚是正极,连接开发板VIN引脚第二个引脚是发射信号引脚,连接开发板D1引脚(对应GPIO5)第三个引脚是接受信号引脚,连接开发板D2引脚(对应GPIO4)第四个引脚是负极,连接面包板负极无源蜂鸣器的正极连接开发板D4引脚(对应GPIO2)负极连接面包板负极开发板的GND引脚连接面包板负极
程序代码如上:1、声明临时变量,用超声波测距组件获取距离赋予到临时变量2、判断距离如果小于15厘米执行alert函数,让蜂鸣器拉响警报否则让蜂鸣器停止
相关问答
单片机蜂鸣器問題请大虾举个简单例子来说明如何实现发出不...
对于单片机来说,用一个IO口的高低电平变化来产生的不同平率带动蜂鸣器产生各种生音事可以实现的。这个主要用定时器1CTC模式,启动iv_TIMER1_COMPA中断,然后得到...
蜂鸣器报警正常但按键声音发哑怎么回事-米宁™的回答-懂得
是蜂鸣器频率的问题,改变下按键时那个蜂鸣器的程序延时函数就行了。1,如果未揭蜂鸣上的纸片的话,揭后则脆而响了2,如果已揭的话,则更换一个新的则...
手机控制汽车远程熄火断电断油?-ZOL问答
一般情况下,车辆启动后,当钥匙离开探测范围,会有一次蜂鸣报警,此后不可熄火...wps中if函数最多可嵌套的层数为多少?6105浏览6回答华硕主板开机显示cpu...
戴尔电脑开不了机响6声-ZOL问答
连续长音蜂鸣报警是内存报警,长短相间蜂鸣报警是显卡报警,一般来说坏了的几率比...怎么在WPS的文本框中输入函数?583浏览5回答压缩包忘了解压直接打开word修...
C语言中怎样换行?-隔壁小徐啦的回答-懂得
\n转义字符参考:\a:蜂鸣,响铃\b:回退:向后退一格\f:换页\n:换行,光标到下行行首\r:回车,光标到本行行首\t:水平制表\v:垂直制表\\:反斜杠\':单引号\...
带使能端的2位十进制计数器设计原理图设计
呵呵,我就刚做了数字钟设计了的,我是电气自动化的:数字中电子技术课程设计报告数字电子技术课程设计报告题目:数字钟的设计与制作学年学期:...
C语言中怎样换行?-151****2652的回答-懂得
#includeintmain(){printf("第一行\n第二行");}\n转义字符参考:\a:蜂鸣,响铃\b:回退:向后退一格\f:换页\n:换行,光标到下行行首\r...
C语言中怎样换行?-137****3071的回答-懂得
\n转义字符参考:\a:蜂鸣,响铃\b:回退:向后退一格\f:换页\n:换行,光标到下行行首\r:回车,光标到本行行首\t:水平制表\v:垂直制表\\:反斜杠\'...
昆仑通态触摸屏黑屏为什么?-ZOL问答
通过脚本函数(位于系统函数-运行环境类)实现输入框大小改变,函数定义如下:函数:开关型SetNumPanelSize(开关型type,开关型size)参数:type确定键盘类型的参...
一只钟整点报时,1时敲1下,2时敲2下,小明从整点开始做2小时功...
[回答]如果一直敲个不停,那就是报时轮系有问题了需要修理。如果只是报时与显示发矗篡匪诂睹磋色单姬不符,那最简单的方法就是当报时几点,就直接把时针和分...