0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何制作ESP32电容式触摸输入器

454398 来源:工程师吴畏 2019-08-22 09:49 次阅读

步骤1:硬件

如何制作ESP32电容式触摸输入器

该设计采用以下硬件:

一,WiFi套件32.

三个,3/8“金属孔塞。

三,四“长度的28awg电线。

为了组装硬件,我执行了以下步骤:

剥离并镀锡每根4“线长的末端,如图所示。

将第一根导线焊接到ESP32的针脚13(TOUCH4,或”T4“,输入)。/li》

将第二根导线焊接到ESP32的第12针(TOUCH5,或“T5”,输入)。

将第三根导线焊接到ESP32的第14针(TOUCH6,或“T6”输入)。

将三个3/8“金属孔塞中的每一个焊接到三根线长度的自由端。

步骤2:软件。

文件“Buttons.ino”是一个包含设计软件的Arduino环境文件。除此文件外,您还需要WiFi Kit32 OLED显示屏的“U8g2lib”图形库(有关此库的更多信息,请参阅https://github.com/olikraus/u8g2/wiki)。

在Arduino目录中安装U8g2lib图形库,并将“Buttons.ino”加载到Arduino环境中,编译并将软件下载到ESP32中。

下载并运行后,顶部的显示屏应显示“按钮”,显示屏的第二行显示“1 2 3”作为按钮指示。在每个1,2,3按钮指示器下方是未经过滤的触摸读取值,并且在每个按钮指示器下方是按钮按下指示器(按下“1”,未按下“0”)。从视频中可以看出(并且经过长期测试确认),软件过滤器提供可靠的按钮输入检测,没有错误触发。

步骤3:关于软件。

该软件包含三个主要代码部分; Arduino需要“setup()”和“loop()”部分,以及“Interrupts”部分。 setup()部分包含初始化OLED和中断服务所需的代码。 OLED设置功能在上面的链接中描述。中断服务设置功能如下:

timerLoopSemaphore = xSemaphoreCreateBinary()”为“InterruptService()”(中断服务程序)创建一个信号量,以便在时间结束时通知loop()执行循环传递。

“timerInterruptService = timerBegin(0,80,true)”使用预定义为80的硬件定时器0创建一个定时器。

“timerAttachInterrupt(timerInterruptService,&InterruptService,true)”将InterruptService()附加到计时器。

“timerAlarmWrite(timerInterruptService,1000,true)”将中断服务速率设置为1000hz。

“timerAlarmEnable(timerInterruptService)”启动计时器警报,从而中断服务。

设置完成后,进入loop()并立即停在该行:

if(xSemaphoreTake(timerLoopSemaphore,portMAX_DELAY)== pdTRUE),

意味着loop()将在此时等待,直到来自InterruptService()的信号量到达。当信号量到达时,loop()代码执行,用按钮数据更新OLED显示,然后返回到顶部再次等待下一个信号量。 InterruptService()以1000hz运行且LOOP_DELAY值为30,loop()每30ms执行一次,或以33.333hz的显示更新速率执行。虽然这是大多数ESP32应用程序所需的更高的显示刷新率,但我使用此设置来说明过滤器的响应性。我测试并确定执行单个循环()传递所需的时间为20ms。

InterruptService()由setup()中创建的计时器以1000hz的速率调用。调用时,它会更新两个向下计数器,nLoopDelay和nButtonDelay。当nLoopDelay向下计数到零时,它发送信号量,允许loop()执行单次传递,然后重置nLoopDelay。当nButtonDelay向下计数到零时,它也会被重置,然后按钮“过滤”执行。

每个按钮过滤器都有一个唯一的过滤器计数器(例如nButton1Count,nButton2Count和nButton3Count)。只要分配给按钮的触摸输入值大于或等于定义的阈值(BUTTON_THRESHHOLD),分配给按钮和按钮的过滤器计数器保持为零。如果分配给按钮的触摸输入值小于定义的阈值,则分配给按钮的过滤器计数器每20ms递增一次。当过滤器计数器超过按钮过滤器值(BUTTON_FILTER)时,该按钮被视为“按下”。此方法的效果是创建一个过滤器,需要80ms(nmsutDelay * 4ms nButtonCountN,其中N是按钮数),连续触摸输入值低于定义的阈值,以考虑实际按下的按钮。任何小于80毫秒的时间都被视为“故障”并被过滤器拒绝。

鉴于此简要说明,如果您有任何疑问,请随时提出,我会尽力回答。

希望你喜欢它!

第4步:“即将推出的项目”。

即将推出的项目“Intelligrill®Pro”是一款双温度探头吸烟器监测仪,具有以下特点:

Steinhart-Hart温度探头计算(与“查找”表相对)增加准确性。

探针1的预测完成时间,包括Steinhart-Hart计算得出的提高的准确度。

第二个探头,探头2,用于监测吸烟者的温度(限制在32到399度之间)。

电容式触摸输入控件(如本教程中所示)。

基于WIFI的远程监控(使用固定的IP地址,可以在任何可以连接互联网的地方监控吸烟者的进度)。

扩展温度范围(再次为32至399度)。

在Intelligrill®发射器和大多数支持WiFi的监控设备上发出声音完成警报。

温度显示为°F或°C。

时间格式为HH:MM:SS或HH:MM。

电池显示为伏特或%充电。

即将推出基于螺旋钻的吸烟者的PID输出。

“Intelligrill®Pro”正在测试成为最准确,功能最强大且基于HTML的Intelligrill®我已经设计好了。

它仍然在测试中,但是在测试过程中它正在协助准备,我已经获得了超过几磅。

再次,我希望你喜欢它!

步骤5:下一个:ESP32 NTP温度探头模拟输入与Steinhart-Hart校正

Be准备为你的代数书除尘。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 触摸
    +关注

    关注

    7

    文章

    198

    浏览量

    64214
  • ESP32
    +关注

    关注

    18

    文章

    971

    浏览量

    17218
收藏 人收藏

    评论

    相关推荐

    电容式触摸芯片 超强抗干扰 选型指南、应用方案

    的制约;硬件结构包括:控制电容感测;控制负责执行软件算法,以处理电容式触触控芯片的输入
    的头像 发表于 12-23 16:14 98次阅读
    <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>芯片 超强抗干扰 选型指南、应用方案

    MSP430电容式触摸电源设计GUI用户指南

    电子发烧友网站提供《MSP430电容式触摸电源设计GUI用户指南.pdf》资料免费下载
    发表于 12-10 14:03 0次下载
    MSP430<b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>电源设计<b class='flag-5'>器</b>GUI用户指南

    电容式触摸感应和SYS/BIOS

    电子发烧友网站提供《电容式触摸感应和SYS/BIOS.pdf》资料免费下载
    发表于 10-18 13:52 0次下载
    <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>感应和SYS/BIOS

    电容式触摸按键的按键扩展方法

    电子发烧友网站提供《电容式触摸按键的按键扩展方法.pdf》资料免费下载
    发表于 09-27 11:43 0次下载
    <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>按键的按键扩展方法

    使用OpenSCAD脚本自动化电容式触摸传感PCB设计

    电子发烧友网站提供《使用OpenSCAD脚本自动化电容式触摸传感PCB设计.pdf》资料免费下载
    发表于 09-14 10:39 0次下载
    使用OpenSCAD脚本自动化<b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>传感<b class='flag-5'>器</b>PCB设计

    电容式触摸手势软件和调整应用说明

    电子发烧友网站提供《电容式触摸手势软件和调整应用说明.pdf》资料免费下载
    发表于 09-14 10:34 0次下载
    <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>手势软件和调整应用说明

    基于MSP430实现电视的电容式触摸按键

    电子发烧友网站提供《基于MSP430实现电视的电容式触摸按键.pdf》资料免费下载
    发表于 08-28 11:56 0次下载
    基于MSP430实现电视的<b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>按键

    请问电容式触摸按键的原理有哪些?

    请问电容式触摸按键的原理有哪些? 目前知道的是通过检测频率变化来判定,请问其余的方式是什么
    发表于 08-20 06:49

    电容式触摸感应技术的原理和类型

    电容式触摸感应技术是一种广泛应用于现代触摸屏设备中的技术,如智能手机、平板电脑、电脑触摸板等。其原理基于电容的变化来检测和感应
    的头像 发表于 08-05 15:20 1489次阅读

    具备超强抗干扰和自动校准功能的单通道电容式触摸IC-GT301L

    电容式触摸芯片内部集成高分辨率触摸检测模块和专用信号处理电路,以保证电容式触摸芯片对环境变化具有灵敏的自动识别和跟踪功能。
    的头像 发表于 07-23 09:11 360次阅读
    具备超强抗干扰和自动校准功能的单通道<b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>IC-GT301L

    基于Arduino的数字电容式触摸传感设计

    数字电容式触摸传感,简称电容式触摸传感,是一种通过检测物体(如手指)与传感
    的头像 发表于 07-05 17:47 1557次阅读
    基于Arduino的数字<b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>传感<b class='flag-5'>器</b>设计

    触摸按键PCB 设计要点V01

    采用触摸传感类型的不同,触摸输入方式可以分为电阻、电波(如表面声波)、 光学
    发表于 03-20 16:39 5次下载

    电容式传感MCU 电容式触摸噪声抗扰度指南

    电子发烧友网站提供《电容式传感MCU 电容式触摸噪声抗扰度指南.pdf》资料免费下载
    发表于 01-03 14:10 2次下载
    <b class='flag-5'>电容式</b>传感<b class='flag-5'>器</b>MCU <b class='flag-5'>电容式</b><b class='flag-5'>触摸</b>噪声抗扰度指南

    电容式传感MCU QE电容触摸高级模式参数指南

    电子发烧友网站提供《电容式传感MCU QE电容触摸高级模式参数指南.pdf》资料免费下载
    发表于 01-03 10:06 0次下载
    <b class='flag-5'>电容式</b>传感<b class='flag-5'>器</b>MCU QE<b class='flag-5'>电容</b><b class='flag-5'>触摸</b>高级模式参数指南

    电容式传感微控制 CTSU电容触摸介绍指南

    电子发烧友网站提供《电容式传感微控制 CTSU电容触摸介绍指南.pdf》资料免费下载
    发表于 01-03 10:05 1次下载
    <b class='flag-5'>电容式</b>传感<b class='flag-5'>器</b>微控制<b class='flag-5'>器</b> CTSU<b class='flag-5'>电容</b><b class='flag-5'>触摸</b>介绍指南