触摸传感器 - 从零开始认识各种传感器【第五期】
本篇来学习触摸传感器。我们将为您介绍触摸传感器的工作原理、常见种类、以及通过MCU实际演示对于触摸传感器数据的读取过程。
标签
嵌入式系统
Lucia
更新2024-08-02
113

1、什么是触摸传感器?

触摸传感器也叫做触觉传感器, 它对于触摸或者压力敏感, 是一种用来检测物体接触或靠近的传感器。通常它是通过检测触摸界面的电容或电阻的变化,或者是检测声波反射等方式来工作,通常用于触摸屏、键盘和其他电子设备。触摸传感器可以取代机械按钮和开关,提供更直观和方便的用户界面。

2、触摸传感器是如何工作的?

触摸传感器的工作原理和开关非常类似:当它被触摸或者接近时,传感器内部的电路闭合并且导致电流流动。当释放触点时,电路断开,电路中没有电流流动。

3、常见的触摸传感器的种类

目前市场上常用的触摸传感器主要是电容式触摸传感器和电阻式触摸传感器。另外还有红外,以及超声波触摸等其他类型。

3.1 电容式触摸传感器

最常见的触摸传感器是电容式触摸传感器:目前我们使用的大多数带有触摸功能的便携设备,比如手机,平板等都是使用的电容式触摸传感器。

传感器的两个电极之间的电荷在没有触摸时是固定的,形成一个固定的电容Cp,测量电路会定期测量电容值。如果导电物体比如手指接触或接近传感器电极,人体手指与大地构成的感应电容Cr与Cp形成并联,输出电容变大,测量电路IC将检测到电容的变化并将其转换为触发信号。

3.2 电阻式触摸传感器

电阻式触摸的原理和电容式不同。它是在两个电极膜之间形成一定的绝缘空腔。当手指或者其他物品比如钥匙对表面薄膜接触并施加一定压力的时候,使得表面电极膜弯曲,和下面的电极膜接触,从而产生电流被检测到。

它的触摸是需要施加一定压力的使得电极模弯曲,而电容式触摸传感器则不需要,这是他们的一个主要区别。对于电阻式触摸传感器,任何能施加压力的物体都可以触发触摸动作,比如带着手套的手,这使得它的应用场景更为广泛。

3.3 红外触摸传感器

红外触摸传感器一般是运用X,Y方向上布满红外线的矩阵来检查并定位用户的触摸。通常应用在电子白板,触控一体机等大尺寸屏幕上。这种红外触摸屏是安装在在显示屏幕前面的一个电路板外框,电路板在屏幕四边排布红外线发射管和红外接收管。用户在触摸屏幕时,手指就会挡住经过该方位的红外线,因此能够判别出触摸点在屏幕的方位。相应的,超声触摸传感器也是基于类似的原理。

3.4 几种触摸传感器的比较

这里列出了三种触摸传感器的对比。可以看到,电容触摸传感由于其出色的响应速度和对多点触控及手势操作的支持,成为了手机等智能设备的首选。而电阻式触摸传感由于不依赖于手指操作且能适应各种恶劣环境,广泛应用于医疗以及户外设备。相比之下,红外和超声触控主要适用于一些大尺寸的场合。

4、触摸传感器实验演示 

最后,我们来演示如何使用配备显示屏的树莓派读取并显示触摸传感器的数据。这里我们选用的是一款电阻式触摸传感器。树莓派MCU通过模拟接口读取到的数字进行数字化处理后,在显示屏上直观地显示出来。

主控板卡:基于RP2040的带屏调试助手
以下是主程序中对于触摸传感器数据的获取代码示例。

from breakout_colourlcd240x240 import BreakoutColourLCD240x240
from machine import ADC, Pin, Timer, PWM,I2C
from utime import sleep
import time, math,array
#------------------------------------------------------------------
#初始化

width = BreakoutColourLCD240x240.WIDTH
height = BreakoutColourLCD240x240.HEIGHT
display_buffer = bytearray(width * height*2)
display = BreakoutColourLCD240x240(display_buffer)

stemp = ADC(2)

#全局变量

global current_temp
current_temp = 0 #当前数据
#-------------------------------------------------------------------
#屏幕基本图形绘制
def display_init():

display.set_pen(0,255,0)
display.rectangle(58,30,13,160)
display.circle(64,190,6)
display.set_pen(255,0,0)

display.text("current", 150, 20, 194, 2)
display.text("force", 150, 35, 194, 2)
display.update()

for i in range(6):
display.set_pen(0,200,0)
display.pixel_span(80,27 + i*30,10)
display.text(str(100 - i *20), 100, 20+i*30, 194, 2)
display.set_pen(0,0,220)
if i < 5:
for j in range(4):
display.pixel_span(80,33 + j*6 + i * 30,5)
display.update()
display.update()
#---------------------------------------------------------------------
#实时刷新
def display_change(temp, color):
global current_temp
current_temp = temp
#print(temp)
display.set_pen(color[0], color[1], color[2])
display.rectangle(58,30,13,160)
display.circle(64,190,6)
display.set_pen(0,0,150)
display.rectangle(58,20,13,7+int((50-temp/2)/2)*6)
display.set_pen(0,0,0)
display.rectangle(150,50,90,40)
display.set_pen(0,255,0)
display.text(str(temp), 150, 50, 5, 5)
display.update()
#----------------------------------------------------------------------
#数据获取
def get_temp():
Analogvalue=stemp.read_u16()
voltage=(80-100*float(Analogvalue)/65535)
#print(voltage)
return voltage

#----------------------------------------------------------------------

def main():
global current_temp,x

color = [0,255,0]
timer1 = Timer()

#基本图形绘制
display_init()

#timer1初始化
timer1.init(freq=15,mode=Timer.PERIODIC, callback=lambda t:display_change(round(get_temp(),1), color))


while True:
sleep(0.1)
main()
团队介绍
你了解生活中常见的各种传感器是如何工作的吗?本系列将选择30种不同类型的传感器,通过5分钟左右的视频和文章带你一步步了解每个传感器的内部结构和工作原理,并推荐选型和购买合适的传感器。
团队成员
硬禾学堂
硬禾核心团队举办实战培训营已有超过6年的经验。自成立起矢志建立专业化、系统化、工程化技能培训体系,以在工业界中的最佳实践为行业培养技术中坚和领军人才。 硬禾采用Project-Based Learning(PBL)项目制教学方法,在基于实际产品和项目的教学过程中借助短期的高强度、快节奏的系统性实战训练,让学员迅速积累优秀工程师应具备的专业技能、职业素养和全区思维,加速其职业成长。
得捷电子
DigiKey 总部位于美国明尼苏达州锡夫里弗福尔斯市,是全球电子元器件和自动化产品前沿商业分销领域公认的领航者和持续创新者。我们通过分销来自 2,900 多家优质品牌制造商的 1,530 多万种元器件获得了强大的技术优势,并凭借行业领先的产品存货广度和深度以及立即发货的能力,确立了我们在分销领域的领导地位。DigiKey 还为工程师、设计师、创建者和采购专业人员提供丰富的数字解决方案、无障碍互动和工具支持,以帮助他们提升工作效率。如需了解更多信息,请访问 www.digikey.cn 并关注我们的微信、微博、腾讯视频和 BiliBili 账号。
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号