arduino读取控制手柄
来源:互联网 发布:美国人口老龄化数据 编辑:程序博客网 时间:2024/05/18 00:28
代码如下:
/* 定义串口发送编码 */#define CAR_ADVANCE '1'#define CAR_BACK '2'#define CAR_LEFT '3'#define CAR_RIGHT '4'#define CAR_STOP '0'/************************************************* Function: void get_rocker(int *buff)Description: 获取摇杆按钮状态(12针) x轴数据(A0针) y轴数据(A1) 并存储于Calls: digitalRead() analogRead()Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序) Input: buff 整型指针,获取一个指向3*sizeof(int)大小的存储空间Output: buff[0] 摇杆是否被按下 1-按钮未按下 0-按钮被按下 buff[1] 存储y轴数据 max=2^10-1=1023 min=0 buff[2] 存储x轴数据 max=2^10-1=1023 min=0Return: voidOthers: void*************************************************/ void get_rocker(int *buff){ buff[0]=digitalRead(12); buff[1]=analogRead(0); buff[2]=analogRead(1);}void setup() { Serial.begin(115200); pinMode(12,INPUT); digitalWrite(12,HIGH);//上拉}void loop() { int rocker_data[3]; //用于临时存储摇杆x轴y轴以及switch状态 get_rocker(rocker_data); //传递存储摇杆状态的数组首地址 //Serial.println(rocker_data[0]);//Serial.println(rocker_data[1]);//Serial.println(rocker_data[2]); //判断摇杆y轴状态 >这里定义>700表示正推 <600表示反推 if(rocker_data[1]>700) { Serial.println(CAR_LEFT); //Serial.println(rocker_data[1]); } else if(rocker_data[1]<600) { Serial.println(CAR_RIGHT); } //判断摇杆x轴状态 >这里定义>700表示正推 <600表示反推 if(rocker_data[2]>700) { Serial.println(CAR_BACK); } else if(rocker_data[2]<600) { Serial.println(CAR_ADVANCE); } //判断摇杆按钮状态 当按钮被按下,读取值为0 则经过逻辑非'!'运算取非,值变为真(0为假),则串口输出数据 if(!rocker_data[0]) { Serial.println(CAR_STOP); } //一般玩家手指反应时间长于100ms,因此定义延时100ms //建议定义延时是为了避免串口发送保持忙碌,给接收端处理数据时间 //具体延时时间视情况而定 delay(100);}
阅读全文
0 0
- arduino读取控制手柄
- PS2手柄遥控Arduino小车
- USB手柄的控制
- iOS游戏控制手柄
- Android手柄焦点控制
- 手柄控制-XInputDotNet插件
- VC读取游戏手柄按键
- Arduino 摇杆控制 舵机
- Arduino 控制四路继电器
- arduino-摇杆控制舵机
- Arduino之舵机控制
- Arduino舵机控制1
- arduino蓝牙控制灯泡
- arduino 红外控制彩灯
- Arduino控制风扇转动
- arduino控制步进电机
- Arduino控制L298N
- arduino按钮控制LED
- SDL2.0在mfc窗口中显示yuv的一种方法
- 一个复杂系统的拆分改造实践
- 库文件解释
- 107. Binary Tree Level Order Traversal II
- Android studio如果图像不能向右靠齐,怎么办
- arduino读取控制手柄
- Image-rotate-brightness-blur
- C# SqlCommandBuilder封装DRUD命令,更新数据库
- `Error:(11) No resource identifier found for attribute 'srcCompat' in package 'com.codifythings.ligh
- SSL_2301 混合背包
- gson。fromJson方法
- 疯狂Activiti6.0连载(26)BPMN边界事件
- Tensorflow-googlenetV3.py
- 01.使用eclipse+maven形式创建Jfinal项目(特效版)