合肥中科深谷嵌入式项目实战——人工智能与机械臂(五)

简介: 合肥中科深谷嵌入式项目实战——人工智能与机械臂(五)

⭐️定时器和按键消抖

我们前面介绍了实现stm32通过GPIO控制蜂鸣器响。本文会介绍定时器原理和按键消抖的相关知识。

🌟定时器

✨什么是定时器

STM32定时器是一种存在于STM32单片机中的外设,用于实现定时功能。STM32总共有8个定时器,包括2个高级定时器(TIM1、TIM8),4个通用定时器(TIM2、TIM3、TIM4、TIM5)和2个基本定时器(TIM5、TIM6)。不同种类的定时器具有不同的功能和特点。

✨定时器的作用

STM32定时器具有多种功能,包括:

  1. 计时:STM32定时器可以用于生成精确的定时时间,通过预分频器设置定时器的计数频率,以及通过重装载值(arr)设置定时器的计数量,从而控制定时器的计时时间。
  2. 中断:定时器可以产生中断,当定时器计数到设定值时,会产生一个中断信号,可以用于触发其他操作或中断处理程序。
  3. PWM产生:定时器可以配置为产生脉冲宽度调制(PWM)信号,用于控制电机速度、LED亮度调节、风扇风速调节等应用。
  4. 输入捕获:定时器可以监测外部信号的边沿并记录时间戳,用于测量脉冲宽度、频率或捕获外部事件的时间点,以及捕获高低电平长度。
  5. 编码器接口功能:一些定时器还具有编码器接口功能,可以处理旋转编码器的输入信号,并提供方向和计数功能,在电机上使用较多。

总的来说,STM32定时器通过多种功能实现了精确的定时操作,适用于各种不同的应用场景。

🌟按键消抖

✨什么是按键消抖

按键消抖是为了避免在按键按下或是抬起时电平剧烈抖动带来的影响。由于机械触点的弹性作用,按键开关在闭合时不会立刻稳定的接通,在断开时也不会一下子断开,按键在闭合和断开的瞬间会有一连串的抖动。按键消抖的关键是提取稳定的低电平(或高电平)状态,滤除按键稳定前后的抖动脉冲。

✨按键抖动

      通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。

      抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。

✨按键消抖方法

硬件消抖

适用于按键较少时

  • (1)RS触发器

      图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为0;当键按下时,输出为1。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。

  • (2)电容器

      利用电容的放电延时,采用并联电容法,也可以实现硬件消抖。如图所示,由于电容两端电压不能突变,使得按键两端的电压平缓变化,直至电容充放电到达一定电压阈值时,单片机才读取到电平变化。

软件消抖

如果按键较多,常用软件方法消抖

  • (1)延时函数按键消抖

      检测出键闭合后执行一个延时程序,5ms~10ms(取决于机械特性)的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

优点:简单方便

缺点:程序在空跑浪费CPU资源、不够精准

  • (2)定时器按键消抖

      原理:按键采用中断驱动方式,当按键按下以后触发按键中断,在按键中断中开启一个定时器,定时周期为 10ms,当定时时间到了以后就会触发定时器中断,最后在定时器中断处理函数中读取按键的值,如果按键值还是按下状态那就表示这是一次有效的按键。

⭐️总结

我们学习了定时器的相关知识,以及在实际编程中遇到了按键消抖要怎么处理。

相关文章
|
2天前
|
传感器 数据采集 人工智能
合肥中科深谷嵌入式项目实战——人工智能与机械臂(三)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(三)
|
2天前
|
人工智能 机器人
合肥中科深谷嵌入式项目实战——人工智能与机械臂(二)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(二)
|
2天前
|
传感器 数据采集 人工智能
合肥中科深谷嵌入式项目实战——人工智能与机械臂(四)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(四)
|
2天前
|
人工智能 编解码
合肥中科深谷嵌入式项目实战——人工智能与机械臂(六)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(六)
|
3天前
|
人工智能 搜索推荐 语音技术
AI赋能视频剪辑师:人工智能时代,视频剪辑师该如何剪辑?
在AI时代,视频剪辑师借助智能素材整理、自动化剪辑、语音识别及创意辅助技术,提升效率和创新空间。他们应拥抱AI,结合AI优化剪辑流程,如高效预筛选素材、减少手动操作,同时借助AI激发创意。保持主观能动性和创造力至关重要,通过学习,如获取Adobe国际认证,提升专业技能,适应行业发展,打造个人品牌,以在行业中保持竞争力。
|
3天前
|
机器学习/深度学习 人工智能 搜索推荐
人工智能技术--AI作画工具
AI作画工具是一种运用人工智能技术,特别是深度学习和生成对抗网络(GAN)等算法,自动生成或辅助创作视觉艺术作品的技术。通过机器学习,分析和模拟人类艺术家的创作风格和技巧,从而创作出具有艺术性的画作。
17 1
|
5天前
|
人工智能 算法 安全
人工智能伦理:我们准备好面对AI的未来了吗?
【6月更文挑战第24天】随着人工智能(AI)技术的飞速发展,其带来的伦理问题也愈发显著。本文探讨了AI技术在发展过程中可能遇到的伦理挑战,包括隐私泄露、自动化导致的失业、算法偏见以及超级智能的潜在威胁等。文章强调了建立全面的伦理框架和监管机制的必要性,并提出了促进人类与AI和谐共存的策略。
|
10天前
|
人工智能 前端开发 搜索推荐
人工智能(AI)在前端设计中的创新应用
人工智能(AI)在前端设计中的创新应用
32 4
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
生成式人工智能(AIGC,Generative AI)
生成式人工智能(AIGC,Generative AI)
40 3
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能AI风口已开:如何赋予UI设计与视频剪辑新生命
AI正深刻影响UI设计和视频剪辑行业。在UI设计中,AI提供智能辅助设计,跨模态生成和个性化定制,帮助设计师提高效率,创新设计。AI分析趋势和用户行为,生成设计方案,支持语音和文本输入,增强设计的多样性和个性化体验。在视频剪辑领域,AI实现智能素材管理,自动化剪辑处理和特效生成,提升剪辑质量和速度。通过Adobe国际认证,设计师和剪辑师可以系统学习并掌握这些AI技术,提升职业竞争力,共同开创行业新未来。