【Arduino】利用摇杆模块控制LED,简化操作难度

Joystick翻译过来有操作杆的意思,况如我们平时玩的游戏手柄上面带的那个操作杆,亦与我们小时候玩的游戏街机中的操作杆类似,我们可以把这个Joystick模块用到游戏上面,也可以用来自己DIY作品,通过Joystick模块可以使操作简单易懂。
我们需要的材料清单如下:
● Arduino UNO开发板 x1
● Joystick操纵杆模块 x1
● 5个LED指示灯 x5
● 连接导线 x若干
● 面包板 x 1
硬件电路的连接如下:

实验所用的代码如下:

/***********************************************************
 File name: _27_JoystickModule.ino
 Description: We measure the information of joystick module,
 and displayed in the serial monitor.
 Website: www.gewbot.com
 E-mail: support@adeept.com
 Author: Tom
 Date: 2017/03/16
 ***********************************************************/

#define button 2
#define JoyStick_X A0 //x
#define JoyStick_Y A1 //y

int buttonState = 0;

void setup()
{
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);

digitalWrite(button, HIGH);

Serial.begin(115200); // 115200 bps
}
void loop()
{
int xValue = analogRead(JoyStick_X);
int yValue = analogRead(JoyStick_Y);

buttonState = digitalRead(button);

Serial.print(xValue);
Serial.print("\t");
Serial.println(yValue);
delay(500);

//左
if (xValue>=0 && yValue<=10){
digitalWrite(10, HIGH);
}
else{digitalWrite(10, LOW);}

//下
if (xValue=500){
digitalWrite(11, HIGH);
}
else{digitalWrite(11, LOW);}

//上
if (xValue>=1020 && yValue>=500){
digitalWrite(9, HIGH);
}
else{digitalWrite(9, LOW);}

//右
if (xValue>=500 && yValue>=1020){
digitalWrite(8, HIGH);
}
else{digitalWrite(8, LOW);}

//消除影响
if(xValue>=1020 && yValue>=1020){
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}

if(buttonState == LOW){
Serial.println("Switch = High");
digitalWrite(7, HIGH);
}
else{digitalWrite(7, LOW);}
}

跳至工具栏