首页 > 其他分享 >【物联网技术与应用】实验14:PS2操纵杆实验

【物联网技术与应用】实验14:PS2操纵杆实验

时间:2024-12-26 12:57:28浏览次数:5  
标签:14 Arduino print 操纵杆 实验 PS2 Serial

实验14 PS2操纵杆实验

【实验介绍】

操纵杆是一种输入设备,由一个可在基座上旋转并向其控制的设备报告及角度和方向的操作杆组成,操纵杆通常用于控制视频游戏和机器人,这里使用操纵杆ps2。

img

【实验组件】

● Arduino Uno主板* 1

● USB数据线* 1

● PS2游戏手柄模块* 1

● 面包板*1

● 9V方型电池*1

● 跳线若干

【实验原理】

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

img

【实验内容】

第一步:建立电路

img

img

第二步:程序

第三步:编译

第四步:将程序上传至Arduino Uno板

代码如下:

/*********************************************

 \* name:Joystick PS2

 \* function:push the joystick and the coordinates of X and Y axes displayed on Serial Monitor will change accordingly; 

 \* press down the joystick, and the coordinate of Z=0 will also be displayed.

 connection:

 Joystick PS2         Arduino Uno R3

 GND	           GND

 VCC	           5V

 SW	           7

 x	           A0

 y	           A1

 ***********************************************/

 

const int xPin = A0;   //X attach to A0

const int yPin = A1;   //Y attach to A1

const int btPin = 7;   //Bt attach to digital 7

 

void setup()

{

 pinMode(btPin,INPUT); //set btpin as INPUT

 digitalWrite(btPin, HIGH); //and HIGH

 Serial.begin(9600); //initialize serial

}

 

void loop()

{

 Serial.print("X: ");//print "X: "

 Serial.print(analogRead(xPin),DEC); //read the value of A0 and print it in decimal

 Serial.print("\tY: "); //print "Y: "

 Serial.print(analogRead(yPin),DEC); //read the value of A1 and print it in decimal

 Serial.print("\tZ: "); //print "Z: "

 Serial.println(digitalRead(btPin)); read the value of pin7 and print it

 delay(100);//delay 100ms

}

【实验结果】

现在,推动摇杆,串行监视器上显示的X轴和Y轴坐标将相应改变;按下按钮,Z的坐标也会显示出来如图所示:

img

【实验体会】

通过本次实验,我顺利达成了运用 PS2 游戏手柄模块与 Arduino Uno 主板对摇杆进行操控的目标。实验初始,我精心构建电路连接,全力保障 PS2 游戏手柄模块与 Arduino Uno 主板之间能够稳定、正常地通信。之后,我启用给定的程序代码,并将其上传至 Arduino Uno 主板以开展编译与运行工作。

在实验进行时,我察觉到操纵杆模块具备两个模拟输出,这两个输出分别对应着 X 和 Y 坐标,同时还有一个数字输出用于表征按下 Z 轴按钮的状态。当我推动摇杆之际,借助串行监视器,我能够即时观测到 X 轴与 Y 轴坐标值的动态变化。并且,当我按压摇杆上的按钮时,Z 轴的坐标值也会相应地变更为 0。

此次实验使我对操纵杆作为输入设备的使用方式有了更为出色的理解,也让我明晰了如何将其与 Arduino Uno 主板整合运用。我能够将这种操纵杆应用在控制视频游戏或者机器人等项目之中,以此达成更为灵动且精准的控制成效。

总体而言,本次实验堪称一次饶有趣味且极具收获价值的历程,它不仅深化了我对电子元件以及 Arduino 编程的认知,还进一步拓展了我的实验技能与实践能力,为我后续在相关领域的探索与创新奠定了更为坚实的基础。

标签:14,Arduino,print,操纵杆,实验,PS2,Serial
From: https://blog.csdn.net/superiony/article/details/144726705

相关文章

  • 实验7
    task41#include<stdio.h>23voidread();45intmain()6{7read();89return0;10}1112voidread()13{14FILE*fp;15intlen=0,num=0,a;1617fp=fopen("data4.txt","r");18......
  • UOJ37 【清华集训2014】主旋律(SCC/DAG 状态压缩)
    题意求一个有向图\(G\)删掉一些边后原图仍强连通的方案数。模数\(10^9+7\)。\(n\le15,m\len(n-1)\)分析SCC状压有一个非常经典的“耳分解”:以SCC内两个点(可以相同)为起点、终点,找一条除两端外不在SCC内的链,然后加进去。但是这里要求方案数,耳分解失效,考虑别的方法。......
  • Chapter 14. Measure Success
    ThesuccessofAIisperceiveddifferentlybyvariousgroupswithinorganizations.AIexpertstypicallydefinesuccessasthecreationofsophisticatedAIsolutionsandhigh-accuracymodels.Incontrast,executivesprioritizefinancialgainsandcostsav......
  • GaussDB 数据库实验环境搭建指导
    @目录简介内容描述实验环境说明1GaussDB数据库购买1.1实验介绍1.1.1关于本实验1.1.2实验目的1.2购买GaussDB数据库1.2.1登录华为云1.2.2购买华为云GaussDB数据库简介本指导书适用于在华为云部署购买GaussDB数据库,通过该指导书可以顺利完成GaussDB数据库在华为云的购买。......
  • oscp备战系列-Kioptrix2014
    文章目录一、信息收集二、漏洞探测三、漏洞利用四、后渗透一、信息收集主机探测nmap192.168.30.0/24-sP端口及版本探测nmap192.168.30.199-sV可以看到开放了80,8080端口,采用apache2.2.21mod_ssl2.2.21openssl0.9.8qWebDAV2php5.3.8OS:FreeBSD,22端......
  • 实验7
    任务4源代码1#include<stdio.h>23voidfunc1();4voidfunc2();56intmain()7{8printf("data4.txt统计结果\n");9func1();10func2();11return0;12}13//统计行数14voidfunc1()15{16intcnt=1;17......
  • 实验7
    任务1思考:fscanf会返回读取的数据个数,此处是起到保证输出数据正确的作用。任务2思考:基本同任务一相同。任务3思考:\'也表示‘任务4源代码#include<stdio.h>intmain(){FILE*fp;intline=0;intnum=0;charc;printf("data4.txt统计结果:\n");......
  • python爬虫实验:用Python爬取链家指定数据--附完整代码(基于requests和BeautifulSoup实
    1、前言 本实验实现了对链家房屋名字,所在小区,装饰,是否核验,楼层,总楼层以及租金进行爬取,仅供学习使用。2、url分析第二页:https://cd.lianjia.com/ershoufang/pg2/第三页:https://cd.lianjia.com/ershoufang/pg3/故第i页的url为:https://cd.lianjia.com/ershoufang/pg{i}/......
  • # 学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第14周学习总结
    学期(如2024-2025-1)学号(如:20241402)《计算机基础与程序设计》第14周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上......
  • P3313 [SDOI2014] 旅行
    P3313[SDOI2014]旅行题意简述:给一颗树,点有点权以及颜色,要求实现四种操作:1.修改某点点权2.修改某点颜色3.求一条树上最短路(x,y)上颜色与x,y都相同的点的点权和,保证x,y颜色相同4.求一条树上最短路(x,y)上颜色与x,y都相同的点的点权最大值,保证x,y颜色相同$1\len,m......