Arduino操纵杆模块:如何有效地制作一个
操纵杆模块
您目前正在处理与运动和机器人相关的项目吗?然后,您可能听说过 Arduino 操纵杆模块,但不知道如何制作。
或者您想了解更多有关 Arduino 操纵杆模块工作原理的信息?
那么,你来对地方了。
Arduino 操纵杆的目标是将运动传达给 Arduino。它在二维(2 轴)中执行此操作,使其适用于运动和机器人应用。
因此,在本文中,您将了解有关 Arduino 操纵杆模块的所有内容、它的工作原理以及如何制作简单的 Arduino 操纵杆电路。
你准备好了吗?让我们跳进去!
什么是操纵杆模块?
几乎没有任何机器人项目不需要操纵杆。有时很难获得适用于您的项目的控制器,甚至可能很昂贵。但是,操纵杆模块提供了一种更经济实惠的方式来实现相同的结果。
此外,操纵杆模块的工作原理与模拟游戏手柄中的操纵杆类似。它的关键部件是两个倾斜 90 度角的电位器。此外,短棒(中间有弹簧)和电位器之间还有连接。
电位器
摇杆模块在静止时可以从 X 轴和 Y 轴输出 2.5V 左右的电压。现在,当您移动操纵杆时,输出将在 0V 到 5V 之间变化。但是,这取决于方向。
另外,如果您使用带有操纵杆模块的微控制器,静止位置的实际值将在 512 左右。因此,当您移动此操纵杆时,您可以看到值从 0 变为 1023,但这取决于它的位置。
引脚配置
摇杆模块的管脚配置如下:
引脚号 | 引脚名称 | 说明 |
1 | 接地 | 模块的接地端子 |
2 | +5V | 模块电源正极 |
3 | VRx | 与X轴成正比的电压 |
4 | VRy | 与Y轴成正比的电压 |
5 | 软件 | 模块的开关 |
F特征
以下是 Arduino 摇杆模块的主要特点:
- 每个轴(X 和 Y)都有两个独立的电位器
- 重量不大
- 您可以轻松地将模块与大多数微控制器或 Arduino 接口
- 不使用时自动回到中心位置
- 它还有一个杯型旋钮
技术规格
摇杆模块规格包括:
- 工作电压为 5V
- 内部电位器的值为10k
- 其工作温度约为 0 至 70 摄氏度
- pin接口的引线为2.54mm
- 操纵杆模块的尺寸为:1.57 英寸 x 1.02 英寸 x 1.26 英寸(4.0 厘米 x 2.6 厘米 x 3.2 厘米)
- 它有五个引脚
- 两个电位器控制模块的水平方向和垂直方向。
示意图
下图显示了操纵杆模块的完整示意图。正如我们之前提到的,该模块具有两个控制 X 轴和 Y 轴的电位器。
操纵杆模块示意图
另外,两个电位器 (10k) 独立移动。换句话说,您可以单独移动它们并朝它们的方向移动。此外,开关 (SW) 引脚与按钮有内部连接。
将操纵杆与 Arduino 接口
操纵杆模块与许多微控制器(如 Raspberry Pi、Arduino 等)兼容。此外,它易于连接,您首先必须将 VRx 和 VRy 轴引脚连接到微控制器的 ADC 引脚。
此外,如果您打算使用开关,则应将按钮连接到微控制器的数字引脚。
查看下图,了解如何将操纵杆模块连接到任何微控制器。
摇杆模块到微控制器
现在,下图将向您展示如何将操纵杆模块与 Arduino 连接。使用此图,您将能够将模块连接到 Arduino。此外,您将获得取决于您移动操纵杆旋钮的方向的输出。
到 Arduino 的操纵杆模块
完成接口后,我们会发现每个方向都有固定的输出范围。下图将显示 X 轴和 Y 轴的输出,具体取决于操纵杆模块在 +X、-X、+Y 和 –Y 四个方向上的移动。对角移动旋钮也会有一些模拟值。
运动方向
如果你想知道你什么时候按下摇杆旋钮,你也可以将 SW 引脚连接到 Arduino 的数字引脚 8。
此外,操纵杆需要电源才能正常工作。因此,将 VCC 引脚连接到 Arduino 的 5V 端子,将 GND 连接到 Arduino 的 GND 端子。
Arduino 代码
在 Arduino IDE 上编写这个程序非常容易。因此,为了获得最佳结果,您将通过一个数字输入引脚和两个模拟输入测量操纵杆的运动。然后,Arduino 将显示对您的显示器的影响。
这是最好的部分
你不需要一个库来编写这个程序。它只是读取模拟输入并显示从中获得的值。另外,它还显示了按钮按下的输出。
这是代码的原始草图:
- #define joyX A0
- #define joyY A1
- 无效 设置 () {
- 系列 。 开始 ( 9600 );
- }
- 无效 循环 () {
- // 把你的主要代码放在这里,重复运行:
- xValue = 模拟读取 ( joyX );
- yValue = 模拟读取 ( 快乐 );
- //打印要绘制或查看的值
- 系列 。 打印 ( x值 );
- 系列 。 打印 ( ”\t” );
- 系列 。 打印 ( y值 );
显示 Arduino 代码的图像
映射
有时,不仅仅是读取模拟值,可能需要将您的模块映射到显示器或其他接口。因此,为了帮助您,我们将向您展示如何将上述代码的值映射到 8×8 LED 矩阵。
Arduino 映射
此过程的结果是使用操纵杆移动显示屏上的像素。此外,很容易更改代码以将其映射到 OLED 或图形显示器。
- #include “LedControl.h”
- #define joyX A0
- #define joyY A1
- int 地图 , yMap , x值 , y值 ;
- LED控制 液晶 = LED控制 ( 12 , 11 , 10 , 1 );
- 无效 设置 () {
- 系列 。 开始 ( 115200 );
- 液晶 。 关机 ( 0 , 假 );
- /* 将亮度设置为中等值 */
- 液晶 。 设置强度 ( 0 , 8 );
- /* 并清除显示 */
- 液晶 。 清除显示 ( 0 );
- }
- 无效 循环 () {
- // 把你的主要代码放在这里,重复运行:
- xValue = 模拟读取 ( joyX );
- yValue = 模拟读取 ( 快乐 );
- xMap = 地图 ( x值 , 0 , 1023 , 0 , 7 );
- yMap = 地图 ( y值 , 0 , 1023 , 7 , 0 );
- 液晶 。 setLed ( 0 , xMap , y地图 , 真 );
- 液晶 。 清除显示 ( 0 );
- }
将 Arduino 映射到 OLED 或图形显示器所需的代码图像
注意:上面的代码表明您可以使用 map() 函数来映射范围以适应您的偏好。
因此,如果一切正常,串行监视器上的输出应如下所示:
应用程序
以下是Arduino操纵杆模块的一些应用:
- 您可以在机器人技术中使用操纵杆模块
机器人无人机
- 您还可以控制可移动相机的移动
移动相机
- 各种各样的运动应用程序
四舍五入
当你听到操纵杆这个词时,首先想到的可能是游戏控制器。然而,当涉及到 DIY 电子产品时,摇杆模块有很多令人兴奋的应用。
游戏控制器
此外,这些模块主要适用于基于 Arduino 和机器人控制的 DIY 项目。正如我们之前所讨论的,摇杆模块首先根据摇杆的水平或垂直运动释放模拟输出来馈送模拟输入。
好吧,这就是这篇文章的总结。如果您有任何问题或建议,请随时与我们联系。我们总是很乐意提供帮助。
工业技术