Files
2019-06-20 14:41:27 +08:00

4.4 KiB

Unit JOYSTICK {docsify-ignore-all}


📝描述      :octocat:例程      🔌原理图      🛒购买链接      🎬相关视频   EasyLoader

描述

JOYSTICK, 是一款摇杆控制 Unit.内部集成 MEGA328 芯片,工作原理与一般的摇杆游戏手柄类似,X、Y轴分别对应着两个 10K 的电位器.当摇杆进行动作时,产生相应的模拟信号并向M5Core输入摇杆的偏移值. Z轴方向则为一个按钮应用.

内部电路中,摇杆 X 方向连接至 MEGA328 的 A0 管脚,Y 方向连接至 A1 管脚,Z 方向连接至 A2管脚.

该 Unit 通过GROVE A接口与M5Core进行通信,I2C地址为0x52.

产品特性

  • X、Y 方向输出值: 10 ~ 250
  • Z 方向输出值 (0: 释放; 1: 按下)
  • 开发平台: Arduino, UIFlow(Blockly, Python)
  • 2x LEGO 兼容孔

包含

  • 1x JOYSTICK Unit
  • 1x Grove 线

应用

  • 游戏控制器
  • 机器人远程控制

相关链接

EasyLoader

点击下载EasyLoader

1.EasyLoader是一个简洁快速的程序烧录器,每一个产品页面里的EasyLoader都提供了一个与产品相关的案例程序.

2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 "Burn" 即可开始烧录

!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),点击此处查看驱动安装教程

例程

1. Arduino IDE

以下代码仅为片段,如需获取完整代码, 请点击此处.

#include <M5Stack.h>
#include "Wire.h"

#define JOY_ADDR 0x52

// declaration
uint8_t x_data, y_data, button_data;
char data[100];

// initialization
M5.begin();
M5.Lcd.clear();
dacWrite(25, 0);//disable the speak noise
Wire.begin(21, 22, 400000);


// read data
Wire.requestFrom(JOY_ADDR, 3);
if (Wire.available()) {
  x_data = Wire.read();// X(range: 10~250)
  y_data = Wire.read();// Y(range: 10~250)
  button_data = Wire.read();// Z(0: released 1: pressed)
  sprintf(data, "x:%d y:%d button:%d\n", x_data, y_data, button_data);
}

2. UIFlow

以下代码仅为片段,如需获取完整代码, 请点击此处.

原理图

管脚映射

M5Core(GROVE A)GPIO22GPIO215VGND
JOYSTICK UnitSCLSDA5VGND

相关视频

Joystick 的演示 - 遥控轮椅

Joystick 的演示 - 菜单界面的翻页与选择