久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6178|回復: 22
收起左側

【Arduino】108種傳感器模塊系列實驗(127)---游戲搖桿擴展板

[復制鏈接]
ID:513258 發表于 2019-9-22 14:55 | 顯示全部樓層 |閱讀模式
37款傳感器與模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手試試做實驗,不管成功與否,都會記錄下來---小小的進步或是搞不定的問題,希望能夠拋磚引玉。

【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗一百二十七:JoyStick Shield PS2游戲搖桿擴展板 模擬鍵盤鼠標功能 大搖桿

0.jpg


回復

使用道具 舉報

ID:513258 發表于 2019-9-26 18:40 | 顯示全部樓層
01.jpg

Arduino搖桿模塊提供七個按鈕開關(六個獨立按鈕和搖桿下方的按鈕)和一個帶有兩個電位計的拇指搖桿。這個擴展板為您的Arduino提供舊的任天堂(Nintendo)控制器上的功能。搖桿可用于控制諸如旋律或屏幕上的像素之類的輸出。按鈕可用于導航或游戲控制。
回復

使用道具 舉報

ID:513258 發表于 2019-9-26 19:04 | 顯示全部樓層
02.jpg
雙軸搖桿參數
一、MECHANICAL CHARACTERISTIC 機械特性
1、Operating force of lever 搖桿作動力 :120±70 gf
2、Operating angle 操作角度:26° Max

二、ELECTRICAL CHARACTERISTIC 電氣特性
1、Rating power 額定功率:0.0125W
2、Maximum operating voltage最高使用電壓:AC 50V DC 5V
3、Voltage divider error 分壓誤差:44%~56%
4、Insulation resistance 絕緣阻抗:100M? 1 Minute at DC 250V
5、Dielectric voltage 耐電壓:1 Minute at AC 250V

三、SWITCH CHARACTERISTICS 開關規格
1、Operating force 開關按壓力:740±300gf
2、Contact resistance 接觸阻抗:100mΩ Max
3、Rating power 額定功率:DC12V 50mA

四、ENDURANCE CHARACTERISTIC 耐久特性
1、Rotational life 旋轉壽命:2000,000 cycles Min
2、Push operating life 開關按壓壽命:1,000,000 cycles Min

回復

使用道具 舉報

ID:513258 發表于 2019-9-26 19:10 | 顯示全部樓層
搖桿工作原理
搖桿電位器在直流電路中作為電流調節使用時,將有電流通過搖桿電位器的滑動臂,此時由于陽極氧化的原因會導致電阻值異常增加。在這種情況下,建議將連接電阻體的端子接負極,滑動臂接正極。如果直流電流直接通過搖桿電位器,搖桿電位器的陽極就會受到氧化損傷,從而讓搖桿電位器的阻抗變大,因此最好是將電流的負極接在跟碳膜片接觸的端子上,正極接在跟刷子(搖桿電位器接觸片)的端子上。搖桿電位器作為可變電阻器時,建議作調整電壓的分壓器使用,同時搖桿電位器的負載電阻RL應不小于搖桿電位器公稱阻值RT的10倍。在穩壓器中用來調節輸出電壓,故設計搖桿電位器應滿中順時針調節時輸出電壓升高,反時針調節器節時輸出電壓降低;在可調恒流充電器中搖桿電位器用來調節充電電流折大小,設計搖桿電位器時應滿中順時針調節時,電流增大。IC座,設計印刷板圖時,在使用IC座的場合下,一定要特別注意IC座上定位槽放置的方位是否正確,并注意各個IC腳位是否正確。

02-.jpg


回復

使用道具 舉報

ID:513258 發表于 2019-9-26 19:43 | 顯示全部樓層
添加nRF24L01的RF接口
添加Nokia 5110 LCD接口, 這樣非常方便游戲開發。
添加藍牙模塊的接口,方便藍牙無線串口通訊。
添加I2C通訊接口,方便I2C設備的連接
同時,JoyStick Shield 有1個PS2帶按鈕十字搖桿,還有4顆圓形按鈕,2個小按鍵。為Arduino提供了搖桿和按鍵的輸入擴展。板載開關可以在3.3V 和5V 之間切換,可以將此模塊用于其它3.3V單片機平臺,比如STM32。


05.jpg

回復

使用道具 舉報

ID:513258 發表于 2019-9-26 19:47 | 顯示全部樓層
04.jpg

技術參數:
A1PS2帶按鈕十字搖桿,4顆圓形按鈕,2個小按鍵。

B)板載的開關電壓可以在3.3V5V之間切換。

C1個復位按鍵

Dxbee/Bluetooh Bee/APC220藍牙無線數傳接口

E2.4G NRF24L01 RF無線數傳接口

FNokia 5110 LCD接口



回復

使用道具 舉報

ID:513258 發表于 2019-9-26 20:04 | 顯示全部樓層
03 (1).jpg
游戲搖桿擴展板的使用
(A)2.4G NRF24L01使用
模板的RF SPI接口對應
IRQ-->D8;CE-->D9;CSN-->D10;MOSI -->D11;
MISO-->D12;CLK -->D13;

(B)Bluetooh藍牙使用
模板的藍牙接口對應 RXD-->D1(TX);TXD-->D0(RX);
注意:當藍牙寫AT命令時,把板載上APC&BT附近的撥動開關撥到“H”,表示藍牙的KEY腳置高,或把板載上的“KEY”腳跳線到IO口,通過軟件控制藍牙的KEY。在藍牙其他情況下,撥動開關撥到“L”。

(C)Nokia 5110 LCD使用
模板的Nokia 5110接口對應
SCE-->D13;RST-->D12;DC-->D11;MOSI-->D10;SCLK-->D9;

(D)板載的按鍵參考代碼:
模板的按鍵接口對應
A-->D2;B-->D3;C-->D4;D-->D5;E-->D6;F-->D7;
X-->A0;Y-->A1;
S-->懸空(該鍵為搖桿的Z鍵,如果需要,可以跳線接入IO口)

回復

使用道具 舉報

ID:513258 發表于 2019-9-26 20:18 | 顯示全部樓層
08.jpg
06.jpg

回復

使用道具 舉報

ID:513258 發表于 2019-9-26 20:34 | 顯示全部樓層
接腳配置
PS2游戲搖桿(X軸A0,Y軸A1,Z軸按鍵D6)
四個獨立按鍵(D2、D3、D4、D5)
預留擴展接口:
1個I2C接口
1個TTL串口
模擬量接口(A2-A5)
數字量接口(D8-D13)
Arduino復位按鍵

完全兼容Arduino UNO R3接口
搖桿X\Y軸輸出為兩個電位器,可以通過AD轉換讀出扭動角度
向下按搖桿,可以觸發一路輕觸開關,為數字輸出
四路獨立按鍵,數字輸出,方便使用
板上標注有各個模塊的端口配置,方便調試
預留了其他沒有占用的端口,方便后期擴展
通過該擴展板可以制作一個遙控手柄,結合XBee模塊可實現無線控制
結合Arduino Leonardo還可以模擬電腦鼠標等
09.jpg


回復

使用道具 舉報

ID:513258 發表于 2019-9-26 20:59 | 顯示全部樓層
  1. /*
  2. 【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3. 實驗一百二十七:JoyStick Shield PS2游戲搖桿擴展板 模擬鍵盤鼠標功能 大搖桿
  4. 項目:搖桿擴展板測試
  5. */

  6. int FirstShotX , FirstShotY;

  7. void setup()

  8. {

  9.   for(int i=0; i<19; i++)

  10.   {

  11.     pinMode(i, INPUT);

  12.     digitalWrite(i, 1);

  13.   }



  14.   Serial.begin(9600);

  15.   FirstShotX = 0;

  16.   FirstShotY = 0;



  17. }



  18. void loop(){



  19.   int i, someInt, flag = 0;

  20.   for(i=2; i<8; i++)

  21.   {

  22.     someInt = digitalRead(i);

  23.     if(someInt == 0)

  24.     {

  25.       flag =1;

  26.       break;

  27.     }

  28.    }

  29.    if(flag == 1)

  30.    {   

  31.      switch(i)

  32.      {

  33.        case 2: Serial.println("--------> Button A"); break;

  34.        case 3: Serial.println("--------> Button B"); break;

  35.        case 4: Serial.println("--------> Button C"); break;

  36.        case 5: Serial.println("--------> Button D"); break;

  37.        case 6: Serial.println("--------> Button E"); break;

  38.        case 7: Serial.println("--------> Button F"); break;

  39.        default: break;

  40.      }

  41.      flag=0;

  42.    }

  43.   

  44.    int sensorValue = analogRead(A0);

  45.    if(FirstShotX == 0)

  46.    {

  47.      FirstShotX = sensorValue;

  48.      Serial.print("FirstShotX = ");

  49.      Serial.println(FirstShotX);

  50.    }

  51.   

  52.    Serial.print("X = ");

  53.    Serial.println(sensorValue - FirstShotX);

  54.   

  55.    sensorValue = analogRead(A1);

  56.    if(FirstShotY == 0)

  57.    {

  58.      FirstShotY = sensorValue;

  59.      Serial.print("FirstShotY = ");

  60.     Serial.println(FirstShotY);

  61.    }

  62.    Serial.print("Y = ");

  63.    Serial.println(sensorValue - FirstShotY);

  64.   

  65.    delay(200);

  66. }
復制代碼


回復

使用道具 舉報

ID:513258 發表于 2019-9-26 21:05 | 顯示全部樓層
10.jpg
回復

使用道具 舉報

ID:513258 發表于 2019-9-26 21:12 | 顯示全部樓層
  1. /*
  2. 【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3. 實驗一百二十七:JoyStick Shield PS2游戲搖桿擴展板 模擬鍵盤鼠標功能 大搖桿
  4. 項目:搖桿擴展板測試之二
  5. */

  6. char button0=7, Y=6, R=3, G=4, B=5;

  7. void setup(void)
  8. {
  9.   pinMode(R, INPUT);      //設置口按鍵為輸入狀態,并配置上拉。
  10.   digitalWrite(R, HIGH);
  11.   
  12.   pinMode(button0, INPUT);      
  13.   digitalWrite(button0, HIGH);

  14.   pinMode(G, INPUT);     
  15.   digitalWrite(G, HIGH);  
  16.   
  17.   pinMode(B, INPUT);     
  18.   digitalWrite(B, HIGH);

  19.   pinMode(Y, INPUT);      
  20.   digitalWrite(Y, HIGH);  
  21.   
  22.   Serial.begin(9600);           //設置串口通信9600波特率
  23. }

  24. void loop(void)
  25. {
  26.   Serial.print(analogRead(1));          //讀取搖桿Y軸的值,串口顯示
  27.   Serial.print(",");
  28.   Serial.print(analogRead(0));         //讀取搖桿X軸的值,串口顯示
  29.   Serial.print(",");

  30.   Serial.print(digitalRead(button0));    //讀按鍵值,串口顯示
  31.   Serial.print(digitalRead(R));   
  32.   Serial.print(digitalRead(G));   
  33.   Serial.print(digitalRead(B));
  34.   Serial.println(digitalRead(Y));      
  35.   
  36.   delay(100);   //100ms刷新一次
  37. }
復制代碼


回復

使用道具 舉報

ID:513258 發表于 2019-9-26 21:16 | 顯示全部樓層
11.jpg
回復

使用道具 舉報

ID:513258 發表于 2019-9-26 21:26 | 顯示全部樓層
  1. /*
  2. 【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3. 實驗一百二十七:JoyStick Shield PS2游戲搖桿擴展板 模擬鍵盤鼠標功能 大搖桿
  4. 項目:搖桿擴展板測試之三
  5. */

  6. char K=8 ,A=2, B=3, C=4, D=5, E=6,F=7;

  7. void setup(void)
  8. {
  9.    pinMode(K, INPUT);      
  10.   digitalWrite(K, HIGH);
  11.   
  12.   pinMode(A, INPUT);      //設置口按鍵為輸入狀態,并配置上拉。
  13.   digitalWrite(A, HIGH);
  14.   
  15.   pinMode(B, INPUT);      
  16.   digitalWrite(B, HIGH);

  17.   pinMode(C, INPUT);     
  18.   digitalWrite(C, HIGH);  
  19.   
  20.   pinMode(D, INPUT);     
  21.   digitalWrite(D, HIGH);

  22.   pinMode(E, INPUT);      
  23.   digitalWrite(E, HIGH);  

  24.   pinMode(F, INPUT);      
  25.   digitalWrite(F, HIGH);
  26.   
  27.   Serial.begin(9600);           //設置串口通信9600波特率
  28. }

  29. void loop(void)
  30. {
  31.   Serial.print("X軸;");
  32.   Serial.print(analogRead(0));          //讀取搖桿X軸的值,串口顯示
  33.   
  34.   Serial.print(" Y軸;");
  35.   Serial.print(analogRead(1));         //讀取搖桿Y軸的值,串口顯示
  36.   
  37.   Serial.print("  K鍵");
  38.   Serial.print(digitalRead(K));

  39.   Serial.print("  A鍵");
  40.   Serial.print(digitalRead(A));
  41.    
  42.   Serial.print("  B鍵");
  43.   Serial.print(digitalRead(B));

  44.   Serial.print("  C鍵");
  45.   Serial.print(digitalRead(C));

  46.   Serial.print("  D鍵");  
  47.   Serial.print(digitalRead(D));

  48.   Serial.print("  E鍵");
  49.   Serial.print(digitalRead(E));

  50.   Serial.print("  F鍵");
  51.   Serial.print(digitalRead(F));      

  52.   Serial.println();  

  53.   delay(100);   //100ms刷新一次
  54. }
復制代碼


回復

使用道具 舉報

ID:513258 發表于 2019-9-26 21:27 | 顯示全部樓層
12.jpg
回復

使用道具 舉報

ID:513258 發表于 2019-9-27 07:07 | 顯示全部樓層
13.jpg
回復

使用道具 舉報

ID:300101 發表于 2019-11-9 20:07 | 顯示全部樓層
這個手柄不光孩子們喜歡,大人們拿到手上也不放松啊
回復

使用道具 舉報

ID:513258 發表于 2020-3-31 17:02 | 顯示全部樓層
vvv64 發表于 2019-11-9 20:07
這個手柄不光孩子們喜歡,大人們拿到手上也不放松啊

是啊,不錯的手柄
回復

使用道具 舉報

ID:104477 發表于 2020-4-8 17:44 來自手機 | 顯示全部樓層
按鍵太少了,有些游戲要6個按鍵
回復

使用道具 舉報

ID:513258 發表于 2020-10-24 15:37 | 顯示全部樓層
hs88 發表于 2020-4-8 17:44
按鍵太少了,有些游戲要6個按鍵

是啊,勉強能用
回復

使用道具 舉報

ID:652974 發表于 2020-10-29 20:35 來自手機 | 顯示全部樓層
有做遙控的嗎
回復

使用道具 舉報

ID:513258 發表于 2020-10-30 10:15 | 顯示全部樓層

暫時沒做這方面的實驗
回復

使用道具 舉報

ID:937433 發表于 2021-6-14 18:36 | 顯示全部樓層
schematics please
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费看淫片 | 99久久久久久 | 午夜欧美 | 国产成人一区二区 | 欧美一区二区三区四区在线 | 久久久片 | 亚洲第一区国产精品 | 日韩精品在线看 | 国产精品毛片在线 | 午夜精品 | 这里精品| 成人av免费| 欧美爱爱视频 | 日本黄色大片免费 | 小川阿佐美pgd-606在线 | 99re在线免费视频 | 国产精品资源在线 | 久久国产精品91 | 欧美日韩成人在线 | 亚洲国产69 | 国产精品片aa在线观看 | 综合久久亚洲 | 日韩免费在线视频 | 免费激情网站 | 日朝毛片| 日本精品国产 | 日韩欧美国产精品 | 国产精品一区久久久久 | av中文字幕在线 | 国产区久久| 九九亚洲精品 | 日韩黄色小视频 | 亚洲欧美少妇 | 国产精品免费一区二区三区四区 | 高清国产午夜精品久久久久久 | 日韩精品免费 | 九九九久久国产免费 | 久久一二区 | 久久一本 | 日本a级大片 | 青青草一区 |