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

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

3天内不再提示

双轴遥感按键简介

电子工程师 来源:FPGA之旅 作者:FPGA之旅 2022-08-10 09:13 次阅读

一. 前言

在控制物体移动方面,像控制智能小车、平衡车、四轴飞控,双轴遥感按键远比按键要实用,而且引脚少,程序编写简单,是时候该放弃对按键的使用了,来看看双轴遥感按键吧!

二. 双轴遥感按键简介

双轴,可以输出X,Y两个方向上的电压值表示当前遥感所处的位置。按键,可以按下,具有按键的功能,看到这里是不是觉得它功能强大!!!。每个轴共有三个引脚,分别是VCC,GND和信号引脚。所以说,它一共用六个引脚,外加按键的四个引脚。VCC可以接3.3-5V。信号引脚输出的电压为0-VCC。遥感处于中间位置的时候,两个轴输出的电压为VCC/2。以X轴为例,如果遥感在最右边,那么输出为0V,在最左边,那么输出为VCC。是不是觉得采集它的数据很容易,通过STM32内部的ADC就可以很轻松的采集到了,(#^.^#)。

f16bd620-17dc-11ed-ba43-dac502259ad0.png

二. 双轴遥感信号采集

采集部分我打算略写,一共两个通道,X,Y,使用ADC采集,ADC的配置基本上是通用的。采集到的值理论上为0-4096。

三.双轴遥感信号校准

由于实际上采集到的信号不为0-4096,这里需要有一个校准的操作。也就是采集多次各个方向上的遥感数据,然后取平均。X轴的最左边为例,这里采集了400次。同时对模拟量进行一个判断,在最左边的就要,否则舍弃。
/*XL方向校准*/void Rocker1CalibrationXL(void){uint16_ti;    uint32_t valueSum = 0;    for(i = 0 ;i < 400; )    {uint16_tvalue=getX1Value();/*获取X轴的模拟量*/if(value>0xf600)/*判断模拟值,是不是在左边了*/        {            valueSum += value;            i++;        }    }    XOffSetL = valueSum / 400;}

四.双轴遥感信号归一化

这里将X,Y两轴的信号全部归一化到0-100区间内,至于为什么归一化到这个区间内,是为了方便计算遥感的角度值。具体做法如下
  1. 获取原始数据
  2. 计算原始数据到对应两边界的距离
  3. 将计算得到的结果扩大100倍(避免小数),除以区间范围
  4. 左边 加(100 - 右边)除以2得到最终结
代码体现如下,Y轴也是如此。
 XValue =  getX1Value();  //获取X方向遥感数值 if(XValue > XOffSetL)      XtempL = 0;  /*小于左边界,直接复制为0*/  else      XtempL = XOffSetL - XValue ;if(XValue < XOffSetR)      XtempR = 0;  /*大于右边界,直接复制为0*/  else      XtempR = XValue - XOffSetR; uint32_t XtL = XtempL * 100; uint32_t XtR = XtempR * 100; XtL = XtL / (XOffSetL - XOffSetR); XtR = XtR / (XOffSetL - XOffSetR); X = (XtL + (100 - XtR)) / 2;  /*结果为遥感到左边界的距离,0 - 100*/

五.计算双轴遥感的角度

计算出来的角度分布如下图所示。

f198cc8e-17dc-11ed-ba43-dac502259ad0.png

先来想一下如何将遥感数据对应起这些角度来。不妨先看看遥感数据的特点。180°,X轴对应为0,0°,X轴对应100。如果只考虑半个圆0-180°。是不是可以用 180*X,然后用18000 - 180*X,最后除以一个100就ok啦!然后再看Y轴,如果Y轴输出小于50。那么整体度数加个180,就可以完美和上图对应起来啦。代码实现如下
/*将输入的pos信息 转换为角度信息*//*左为180度 上为270度*/uint16_t ConvPos2Angle(uint16_t pos){       uint16_t angle = 0;    uint8_t X = pos;uint8_tY=pos>>8;    uint16_t Xtemp =  180 * X;    uint16_t Ytemp =  180 * Y;    /*遥感位置中心 直接返回*/    if(X < 55 && X > 45 && Y < 55 && Y > 45)        return RockerNone;    /*Y轴位于上方,就是180°加上X轴的偏移*/    if(Ytemp < 9000)        angle = 18000 + Xtemp;    else         /*Y轴位于下方,就是180°减上X轴的偏移*/    {        if(Xtemp > 18000)            angle = 0;        else            angle = 18000 - Xtemp;    }    /*由于遥感数据有误差,需要截取*/    if(angle > 36000)angle=36000;    return angle / 100;}

审核编辑:汤梓红


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

    关注

    4

    文章

    220

    浏览量

    57338
  • 遥感
    +关注

    关注

    0

    文章

    210

    浏览量

    16602
  • Vcc
    Vcc
    +关注

    关注

    2

    文章

    288

    浏览量

    34923

原文标题:还在用按键? 快来试试双轴遥感按键吧!!!

文章出处:【微信号:FPGA之旅,微信公众号:FPGA之旅】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    原理简介

    原理简介 供大家参考
    发表于 08-29 21:39

    NanoPi +重力摇杆

    介绍JoystickMatrix-Joystick是一个按键摇杆模块,由两个滑动变阻器和一个按键组成。当拨动摇杆时,滑动变阻器的阻值就发生变化,对应的X/Y电压值也随之变化,而用力
    发表于 11-13 17:25

    无人机遥感技术

    无人机遥感(Unmanned Aerial Vehicle Remote Sensing ), 即利用先进的无人驾驶飞行器技术、遥感传感器技术、遥测遥控技术、通讯技术、GPS差分定位技术和遥感
    发表于 03-11 07:59

    遥感

    遥感是指非接触的,远距离的探测技术。一般指运用传感器/遥感器对物体的电磁波的辐射、反射特性的探测。[remote sensing] 通过人造地球卫星上的遥测仪器把对地球表面实施感应遥测和资源管理
    发表于 03-11 08:03

    无人机遥感技术

    1、无人机遥感简介无人机遥感(UnmannedAerialVehicleRemoteSensing),既是利用先进的无人驾驶飞行器技术、遥感传感器技术、遥测遥控技术、通讯技术、GPS差
    发表于 11-01 11:22

    请问怎么用arduino控制按键控制摇杆传感器

    `怎么用arduino uno控制控制摇杆传感器`
    发表于 11-24 15:19

    labview控制步进电机

    labview控制步进电机按照输出的正弦余弦波形运动
    发表于 01-04 11:24

    同轴//三射频电缆的区别是什么

    在寻找射频电缆或连接器时,你首先需要确定的是电缆。通常有3种类型的电缆,分别为同轴、和三电缆,每种类型都有差异和不同的尺寸。以下教大家怎么认清这三种电缆。      
    发表于 01-18 06:28

    几大主流公开遥感数据集

    By 超神经内容提要:利用遥感影像进行土地类别分型,最常用的方法是语义分割。本文继上期土地分类模型训练教程之后,又整理了几大主流公开遥感数据集。关键词:遥感数据集 语义分割 机器视...
    发表于 08-31 07:01

    STM32摇杆控制空心杯电机摇杆传感器

    STM32摇杆控制空心杯电机摇杆传感器  PS2
    发表于 09-07 08:43

    DDHD伺服驱动器概述

      概述:  卓越的伺服性能和紧凑的外形设计让DDHD伺服驱动器成为中低电压应用节约成本的理想解决方案。DDHD伺服驱动器由Servotronix的成功产品CDHD 伺服驱动器
    发表于 09-17 08:24

    如何使用单片机接入按键遥感

    文章目录1 简介2 主要器件2.1 摇杆模块2.2 电路原理图3 实现效果4 测试代码6 最后1 简介Hi,大家好,这里是丹成学长,今天向大家介绍如何使用单片机接入
    发表于 01-19 08:31

    MPU-6050模块三加速度+三陀螺仪简介

    MPU-6050模块三加速度+三陀螺仪简介模块引脚说明名称接线简介MPU-6050集成了3MEMS陀螺仪,3
    发表于 02-10 07:17

    电容按键简介

    一、电容按键简介电容器(简称为电容)就是可以容纳电荷的器件,两个金属块中间隔一层绝缘体就可以构成一个最简单的电容。如图 32-1(俯视图),有两个金属片,之间有一个绝缘介质,这样就构成了一个电容
    发表于 03-02 07:24

    【开源分享】STM32四遥控器

    作者:酷电玩家一、简介:基于小马哥RoboFly开源四软件平台设计的四遥控器,开源四:开源四飞行器二、遥控器功能:1.主控STM32
    发表于 06-08 15:11