找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

【Arduino】108种传感器模块系列实验(127)---游戏摇杆扩展板

查看数: 6753 | 评论数: 22 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-9-22 14:55

正文摘要:

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动 ...

回复

ID:937433 发表于 2021-6-14 18:36
schematics please
ID:513258 发表于 2020-10-30 10:15

暂时没做这方面的实验
ID:652974 发表于 2020-10-29 20:35
有做遥控的吗
ID:513258 发表于 2020-10-24 15:37
hs88 发表于 2020-4-8 17:44
按键太少了,有些游戏要6个按键

是啊,勉强能用
ID:104477 发表于 2020-4-8 17:44
按键太少了,有些游戏要6个按键
ID:513258 发表于 2020-3-31 17:02
vvv64 发表于 2019-11-9 20:07
这个手柄不光孩子们喜欢,大人们拿到手上也不放松啊

是啊,不错的手柄
ID:300101 发表于 2019-11-9 20:07
这个手柄不光孩子们喜欢,大人们拿到手上也不放松啊
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: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 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. }
复制代码


小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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