请选择 进入手机版 | 继续访问电脑版
凡是官网购买产品,均可以获得积分,(积分可以用来下载技术资料)还可以获得精致技术支持。零知实验室可提供全套电子方案定制服务,了解详情请咨询客服。           
查看: 1677|回复: 0

JoyStick游戏摇杆扩展板使用

[复制链接]
发表于 2018-10-17 12:17:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
JoyStick游戏摇杆作为一种常用的输入设备,在很多电子制作中都能应用到。这里以游戏摇杆扩展板-JoyStick Shield v1.A 为例进行讲解。该扩展板包含摇杆、6个按键和蓝牙、nrf2401、Nokia 5110、I2C扩展接口,使用非常方便。
1、扩展板外形:

1.jpg

2、接口引脚:

20181017121509.jpg

3、程序代码:
[C++] 纯文本查看 复制代码
/**
*    文件: joystick-游戏摇杆.ino      by 零知实验室([url]www.lingzhilab.com[/url])
*    -^^- 零知开源,让电子制作变得更简单! -^^-
*    时间: 2018/10/17 10:30
*    说明: JoyStick 游戏摇杆扩展板使用
**/

#define AX A0
#define AY A1

#define KEY_A 2
#define KEY_B 3
#define KEY_C 4
#define KEY_D 5
#define KEY_E 6
#define KEY_F 7 //与串口调试冲突
#define KEY_K 8

int x,y;

void setup() {
  Serial.begin(9600);

  pinMode(AX,INPUT);
  pinMode(AY, INPUT);
	
  pinMode(KEY_A, INPUT);
  pinMode(KEY_B, INPUT);
  pinMode(KEY_C, INPUT);
  pinMode(KEY_D, INPUT);
  pinMode(KEY_E, INPUT);
  //pinMode(KEY_F, INPUT);
  pinMode(KEY_K, INPUT);
}


void loop() {
    
	x = analogRead(AX);
    y = analogRead(AY);
	
	Serial.print(x);
	Serial.print(", ");
	Serial.println(y);
	
	if(digitalRead(KEY_A) == LOW)
	{
		Serial.println("KEY A");
	}
	if(digitalRead(KEY_B) == LOW)
	{
		Serial.println("KEY B");
	}
	if(digitalRead(KEY_C) == LOW)
	{
		Serial.println("KEY C");
	}
	if(digitalRead(KEY_D) == LOW)
	{
		Serial.println("KEY D");
	}
	if(digitalRead(KEY_E) == LOW)
	{
		Serial.println("KEY E");
	}
//	if(digitalRead(KEY_F) == LOW)
//	{
//		Serial.println("KEY F");
//	}
    if(digitalRead(KEY_K) == LOW)
	{
		Serial.println("KEY K");
	}
	
	delay(500);
}


4、测试结果:
把程序上传到零知标准板,打开串口调试,操作摇杆和按键,可以看到摇杆x、y轴可以在0~4096范围内变化,同时可以看到6个按键和摇杆按键检测:
20181017111358.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 小黑屋| 零知实验室 ( 粤ICP备17040594号-3 )

GMT+8, 2020-4-9 06:57 , Processed in 0.069867 second(s), 18 queries .

快速回复 返回顶部 返回列表