2fach Joystickshield HU-M16 Arduino 摇杆是一款用于运动控制的扩展板,它连接到 Arduino 板,并允许通过 Arduino 板上的模拟引脚独立控制两个模拟摇杆。带有两个操纵杆的 Arduino UNO R3 扩展板。该模块与 Arduino IDE 可编程平台兼容。这使得使用来自操纵杆的数据来控制各种项目成为可能,例如机器人、遥控车辆和其他交互式设备。您可以通过以正确的方式对 Arduino 进行编程来根据您的需要自定义模拟棒的操作。
该扩展板带有 2 个 PS2 型 KY-023 操纵杆,可实现精确的运动控制。Arduino Shield Dual Joystick 具有用于伺服控制的数字支持连接器,以及用于通过 RF 与 NRF24L01 模块或蓝牙与 HC-06 模块进行无线连接的接口。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3
项目实验之二:动态测试1号摇杆的X、Y与Z的数值(引脚A0、A1与D2)
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3
项目实验之二:动态测试1号摇杆的X、Y与Z的数值(引脚A0、A1与D2)
*/
int value = 0; // 初始化一个整数变量,用于存储读取的值
void setup()
{
pinMode(6, INPUT_PULLUP); // 将引脚6设置为上拉输入模式,用于读取按键状态
Serial.begin(9600); // 初始化串行通信,波特率为9600
}
void loop()
{
value = analogRead(A0); // 读取A0引脚的模拟值(摇杆X轴)
Serial.print("X:"); // 输出X轴描述
Serial.print(value, DEC); // 以十进制格式输出X轴的值
value = analogRead(A1); // 读取A1引脚的模拟值(摇杆Y轴)
Serial.print(" | Y:"); // 输出Y轴描述
Serial.print(value, DEC); // 以十进制格式输出Y轴的值
value = digitalRead(6); // 读取6号引脚的数字值(按键状态)
Serial.print(" | Z: "); // 输出按键状态描述
Serial.println(value, DEC); // 以十进制格式输出按键状态值
delay(1000); // 延迟1秒
}
代码解读
1、引脚模式设置:在 setup 函数中,使用 pinMode(6, INPUT_PULLUP) 将6号引脚设置为上拉输入模式。这是为了读取摇杆的按键状态。
2、串行通信初始化:使用 Serial.begin(9600) 初始化串行通信,以便通过串行监视器查看摇杆的X、Y轴值和按键状态。
3、读取模拟值:在 loop 函数中,使用 analogRead(A0) 和 analogRead(A1) 读取摇杆的X、Y轴的模拟值。
4、读取数字值:使用 digitalRead(6) 读取摇杆按键的数字值(按键状态),用以检测是否按下。
5、串行输出:通过 Serial.print 和 Serial.println 函数将X、Y轴的模拟值和按键状态输出到串行监视器,以便调试和观察。
这段代码每隔1秒读取一次摇杆的X、Y轴值和按键状态,并输出到串行监视器,非常适合用于基础实验和学习。
实验串口返回情况
实验场景图
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3
项目实验之三:绘制X轴与Y轴的动态曲线
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3
项目实验之三:绘制X轴与Y轴的动态曲线
*/
int JoyStick_X = A0; // 定义X轴模拟输入引脚为A0
int JoyStick_Y = A1; // 定义Y轴模拟输入引脚为A1
int JoyStick_Z = 2; // 定义按键输入引脚为2
void setup()
{
pinMode(JoyStick_Z, INPUT); // 将按键引脚设置为输入模式
Serial.begin(9600); // 初始化串行通信,波特率为9600
}
void loop()
{
int x, y, z;
x = analogRead(JoyStick_X); // 读取X轴的模拟值
y = analogRead(JoyStick_Y); // 读取Y轴的模拟值
z = digitalRead(JoyStick_Z); // 读取按键的数字值(按键状态)
Serial.print(x, DEC); // 以十进制格式输出X轴的值
Serial.print(","); // 输出逗号分隔符
Serial.print(y, DEC); // 以十进制格式输出Y轴的值
Serial.print(","); // 输出逗号分隔符
Serial.println(z, DEC); // 以十进制格式输出按键状态值,并换行
delay(500); // 延迟500毫秒
}
代码解读
1、引脚定义:在代码的开头,使用变量定义了X轴、Y轴和按键的引脚,便于后续代码的使用和维护。
2、引脚模式设置:在 setup 函数中,使用 pinMode(JoyStick_Z, INPUT) 将按键引脚设置为输入模式,以便读取按键状态。
3、串行通信初始化:使用 Serial.begin(9600) 初始化串行通信,设置波特率为9600,以便通过串行监视器查看摇杆的X、Y轴值和按键状态。
4、读取和输出值:在 loop 函数中,通过 analogRead 和 digitalRead 函数分别读取X轴、Y轴的模拟值和按键的数字值,并通过串行通信输出。
5、数据格式:通过 Serial.print 和 Serial.println 函数输出X轴、Y轴的值和按键状态,使用逗号分隔符使输出格式更加清晰和规范。
这段代码每隔500毫秒读取一次摇杆的X、Y轴值和按键状态,并输出到串行监视器,适用于基础实验和学习。
实验串口返回情况
实验串口绘图器返回情况
评论