PS2摇杆

PS2 摇杆一般可以用来控制小车等等,其构造主要就是两个10K 的电位器,还有一个按键开关。五个端口分别为VCC,X,Button,Y,GND。
在这里插入图片描述

实验接线图

在这里插入图片描述
在这里插入图片描述


以下为参考程序代码:

#include <LiquidCrystal.h> //调用arduino 自带的LiquidCrystal 库
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);//设置接口
int xpotPin = 0; //设置模拟口0 为X 的信号输入端口
int ypotPin = 1; //设置模拟口1 为Y 的信号输入端口
int xval=0; //设置变量
int yval=0;
void setup()
{
pinMode(xpotPin,INPUT);//
pinMode(ypotPin,INPUT);//
lcd.begin(16, 2); //初始化LCD
delay(1000); //延时1000ms
}
void loop ()
{
xval = analogRead(xpotPin); //xval 变量为从0 信号口读取到的数值
yval = analogRead(ypotPin); //yval 变量为从1 信号口读取到的数值
lcd.clear(); //清屏
lcd.setCursor(0, 0) ; //设置光标位置为第一行第一个位置
lcd.print(“X=”); //使屏幕显示文字X=
lcd.print(xval);
lcd.setCursor(7, 0) ; //设置光标位置为第一行第八个位置
lcd.print(“Y=”); //使屏幕显示文字Y=
lcd.print(yval);
delay(100); //延时0.1 秒,这里也就是刷新速度。
}

实验效果

推动摇杆时,电位器阻值发生变化,相应的电压也会发生变化,液晶屏上的数字就是每一个轴的电压数字输出。
在这里插入图片描述

程序代码

#include <LiquidCrystal.h>   //调用arduino自带的LiquidCrystal库	
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);//设置接口	
int xpotPin = 0;  //设置模拟口0为X的信号输入端口
int ypotPin = 1;  //设置模拟口1为Y的信号输入端口
int xval=0;    //设置变量
int yval=0;	
void setup()
{
  pinMode(xpotPin,INPUT);//
  pinMode(ypotPin,INPUT);//
  lcd.begin(16, 2);  //初始化LCD
  delay(1000); //延时1000ms
}	
void loop ()
{	
  xval = analogRead(xpotPin);   //xval变量为从0信号口读取到的数值
  yval = analogRead(ypotPin);   //yval变量为从1信号口读取到的数值
  lcd.clear(); //清屏
  lcd.setCursor(0, 0) ; //设置光标位置为第一行第一个位置
  lcd.print("X=");      //使屏幕显示文字X=
  lcd.print(xval);
  lcd.setCursor(7, 0) ; //设置光标位置为第一行第八个位置
  lcd.print("Y=");      //使屏幕显示文字Y=
  lcd.print(yval);	
  delay(100);                     //延时0.1秒,这里也就是刷新速度。	
}