Arduino 实验篇 08 | PS2操纵杆实验

网友投稿 2019-12-19 10:34

https://cdn.china-scratch.com/timg/191221/10342CF0-0.jpghttps://cdn.china-scratch.com/timg/191221/10342B226-1.jpg实验介绍
https://cdn.china-scratch.com/timg/191221/10342KO2-2.jpg操纵杆是一种输入设备,由一根可在基座上旋转并向其控制的设备报告其角度或方向的操作杆组成。操纵杆通常用于控制视频游戏和机器人。这里使用操纵杆PS2。
https://cdn.china-scratch.com/timg/191221/10342CF0-0.jpghttps://cdn.china-scratch.com/timg/191221/10342I636-4.jpg实验组件
https://cdn.china-scratch.com/timg/191221/10342KO2-2.jpghttps://cdn.china-scratch.com/timg/191221/10342JG4-6.jpg1、Arduino Uno 主板

2、USB 数据线

3、PS游戏手柄模块

4、面包板

5、条线若干

https://cdn.china-scratch.com/timg/191221/10342M0a-7.jpghttps://cdn.china-scratch.com/timg/191221/10342CF0-0.jpghttps://cdn.china-scratch.com/timg/191221/10342T646-9.jpg实验原理
https://cdn.china-scratch.com/timg/191221/10342KO2-2.jpg

该模块具有两个模拟输出对(对应于X和Y坐标)和一个数字输出,表示是否在Z轴上按下。

https://cdn.china-scratch.com/timg/191221/10342CF0-0.jpghttps://cdn.china-scratch.com/timg/191221/10342Q132-12.jpg实物连接
https://cdn.china-scratch.com/timg/191221/10342KO2-2.jpg
https://cdn.china-scratch.com/timg/191221/10342W451-14.jpgPS2操纵杆实验
连接说明:在连接实物时,PS2操纵杆的VCC端连接Arduino Uno主板的电源的+5V,PS2操纵杆的GND端连接Arduino Uno主板的“接地”,PS2操纵杆URX和URY分别连接Arduino Uno主板的“A0”端和“A1”端,PS2操纵杆的SW端连接“7”端。https://cdn.china-scratch.com/timg/191221/10342CF0-0.jpghttps://cdn.china-scratch.com/timg/191221/1034295S4-16.jpg实验步骤
https://cdn.china-scratch.com/timg/191221/10342KO2-2.jpghttps://cdn.china-scratch.com/timg/191221/1034294P3-18.jpghttps://cdn.china-scratch.com/timg/191221/10343012S-19.jpg

第一步:建立电路

https://cdn.china-scratch.com/timg/191221/1034301044-20.jpg

https://cdn.china-scratch.com/timg/191221/1034294P3-18.jpghttps://cdn.china-scratch.com/timg/191221/10343012S-19.jpg

第二步:编辑程序(如下)

const int xPin = A0;   
const int yPin = A1;     
const int btPin = 7;    
void setup()
{
  pinMode(btPin,INPUT);
  digitalWrite(btPin, HIGH);
  Serial.begin(9600);
}
void loop()
{
  Serial.print("X: ");
  Serial.print(analogRead(xPin),DEC);
  Serial.print("tY: ");
  Serial.print(analogRead(yPin),DEC);
  Serial.print("tZ: ");
  Serial.println(digitalRead(btPin));
  delay(100);
}

https://cdn.china-scratch.com/timg/191221/1034294P3-18.jpghttps://cdn.china-scratch.com/timg/191221/10343012S-19.jpg

第三步:编译代码                                                                                                 

https://cdn.china-scratch.com/timg/191221/1034294P3-18.jpghttps://cdn.china-scratch.com/timg/191221/10343012S-19.jpg

第四步:将代码上传到Arduino Uno板                                                                 

https://cdn.china-scratch.com/timg/191221/10342CF0-0.jpghttps://cdn.china-scratch.com/timg/191221/103430M21-28.jpg实验结果
https://cdn.china-scratch.com/timg/191221/10342KO2-2.jpg

当程序运行之后你会看到一个Arduino Uno板上的绿色LED灯亮起,和一个红色LED灯闪烁。当推动遥感,串行监视器上显示的X轴和Y轴坐标将相应改变;按下按钮,Z的坐标也会相应显示出来

点击二维码关注我们吧

     https://cdn.china-scratch.com/timg/191221/1034315459-30.jpg

          作者:涂友平

.

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com