(6)蜂鸣器(又称音调报警)

news2024/11/24 0:09:38

文章目录

6.1 使用有源蜂鸣器而不是无源蜂鸣器

6.2 安装蜂鸣器

6.3 使蜂鸣器安静


蜂鸣器(或音调报警器)可用于以声音指示飞行器的状态变化。根据电路板的能力,它可以是一个有源设备(只需要施加电压来产生一个单一频率的音调),如下图所示,或者是一个由 PWM 驱动的无源压电设备,能够产生可变的音乐音调,如上图。有些板子可以使用这两种类型。

如果将能够产生 PWM 的输出端与无源压电体一起使用,它可以播放各种声音(sounds),包括解锁声音、模式改变声音和丢失飞行器警报(在本页(this page)搜索"丢失旋翼飞机警报",在 RCx_OPTION 中搜索"丢失固定翼",例如 RC5_OPTION,或在辅助功能(Auxiliary Functions)中搜索"丢失无人车")。

Note

为了使用无源压电蜂鸣器来播放音乐通知音,自动驾驶仪固件必须在其构建定义中定义该功能到一个带有定时器的引脚。这不是用户可以通过参数设置添加的功能,不像使用有源单音蜂鸣器那样通过指定任何具有 GPIO 功能的引脚 NTF_BUZZ_PIN

Note

一些自动驾驶仪(大多数 1MB 闪存板)只提供了使用有源蜂鸣器的能力,并将提供一套有限的简单蜂鸣声,而不是音乐音来指示 ARMDISARM 等。有关信息见下一节。然而,有可能创建一个自定义的电路板固件,其中包括音调报警功能。然后,电机输出,可以用来驱动 ArduPilot 全范围内的蜂鸣器,这对于只支持蜂鸣器的板子来说是很方便的。使用的输出必须配置为 SERVOx_FUNCTION = 138 或 = 139,取决于所需的信号极性。

蜂鸣器的选择必须谨慎,因为电机/伺服输出只能提供很小的电流,因此最好使用具有独立电源和放大功能的蜂鸣器,如 HGLRC Soter FPV 无人机蜂鸣器(HGLRC Soter FPV drone buzzer)。选择的蜂鸣器输出需要在一个单独的 PWM 组中,即不能与用于其他功能的输出在同一组中,如 ESC DSHOT

6.1 使用有源蜂鸣器而不是无源蜂鸣器

有源蜂鸣器可以通过两种方式与无源蜂鸣器的电路板设置一起使用。

首先,有源蜂鸣器可以简单地取代设计用于播放音调警报的自动驾驶仪上的无源压电,注意蜂鸣器的极性(与无源压电蜂鸣器不同,有源蜂鸣器需要以正确的极性连接,才能正常工作)。不过,它将播放所有的声音,可能音量较小,而且没有无源蜂鸣器播放的精确音频。

另外,你可以把 NTF_BUZZ_PIN 设置为一个 GPIO 引脚,比如那些用于继电器控制(relay contro)的引脚,并把一个有源蜂鸣器的负极连接到该引脚,然后把电源(通常是 +5V)加到蜂鸣器的正极。这通常是一些自动驾驶飞机上的"BUZZ"或"BUZZ-"输出引脚的使用方法。

如果使用有源蜂鸣器,NTF_BUZZ_ON_LVL 参数决定了激活它所需的引脚电平。

如果使用一个有源蜂鸣器,它可以指示以下内容:

STATUS

Pattern

解锁

3 sec long Beep

解锁失败

Single Beep

加锁

Single Beep

电池失控保护

Single Beep repeating every 3 sec

EKF失败

Beeeep-Beeep-Beep-Beep

丢失无人机

Beep-Beep repeating every 3 sec

Note

对于许多板子来说,GPIO 引脚号码被分配给 PWM 输出,用于交替使用只能通过查看该板子的 hwdef.dat 文件(here)来找到。

6.2 安装蜂鸣器

如果蜂鸣器放在离自动驾驶仪太近的地方,蜂鸣器发出的声音会影响加速度计,这可能导致蜂鸣器启动时高度保持性能不佳。蜂鸣器最好安装在离自动驾驶仪至少 5 厘米的地方,扬声器(即开孔)不应直接指向自动驾驶仪

6.3 使蜂鸣器安静

一些自动驾驶仪(如 HobbyKing PixRacer)有内置的蜂鸣器。我们建议通过设置以下参数禁用这些蜂鸣器:

  • NTF_BUZZ_TYPES 控制哪些类型的蜂鸣器被启用:引脚驱动的蜂鸣器(内置或外置),和/或基于 ESCDShot
  • 4.1 之前的固件中,设置 NTF_BUZZ_ENABLE = 0 以禁用引脚驱动的蜂鸣器。

此外,NTF_BUZZ_VOLUME 可以用来控制音量。

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

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

相关文章

给定一组数据样本,计算:【样本的平均值】, 【样本的标准差】, 【样本的变异系数】,【样本的标准误差】

一、指标含义 样本的平均值:指样本中所有数据的总和除以样本大小,是样本的中心趋势的度量。平均值常用于描述数据的集中程度,具有良好的代表性和易于计算的优点。 样本的标准差:指样本中每个数据与平均值的偏差的平方和的平均值的…

openssl版本升级与降级

openssl版本升级与降级 flyfish 环境 Ubuntu 22.04 1.1.1升级3.1.1 查看openssl版本 openssl versionOpenSSL 1.1.1t 7 Feb 2023https://www.openssl.org/source/ 编译和安装 ./config --prefix/usr/local/openssl311 make -j8 make install进入/usr/local/openssl311/l…

JavaWeb两大组件FILTERLISTENER

一.Filter:过滤器 是什么: 当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 作用: 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤… 具体流程: 原始…

本地部署 FastChat

本地部署 FastChat 1. 什么是 FastChat2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 FastChat6. 使用命令行进行推理7. 使用 Web GUI 服务进行推理8. 使用 Lora 进行训练9. 其他 文章还在创作中。。。 1. 什么是 FastChat FastChat 是一个开放平台,用…

同步和异步、同步复位、异步复位、同步释放(Verilog、Verdi、DC综合)

文章目录 1.同步和异步2. 同步复位、异步复位、同步释放2.1 同步复位2.1.1 Verilog code2.1.2 Verdi waveform2.1.3 DC Synthesis 2.2 异步复位2.2.1 Verilog code 2.3 同步释放(异步信号和CLK信号存在时序检查、Recover time&Removel time)2.4 异步…

初识Docker:(7)查询Docker镜像的DockerFile

1. 前言 我们知道了根据dockerfile来制作镜像,如果给你一个现成的镜像,你能逆向查看出dockerfile吗? 否则,你怎么知道该镜像使用的是CMD还是ENTRYPOINT ,使用的是shell格式还是CMD格式?由于格式决定了doc…

numpy反向传播算法示例

numpy反向传播算法示例 数据 通过 scikit-learn 库提供的便捷工具生成 2000 个线性不可分的 2 分类数据集 按着7: 3比例切分训练集和测试集 backpropagation.py #!/usr/bin/env python # encoding: utf-8 """ desc: 反向传播算法 """impor…

leetcode电话号码的字母组合C++实现教程

链接: 电话号码的字母组合 class Solution {char* PNumStr[10] {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};//因为每次都需要执行拷贝,…

了解嵌入式系统的不同细分领域:探索嵌入式BSP的定义

嵌入式BSP是指嵌入式系统中的板级支持软件。它是针对特定硬件平台的软件包,提供了操作系统和硬件之间的抽象层,以便开发人员可以更方便地使用硬件功能和编写应用程序。 嵌入式BSP的功能包括: 设备初始化和配置:BSP负责初始化硬件设…

学做测试平台开发-Vuetify 框架

Vuetify 是 Vue 的语义化组件框架,旨在提供整洁、语义化和可重用的组件,使得构建应用程序更方便。 Vuetify 核心是为了提供各种可重复使用的,即插即用并且适合各种项目规格的组件。 Vue 的语义成分。利用 Vue 的功能组件,所有基…

kubectl port-forward 指令

背景: 当K8s的Service类型为ClusterIP,不是NodePort,就只能集群内部访问,想在外部访问可以执行kubectl port-forward,将一个或多个本地端口转发到 Pod或者Service 作用: 做转发,将本地端口转发…

使用 fitter 拟合数据分布

一、简介 前面的文章中通过假设对比来检验样本是否服从泊松分布。得出的结论是总体分布不服从泊松分布,那么如何找到与总体分布最接近的分布呢?不可能一个个分布去验证。这里便可以用到 fitter 这个库。 fitter 是一个小型的第三方库,提供了…

【粉丝投稿】一文带你了解MySQL的左连接与右连接

前言: 昨天粉丝问了一个问题,因此本篇文章主要讲解MySQL的左连接和右连接的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出,对大佬有帮助希望可以支持下哦~ 小威在此先感谢各位小…

LeetCode——从上到下打印二叉树 II

题目来源 剑指 Offer 32 - II. 从上到下打印二叉树 II - 力扣(LeetCode) 题目 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 示例 给定二叉树:[3,9,20,null,null,15,7] 返回其层…

vuex2实现时间列表选择器

目录 一、效果展示 二、代码分析 2.1、区域确定与坐标获取 2.2、单个点击与一次性点击 一、效果展示 主要借助自定义指令实现。在表格的"td们"上面进行移动框选,有一次性框选和单个框选,去掉自定义指令里的clearTargetNodes()会连续td,连…

Hudi学习5:Hudi的helloworld-编译源码

hudi是使用java代码编写的 部署hudi 1. 下载源码 Download | Apache Hudi https://dlcdn.apache.org/hudi/0.13.1/hudi-0.13.1.src.tgz 2.编译 安装maven 首先要先有JDK java8以上 配置镜像源 执行编译 测试

Yolov5小目标性能提升方案介绍

目录 1.小目标检测介绍 1.1 小目标定义 1.2 难点 2.小目标难点解决方案 2.1注意力提升小目标检测精度 2.1.1 上下文信息CAM 2.1.2 ConvNeXt 2.1.3 ECVBlock 2.1.4 多头上下文集成(Context Aggregation)的广义构建模块 2.2 多头检测头 2.3 loss优化…

spring 在容器中一个bean依赖另一个bean 需要通过ref方式注入进去 通过构造器 或property

spring 在容器中一个bean依赖另一个bean 需要通过ref方式注入进去 通过构造器 或property

Go语言net模块TCP和UDP编程实践

任何一种语言TCP和UDP网络编程总是必须的,接下来就将go语言中使用net标准库进行TCP和UDP编程进行梳理总结。 目录 1.代码结构 2.TCP通信 3.UDP通信 4.TCP模拟HTTP协议通信 5.利用TCP扫描那些端口被占用 1.代码结构 2.TCP通信 server.go package mainimport …

【正点原子STM32连载】 第四十八章 内存管理实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html# 第四…