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: [email protected] 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);} }