48浏览
查看: 48|回复: 14

[项目] 【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

[复制链接]
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图2


驴友花雕  中级技神
 楼主|

发表于 昨天 17:47

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

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动手做(243)---双路 JoyStick 扩展板图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:52

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

可插接蓝牙模块

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:53

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

扩展板不能直接使用,需要配合Arduino uno开发板。

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:55

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

JoyStick 双路机械臂摇杆扩展板电原理图

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:59

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

Arduino 双操纵杆扩展板是一款多功能且易于使用的工具,可让您独立控制两个轴上的运动。它是您的机器人项目、游戏和其他需要精确可靠运动控制的应用的绝佳选择。该板与 PS2 和 KY-023 摇杆型号兼容,是 Arduino 项目中运动控制的完整解决方案。

该模块与 PS2 控制器上的“模拟”摇杆非常相似。方向运动只是两个电位计,每个轴一个。该操纵杆还有一个选择按钮,当按下操纵杆时,该按钮将被激活。借助此模块,您可以测量 X 轴和 Y 轴上的位置坐标。

特性
用于 Arduino 的板载双操纵杆
2 个操纵杆,
2 个按钮(在操纵杆中),
1 个返回 LED,
4 个伺服输出,
1 个蓝牙贴合(首选 HC-05),
型号名称:HU-M16
- 2.54mm 引脚接口电缆
- 使用寿命长,性能稳定。
- 标准接口和电子构建块。
- 广泛用于 Arduino DIY 项目。

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图2

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 18:01

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

DIY机械臂的应用方案

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图2
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 18:56

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

Shields HU-M16 双路机械臂摇杆扩展板的对应引脚

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图2
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 19:04

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3
  项目实验之一:测试摇杆与按钮

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3
  4.   项目实验之一:测试所有接口上的 摇杆和按钮
  5. */
  6. void setup(void)
  7. {
  8.   Serial.begin(9600); // 设置串口通信9600波特率
  9.   for (int i = 0; i <= 13; i++) // 定义按钮位置
  10.   {
  11.     pinMode(i, INPUT_PULLUP); // 设置引脚为上拉输入模式
  12.     digitalWrite(i, 1); // 设置引脚为高电平
  13.   }
  14. }
  15. void loop(void)
  16. {
  17.    //*******************摇杆位置判断,从端口从0-13,;A1-A5(14-20)
  18.    for (int i = 0; i <= 20; i++) // 从端口0到20
  19.    {
  20.      Serial.print(i);
  21.      Serial.print("=");
  22.      Serial.print(analogRead(i)); // 读取摇杆X轴的值,串口显示
  23.      Serial.print(";");
  24.    }
  25.    //****************************Button位置判断,从端口0-13,;A1-A5(14-20)
  26.    for (int i = 0; i <= 20; i++)  // 从端口0到20
  27.    {
  28.      if (digitalRead(i) == 0)  // 读取button状态,判断是否按下
  29.      {
  30.        Serial.print("button=");
  31.        Serial.print(i);
  32.        Serial.print(";");
  33.      }
  34.    }
  35.    Serial.println(""); // 结束一行
  36.    delay(100);   // 100ms刷新一次
  37. }
复制代码



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 19:06

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

代码解读

1、串口通信初始化:在setup函数中,使用Serial.begin(9600)初始化串口通信,以便通过串口监视器查看摇杆和按钮的状态。

2、引脚模式设置:使用pinMode(i, INPUT_PULLUP)函数将引脚设置为上拉输入模式,并通过digitalWrite(i, 1)将引脚初始化为高电平。

3、摇杆位置判断:在loop函数中,通过analogRead(i)函数读取从端口0到20的模拟输入值(摇杆X轴的值),并通过串口监视器输出。

4、按钮状态判断:通过digitalRead(i)函数读取从端口0到20的数字输入值(按钮状态),如果按钮按下(值为0),则通过串口监视器输出相应信息。

5、串口输出格式:在每次读取完摇杆和按钮状态后,通过Serial.print和Serial.println函数将结果输出到串口监视器,以便查看。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 19:17

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

实验串口返回情况

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:25

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板

实验场景图

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:30

【花雕学编程】Arduino动手做(243)--动态测试X、Y与Z数值

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3
  项目实验之二:动态测试1号摇杆的X、Y与Z的数值(引脚A0、A1与D2)

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百四十三:JoyStick 双路机械臂摇杆扩展板 PS2 JoyStick Two-Way Shield for Uno r3
  4.   项目实验之二:动态测试1号摇杆的X、Y与Z的数值(引脚A0、A1与D2)
  5. */
  6. int value = 0; // 初始化一个整数变量,用于存储读取的值
  7. void setup()
  8. {
  9.   pinMode(6, INPUT_PULLUP); // 将引脚6设置为上拉输入模式,用于读取按键状态
  10.   Serial.begin(9600); // 初始化串行通信,波特率为9600
  11. }
  12. void loop()
  13. {
  14.   value = analogRead(A0); // 读取A0引脚的模拟值(摇杆X轴)
  15.   Serial.print("X:"); // 输出X轴描述
  16.   Serial.print(value, DEC); // 以十进制格式输出X轴的值
  17.   value = analogRead(A1); // 读取A1引脚的模拟值(摇杆Y轴)
  18.   Serial.print(" | Y:"); // 输出Y轴描述
  19.   Serial.print(value, DEC); // 以十进制格式输出Y轴的值
  20.   value = digitalRead(6); // 读取6号引脚的数字值(按键状态)
  21.   Serial.print(" | Z: "); // 输出按键状态描述
  22.   Serial.println(value, DEC); // 以十进制格式输出按键状态值
  23.   delay(1000); // 延迟1秒
  24. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:32

【花雕学编程】Arduino动手做(243)--动态测试X、Y与Z数值

代码解读

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轴值和按键状态,并输出到串行监视器,非常适合用于基础实验和学习。


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 20:34

【花雕学编程】Arduino动手做(243)--动态测试X、Y与Z数值

实验串口返回情况

【花雕学编程】Arduino动手做(243)---双路 JoyStick 扩展板图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail