37 种传感器和模块的概念在互联网上广为流传。事实上,与 Arduino 兼容的传感器模块肯定不止 37 种。鉴于我手头上已经积累了一些传感器和模块,本着实践真知(一定要亲手做)的理念,出于学习和交流的目的,我准备尝试做实验一一个一个,不管成功与否,都会被记录下来——小进步或未解决的问题,希望能吸引到别人。
【Arduino】108种传感器模块系列实验(数据+代码+图形+仿真)实验38:摇杆双轴XY按键摇杆模块(PS2游戏航模控制摇杆)
操纵杆电位器
安装了两个10K高精度电位器和一个按键开关,功率0.015W,最大电压100V A.C,垂直位置可自动复位,用于控制键盘等,方向可自由控制输入输出模块的接线原理图,直观监控机器运行情况。
一、机械特性
1、杠杆操作力:120±70 gf
2、工作角度:最大26°
二、电气特性
1、额定功率:0.0125W
2、最大工作电压:AC 50V DC 5V
3、分压器误差:44%~56%
4、绝缘电阻:100M? DC 250V 1 分钟
5、介电电压:AC 250V 1 分钟
三、开关特性开关规格
1、操作力开关按压力:740±300gf
2、接触电阻:100mΩ Max
3、额定功率:DC12V 50mA
四、耐力特性
1、旋转寿命:2000,000 次循环
2、推杆使用寿命:1,000,000 次循环
它是如何工作的
当摇臂电位器用作直流电路中的电流调节器时,电流将流过摇臂电位器的滑臂。此时,由于阳极氧化,电阻值会异常增加。在这种情况下,建议将连接电阻体的端子连接到负极,将滑动臂连接到正极。如果直流电流直接通过摇臂电位器,摇臂电位器的阳极会被氧化损坏,从而增加摇臂电位器的阻抗。因此,最好将电流的负极连接到与碳膜片接触的端子上。输入输出模块的接线原理图,正极接电刷端子(摇杆电位器的接触片)。当摇杆电位器用作可变电阻时,建议用作分压器来调节电压。同时,摇臂电位器的负载电阻RL不应小于摇臂电位器标称电阻值RT的10倍。用于调压器中调节输出电压,所以摇杆电位器的设计应顺时针调满时输出电压增大,逆时针调压器调满时输出电压减小;在可调恒流充电器中,摇杆电位控制器用来调节充电电流的大小。设计摇杆电位器时,应在满时顺时针调整,电流会增大。 IC座,在设计印制板图的时候,在使用IC座的情况下,要特别注意IC座上的定位槽位置是否正确,注意每个IC引脚是否正确。
双轴XY按键摇杆模块
它由两个滑动变阻器和一个按钮组成。当摇杆拨动时,滑动变阻器的阻值发生变化,对应的X/Y电压值也发生变化,用力按压摇杆会触发按键按下时,对应的SW信号变为低电平。
摇臂双电位器实拍:通常在同一摇臂电位器结构的转轴上安装两个规格相同的电位器。当转轴调整时,两个电位器的滑动触点不同步转动。这种结构称为同轴异步双联动电位器。
还有高精度按键开关
X和Y轴,一键式
2.54mm排针接口,接线方便,通用性强
PCB尺寸(mm):24X32
它是如何工作的
模块有两个模拟输出接口和一个数字输出接口。输出值对应(X,Y)双轴偏移量,其类型为模拟量;按键表示用户是否按下Z轴,其类型为数字开关。模块集成电源指示灯,可显示工作状态;坐标标识清晰、简洁、准确。为了更方便与扩展板等标准接口配合,在设计中分别引出了X轴和Y轴的电路来控制输入到摇杆模块的x和y值,实现一定的功能。具体值。
引脚说明
名称说明
GND 接地
5V供电5V
SW 按钮(数字)
VRX X 轴(模拟)
VRY Y 轴(模拟)
模块性能
1.输入电压范围:DC3.3V 至 5V。
2.输出信号:模块有两个模拟输出和一个数字输出接口。输出值对应(X,Y)双轴偏移量,类型为模拟量;按键表示用户是否在Z轴上按下,其类型为数字开关。
3.可通过Arduino控制器进行编程,插入传感器扩展板,完成创意遥控互动作品。
4.十字摇杆是双向10K电阻。水龙头的阻力随着摇杆的方向而变化。本模块使用 5V 电源。在原始状态下,X和Y的读出电压约为2.5V。向箭头方向按压时,读出电压值随箭头方向增加,最大值为5V;反方向按下箭头时,读取输出电压值减小,最小值为0V。
一些应用程序
连接方式
GND、VCC (+5V) 不用说。
VRx、VRy(X、Y轴)为模拟输入信号,接模拟IO口A0~A7。
VRx和VRy的值:从0到1023,分别代表从左到右,从上到下。中值为512。
SW(Z轴)为数字输入信号,连接数字端口,上拉电阻使能。
SW的值:1表示未按下,0表示按下。
实验中VRx接A0,VRy接A1,SW接D6
/*
【Arduino】108种传感器模块系列实验(数据+代码+图形+仿真)
实验三十八:摇杆双轴XY按键摇杆模块(PS2游戏航模操纵杆)
*/
int 值 = 0;
无效设置()
{
pinMode(6, INPUT_PULLUP);
Serial.begin(9600);
}
空循环()
{
值 = 模拟读取(A0);
Serial.print(“X:”);
Serial.print(value, DEC);
值 = 模拟读取(A1);
Serial.print(” | Y:”);
Serial.print(value, DEC);
值 = digitalRead(6);
Serial.print(” | Z:”);
Serial.println(值, DEC);
延迟(1000);
}
初始状态
/*
【Arduino】108种传感器模块系列实验(数据+代码+图形+仿真)
实验三十八:摇杆双轴XY按键摇杆模组(PS2游戏航模控制杆)Part 2
*/
int JoyStick_X = A0;
int JoyStick_Y = A1;
int JoyStick_Z = 6;
无效设置()
{
pinMode(JoyStick_Z, INPUT);
Serial.begin(9600);
}
空循环()
{
int x,y,z;
x=analogRead(JoyStick_X);
y=analogRead(JoyStick_Y);
z=digitalRead(JoyStick_Z);
Serial.print(x ,DEC);
Serial.print(“,”);
Serial.print(y ,DEC);
Serial.print(“,”);
Serial.println(z ,DEC);
延迟(500);
}
请登录后发表评论
注册
社交帐号登录