基于STM32F401RET6智能锁项目(BS82166A_3触摸按键)

一、BS81x 特征

• 工作电压:2.2V~5.5V
• 低待机电流
• 自动校准功能
• 可靠的触摸按键检测
• 自动切换待机 / 工作模式
• 最长按键输出时间检测
• 具备抗电压波动功能
• Level Hold,可选高有效或低有效
• NMOS 输出内建上拉电阻 /CMOS 直接 输出
• 支持串行和并行输出
• 外接电容调整感度
• 极少的外围组件

二、BS81x 概述

 

BS81x 系列芯片具有 2~16 个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该系列的芯片具有较高的集成度,仅需极少的外部组件便可实现触摸按键的检测。
BS81x 系列提供了串行及并行输出功能,可方便与外部 MCU 之间的通讯,实现设备安装及触摸引脚监测目的。芯片内部采用特殊的集成电路,具有高电源电压抑制比,可减少按键检测错误的发生,此特性保证在不利环境条件的应用中芯片仍具有很高的可靠性。
此系列的触摸芯片具有自动校准功能,低待机电流,抗电压波动等特性,为各种触摸按键的应用提供了一种简单而又有效的实现方法。

三、BS8166介绍

我们这里使用的是BS8166A-3,下图所示:
a0065fed70b14783a1a21773d34d76b7.png

1、引脚特征

91dfe1c89be94300a6bec7f94d3a8ef1.png
按键:16个触摸按键
通信方式:IIC

2、接口电气特征

c866c7de3b4b40238136963fb4e4fa2a.png

3、读写时序流程

f19a6670711b491b97611493ea1ca28f.png

4a9e40d25f2b4ea8bcd1c1b4ef1dbb41.png

写设置:起始条件+一个字节(触摸芯片器件地址+W)+从机回响应信号+主机发送命令字节+从机回响应信号+主机发送起始信号+一个字节(触摸芯片器件地址+R)+从机回响应信号+读取输出(从机发送)+主机发送停止信号

6d22ba7a10af44bc9a6abae4c674693b.png

读1个字节设置:起始条件+一个字节(触摸芯片器件地址+R)+从机回响应信号+主机发送命令字节+从机回响应信号+主机发送起始信号+一个字节(触摸芯片器件地址+R)+从机回响应信号+读取输出(从机发送)+主机发送停止信号

4、IRQ功能

5ae42916a55c4f63a59673aab86c4784.png

a0a4145702eb49f3b02683e34140045d.png

输出模式:IRQ_OMS = 0 (Level hold,低有效)主机在 IRQ 低电平时读取按键数据,当按键数据为 0 时停止读取。

c2ae9ffc48624b948a54eb23d5a1d1ae.png

输出模式:IRQ_OMS = 1 (One-shot,低有效 )按键状态发生改变时,发一脉冲信号。
9c098255c5cc463aa29cac65fbe9ee76.png

 

不使用 IRQ 功能时:Key16 (BS8116A-3) 是触摸按键
当主机读取所有按键为松键 (KeyStatus=0x00) 后,主机可以降低读取速度,使功耗降低,降低读取速度时按键反应速度会变慢。
最长按键持续时间:为尽量减少如不小心碰触到感应电极等此类的无意按键检测,芯片内部设置了最长按键持续时间功能。当某个触摸按键按下时,内部定时器开始计时,一旦按键按下的时间过长,超过大约 64s 后,触摸芯片会忽略该被触摸键的状态,重新校准,获取新的基准值,同时输出状态重置为初始状态。
自动校准功能:上电后,芯片会进行初始化,取得第一次基准值,接下来,若在正常模式下 1s 内,待机模式下 32s 内,没有按键被按下,触摸芯片在固定的时间周期到后,将自动校准基准值,使得基准值可以根据外界环境进行动态的变化。

 

四、代码例程

1、硬件原理图

ce6fbcc56b5c401b8a38db45b8d0cdd8.png

dc3e8976014a4616972f85b7fe508474.png

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RT Thread + CLion环境搭建

RT Thread CLion环境搭建 0.前言一、准备工具1. Env RT Thread v5.12.CLion安装3.编译及下载工具 二、新建Env工程三、CLion配置四、运行测试 0.前言 事情的起因是最近在使用RT Thread Studio时,发现默认的 rtt 内核版本及交叉编译链版本都过于陈旧,于…

其它高阶数据结构①_并查集(概念+代码+两道OJ)

目录 1. 并查集的概念 2. 并查集的实现 3. 并查集的应用 3.1 力扣LCR 116. 省份数量 解析代码1 解析代码2 3.2 力扣990. 等式方程的可满足性 解析代码 本篇完。 写在前面: 此高阶数据结构系列,虽然放在⑤数据结构与算法专栏,但还是作…

安全风险 - 如何解决 setAccessible(true) 带来的安全风险?

可能每款成熟的金融app上架前都会经过层层安全检测才能执行上架,所以我隔三差五就能看到安全检测报告中提到的问题,根据问题的不同级别,处理的优先级也有所不同,此次讲的主要是一个 “轻度问题” ,个人认为属于那种可改…

ui之资源

主题 样式 菜单 上下文菜单 国际化 1字符串资源 xml java代码中使用 //res-valuse-strings.xml 默认创建的 getResources().getString(R.string.x)2 实例 3 颜色资源语法 alpha red green blue <color 行 色块 择色器 定义文件&#xff0c;用 半透明 #440000FF 常用&…

Python 函数式编程

匿名函数 Python 允许用 lambda 关键字创造匿名函数。匿名顾名思义就是没有名字&#xff0c;即不需要以标准的方式来声明&#xff0c;比如说&#xff0c;使用 def 加函数名来声明。一个完整的 lambda “语句”代表了一个表达式&#xff0c;这个表达式的定义体必须和声明放在同…

2024CKE中国婴童展

举办地点&#xff1a;上海新国际博览中心 举办时间&#xff1a;2024年10月16-18日 同期展会&#xff1a;CTE中国玩具展、CPE中国幼教展、CLE中国授权展 展会规模&#xff1a;230,000平米 展商数量&#xff1a;2,500 参展品牌&#xff1a;5,212 …

【数据库】数据库指令

一。数据库打开 1.命令行 2.进入mysql mysql -uroot -p密码 3.退出 exit&#xff1b; 二。针对数据库的操作 1.创建数据库&#xff08;有分号&#xff09; create database student; 2.使用数据库 use student 3.删除数据库&#xff08;有分号&#xff09; drop database…

神经网络复习--卷积神经网络及其扩展

文章目录 卷积卷积网络反向传播已知池化层误差&#xff0c;反向求上一层隐藏层误差已知卷积层的误差&#xff0c;推导该层的W, b的梯度 注意力机制Transformer卷积变体 卷积 卷积神经网络是一个多层的神经网络&#xff0c;每层由多个二维平面组成&#xff0c;每个平面由多个独…

Llama 3 超级课堂 -笔记

课程文档&#xff1a; https://github.com/SmartFlowAI/Llama3-Tutorial 课程视频&#xff1a;https://space.bilibili.com/3546636263360696/channel/series 1 环境配置 1.1 创建虚拟环境,名为&#xff1a;llama3 conda create -n llama3 python3.10 1.2 下载、安装 pyt…

Prosys OPC UA Simulation Server工程文件备份方法

Prosys OPC UA Simulation Server是一款免费的OPC UA服务器仿真软件&#xff0c;具体的使用和下载参考官网&#xff1a; Prosys OPC - OPC UA Simulation Server Downloads 他的免费版本不提供工程文件的备份、导入导出功能&#xff0c;每次退出时保存。如果需要工程备份&a…

Java框架精品项目【用于个人学习】

源码获取&#xff1a;私聊回复【项目关键字】获取 更多选题参考&#xff1a; Java练手项目 & 个人学习等选题参考 推荐菜鸟教程Java学习、Javatpoint学习 前言 大家好&#xff0c;我是二哈喇子&#xff0c;此博文整理了各种项目需求 此文下的项目用于博主自己学习&#x…

vue2人力资源项目8员工详情

页面结构 <template><div class"dashboard-container"><div class"app-container"><div class"edit-form"><el-form ref"userForm" label-width"220px"><!-- 姓名 部门 --><el-row…