2015年10月31日 星期六

ROSA 系統開發 11 ─ PS2 搖桿控制

http://4rdp.blogspot.com/2015/10/rosa-11-ps2.html

圖片來自 http://www.ltc.com.tw/
能與 Arduino 相連接的遊戲模組,以 PS2 搖桿最常見,俗稱香菇頭,它有 5 pin 端子,為 +, -, B, X, Y,分別與 Arduino 的 5V、GND、Dx、Ax、Ax 相接,Dx 是數位輸入腳,平時為 0當有按壓時為 1,Ax 為類比輸入腳,平常讀值約為 512,當搖桿偏一邊為 <200 或 >800,所以可以用這判斷搖桿偏向何處。










// (C) 2015, Bridan Wang, CC BY-NC-SA 3.0 TW
// http://4rdp.blogspot.tw/search/label/ROSA%20(Arduino)

// normal pin control
byte D_IN(byte p){
  pinMode(p, INPUT);
  return digitalRead(p);
}
unsigned int A_IN(byte p){
  pinMode(p, INPUT);
  return analogRead(p);
}

void PROCESS_1sec(void){
  Serial.print("A0 - (Y) ");
  Serial.println(A_IN(A0));
  Serial.print("A1 - (X) ");
  Serial.println(A_IN(A1));
  Serial.print("A2 - (B) ");
  Serial.println(D_IN(A2));
}


本 ROSA 範例程式,Y 接 A0,X 接 A1,B 接 D16 (A2),每秒向終端機程式送出搖桿讀值,其實在程式開發過程,不知道 Arduino 傳感器特性時,都是藉由 Serial.print() 把狀況印出來偵錯。

關於 normal pin control 說明,請回溯 ROSA 系統開發 5 ─ mBot 自走車驅動

沒有留言:

張貼留言