add Joystick HAT

This commit is contained in:
shaoxiang
2019-09-12 19:25:14 +08:00
parent 98a9ad2cd1
commit 2a439623bf
14 changed files with 110 additions and 92 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

-2
View File
@@ -6,8 +6,6 @@
:memo:**[Description](#Description)**&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/EasyLoader_M5StickC_logo_min.pngw">**[EasyLoader](#EasyLoader)**&nbsp;&nbsp;&nbsp;&nbsp;🛒**[Purchase](https://m5stack.com/products/beetlec-w-o-m5stickc)**
## Description
Ever wanted to build your robotic car with tiny body and smooth control? Here comes the BeatleC, features a dual-driver and 7 RGB LEDs, extreme concise design and together with M5StickC (features ESP32-Based Wi-Fi control), makes it the handiest and full-function small robotic car ever.
+32 -30
View File
@@ -1,27 +1,27 @@
# Joystick HAT {docsify-ignore-all}
<img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_01.jpg" width="30%"> <img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_02.jpg" width="30%"> <img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_05.jpg" width="30%">
<img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_01.jpg" width="30%"><img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_02.jpg" width="30%"><img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_03.jpg" width="30%">
***
:memo:**[Description](#Description)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:electric_plug:**[Schematic](#Schematic)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:octocat:**[Code](#Code)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/EasyLoader_M5StickC_logo_min.png">**[EasyLoader](#EasyLoader)** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;🛒**[Purchase](https://m5stack.com/products/m5stickc-neofalsh-hat)**
<!--
:memo:**[Description](#Description)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:electric_plug:**[Schematic](#Schematic)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:octocat:**[Code](#Code)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/EasyLoader_M5StickC_logo_min.png">**[EasyLoader](#EasyLoader)** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;🛒**[Purchase](https://m5stack.com/products/m5stickc-neofalsh-hat)** -->
## Description
**Joystick HAT** is a joystick module designed for M5SticKC. It is embedded with STM32F030F4 main control chip and uses I2C communication protocol to transmit data with host M5StickC.
**Joystick HAT** is one of the HAT module that is specifically designed for M5StickC. We have used a STM32F030F4 microprocessor inside to implement I2C communication with M5StickC.
This mini-volume joystick module supports full angular offset and center press, and outputs angular offset data as well as switching digital signals.
This mini-volume joystick module supports full angular movement and center press, and outputs angular data as well as button digital signals.
With the HAT series unified plug-in design and M5StickC reliable connection, in the most streamlined way, get more human-computer interaction input experience.
With the 'HAT' unified plug-in design it can provide reliable connection, in the most streamlined way. which allowes to get more HMI experience.
<img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_03.jpg" width="30%"> <img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_04.jpg" width="30%">
<img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_04.jpg" width="30%"><img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_05.jpg" width="30%">
## Product Features
- onbuild STM32F030F4
- STM32F030F4 inside
- communication protocol: I2C (address: 0x38)
- support full range offset / center button
- support omni-directional movement/button press
## Weight & Dimension
@@ -32,55 +32,57 @@ With the HAT series unified plug-in design and M5StickC reliable connection, in
- 1x Joystick HAT
<img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_06.jpg" width="30%">
## Application
- Game Controller
- Wireless joystick device
- Game Handle
- Wireless Joystick Device
## Communication protocol
<mark>I2C address: 0x38</mark>
register:
Register:
0x01 Read only 4 bytes, single axis value 0 ~ 4096
`0: x-axis raw data lower 8 bits`
`0: low 8 bits of raw data on X-axis`
`1: x-axis raw data is high 8 bits`
`1: high 8 bits of raw data on X-axis`
`2: y-axis raw data lower 8 bits`
`2: low 8 bits of raw data on Y-axis`
`3: y-axis raw data high 8 bits`
`3: high 8 bits of raw data on Y-axis`
0x02 Read only 3 bytes
0x02 only read 3 bytes
`0: Data after x-axis conversion ( -127 ~ 127)`
`0: x-axis data after transform ( -127 ~ 127)`
`1: Data after y-axis conversion (-127 ~ 127)`
`1: y-axis data after transform ( -127 ~ 127)`
`2: 0 or 1 (button pressed to 0, loosened to 1).
`2: 0 or 1 (press down 0, release 1).
0x03 write only 1 bytes
0x03 only write 1 bytes
`0x00: Normal mode`
`0x01: Center point zero`
`0x01: Central spot set 0`
`0x02: Maximum calibration (need to manually rotate the joystick to get the maximum value).`
`0x02: Maximum Calibration (Require manually rotate the joystick to get the maximum value).`
`0x03: Save the center point and maximum data to flash, and restore to normal mode after saving.`
`0x03: Save central spot and Maximum Calibration value to flash, and go to Normal Mode after finish.`
## Schematic
<!-- ## Schematic
<img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_08.jpg" width="30%">
<img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_08.jpg" width="30%"> -->
## EasyLoader
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/EasyLoader_M5StickC_logo.png" width="100px" style="margin-top:20px">
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/HAT/Neoflash/EasyLoader_Neoflash_HAT.exe"><button type="button" class="btn btn-primary">click to download EasyLoader</button></a>
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/HAT/Joystick/EasyLoader_Joystick_HAT.exe"><button type="button" class="btn btn-primary">click to download EasyLoader</button></a>
>1.EasyLoader is a simple and fast program burner. Every product page in EasyLoader provides a product-related case program. It can be burned to the master through simple steps, and a series of function verification can be performed.(**Currently EasyLoader is only available for Windows OS**)
@@ -89,19 +91,19 @@ register:
## Code
- **[Arduino](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Hat/neoflash-hat/Arduino)**
- **[Arduino](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Hat/hat-joystick/Arduino/Joystick_hat)**
## Pin Map
<table>
<tr><td>M5StickC</td><td>GPIO0</td><td>GPIO26</td><td>3.3V</td><td>GND</td></tr>
<tr><td>Joystick HAT</td><td>SCL</td><td>SDA</td><td>3.3V</td><td>GND</td></tr>
<tr><td>Joystick HAT</td><td>SDA</td><td>SCL</td><td>3.3V</td><td>GND</td></tr>
</table>
## Video
<video width="500" controls>
<source src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/HAT/Neoflash_HAT.mp4" type="video/mp4">
<source src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/HAT/Joystick_HAT.mp4" type="video/mp4">
</video>
+2 -2
View File
@@ -82,8 +82,8 @@ One hook hole and two 6*4mm magnet mounting positions are reserved on the board,
### Pin Map
<table>
<tr><td>M5StickC</td><td>GND</td><td>5V OUT</td><td>GPIO26</td><td>GPIO36</td><td>GPIO0</td><td>BAT</td><td>3V3</td><td>5V IN</td></tr>
<tr><td>YUN HAT</td><td>GND</td><td>+5V</td><td>SCL</td><td>/</td><td>SDA</td><td>BAT</td><td>+3.3V</td><td>+5V IN</td></tr>
<tr><td>M5StickC</td><td>GND</td><td>5V OUT</td><td>GPIO26</td><td>GPIO0</td><td>GPIO36</td><td>BAT</td><td>3V3</td><td>5V IN</td></tr>
<tr><td>YUN HAT</td><td>GND</td><td>+5V</td><td>SCL</td><td>SDA</td><td>/</td><td>BAT</td><td>+3.3V</td><td>+5V IN</td></tr>
</table>
## Video
+30 -21
View File
@@ -747,6 +747,32 @@
</a>
</div>
**LED class**
<div class="item">
<a href="/#/en/unit/neopixel">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/M5GO_Unit_neopixel.jpg">
<p class="item-title">RGB LED</p>
</a>
</div>
<div class="item">
<a href="/#/en/unit/hex">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/unit_hex_01.jpg">
<p class="item-title">HEX</p>
</a>
</div>
<div class="item">
<a href="/#/en/unit/rgb">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/unit_rgb_01.png">
<p class="item-title">RGB</p>
</a>
</div>
**C-HAT class**
@@ -850,31 +876,14 @@
</a>
</div>
**LED class**
<div class="item">
<a href="/#/en/unit/neopixel">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/M5GO_Unit_neopixel.jpg">
<p class="item-title">RGB LED</p>
</a>
<a href="/#/en/hat/hat-joystick">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/hat/joystick_hat_01.jpg">
<p class="item-title">Joystick</p>
</a>
</div>
<div class="item">
<a href="/#/en/unit/hex">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/unit_hex_01.jpg">
<p class="item-title">HEX</p>
</a>
</div>
<div class="item">
<a href="/#/en/unit/rgb">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/unit_rgb_01.png">
<p class="item-title">RGB</p>
</a>
</div>
***
+31 -22
View File
@@ -747,6 +747,32 @@
</a>
</div>
**LED类**
<div class="item">
<a href="/#/zh_CN/unit/neopixel">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/M5GO_Unit_neopixel.jpg">
<p class="item-title" >RGB LED</p>
</a>
</div>
<div class="item">
<a href="/#/zh_CN/unit/hex">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/unit_hex_01.jpg">
<p class="item-title" >HEX</p>
</a>
</div>
<div class="item">
<a href="/#/zh_CN/unit/rgb">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/unit_rgb_01.png">
<p class="item-title" >RGB</p>
</a>
</div>
**C-HAT 类**
@@ -853,32 +879,15 @@
</a>
</div>
**LED类**
<div class="item">
<a href="/#/zh_CN/unit/neopixel">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/M5GO_Unit_neopixel.jpg">
<p class="item-title" >RGB LED</p>
</a>
</div>
<div class="item">
<a href="/#/zh_CN/unit/hex">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/unit_hex_01.jpg">
<p class="item-title" >HEX</p>
</a>
<a href="/#/zh_CN/hat/hat-joystick">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/hat/joystick_hat_01.jpg">
<p class="item-title">Joystick</p>
</a>
</div>
<div class="item">
<a href="/#/zh_CN/unit/rgb">
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/unit/unit_rgb_01.png">
<p class="item-title" >RGB</p>
</a>
</div>
***
+1 -1
View File
@@ -70,5 +70,5 @@
<table>
<tr><td>M5StickC</td><td>GPIO0</td><td>GPIO26</td><td>3.3V</td><td>GND</td></tr>
<tr><td>HAT ENV</td><td>SCL</td><td>SDA</td><td>3.3V</td><td>GND</td></tr>
<tr><td>HAT ENV</td><td>SDA</td><td>SCL</td><td>3.3V</td><td>GND</td></tr>
</table>
+12 -12
View File
@@ -1,11 +1,10 @@
# Joystick HAT {docsify-ignore-all}
<img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_01.jpg" width="30%"> <img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_02.jpg" width="30%"> <img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_05.jpg" width="30%">
<img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_01.jpg" width="30%"><img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_02.jpg" width="30%"><img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_03.jpg" width="30%">
***
:memo:**[描述](#描述)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:electric_plug:**[原理图](#原理图)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:octocat:**[Code](#Code)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/EasyLoader_M5StickC_logo_min.png">**[EasyLoader](#EasyLoader)** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;🛒**[购买链接](https://m5stack.com/products/m5stickc-neofalsh-hat)**
<!-- :memo:**[描述](#描述)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:electric_plug:**[原理图](#原理图)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:octocat:**[Code](#Code)**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/EasyLoader_M5StickC_logo_min.png">**[EasyLoader](#EasyLoader)** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;🛒**[购买链接](https://m5stack.com/products/m5stickc-neofalsh-hat)**
-->
## 描述
@@ -16,8 +15,7 @@
采用HAT系列统一的插接式设计与M5StickC可靠连接,用最精简的方式,获得更多人机交互输入体验.
<img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_03.jpg" width="30%"> <img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_04.jpg" width="30%">
<img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_04.jpg" width="30%"><img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_05.jpg" width="30%">
## 产品特性
@@ -34,6 +32,8 @@
- 1x Joystick HAT
<img src="assets\img\product_pics\hat\joystick_hat\joystick_hat_06.jpg" width="30%">
## 应用
- 游戏控制器
@@ -73,15 +73,15 @@
`0x03: 保存中心点及最大值数据至flash, 保存后恢复至普通模式 `
## 原理图
<!-- ## 原理图
<img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_08.jpg" width="30%">
<img src="assets\img\product_pics\hat\neoflash_hat\neoflash_hat_08.jpg" width="30%"> -->
## EasyLoader
<img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/EasyLoader_M5StickC_logo.png" width="100px" style="margin-top:20px">
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/HAT/Neoflash/EasyLoader_Neoflash_HAT.exe"><button type="button" class="btn btn-primary">点击下载EasyLoader</button></a>
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/HAT/Joystick/EasyLoader_Joystick_HAT.exe"><button type="button" class="btn btn-primary">点击下载EasyLoader</button></a>
>1.EasyLoader是一个简洁快速的程序烧录器,每一个产品页面里的EasyLoader都提供了一个与产品相关的案例程序,通过简单步骤将其烧录至主控,能够进行一系列的功能验证.**(目前EasyLoader仅适用于Windows操作系统)**
@@ -90,19 +90,19 @@
## Code
- **[Arduino](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Hat/neoflash-hat/Arduino)**
- **[Arduino](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Hat/hat-joystick/Arduino/Joystick_hat)**
## 管脚映射
<table>
<tr><td>M5StickC</td><td>GPIO0</td><td>GPIO26</td><td>3.3V</td><td>GND</td></tr>
<tr><td>Joystick HAT</td><td>SCL</td><td>SDA</td><td>3.3V</td><td>GND</td></tr>
<tr><td>Joystick HAT</td><td>SDA</td><td>SCL</td><td>3.3V</td><td>GND</td></tr>
</table>
## 相关视频
<video width="500" controls>
<source src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/HAT/Neoflash_HAT.mp4" type="video/mp4">
<source src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/HAT/Joystick_HAT.mp4" type="video/mp4">
</video>
+2 -2
View File
@@ -78,8 +78,8 @@
### 管脚映射
<table>
<tr><td>M5StickC</td><td>GND</td><td>5V OUT</td><td>GPIO26</td><td>GPIO36</td><td>GPIO0</td><td>BAT</td><td>3V3</td><td>5V IN</td></tr>
<tr><td>YUN HAT</td><td>GND</td><td>+5V</td><td>SCL</td><td>/</td><td>SDA</td><td>BAT</td><td>+3.3V</td><td>+5V IN</td></tr>
<tr><td>M5StickC</td><td>GND</td><td>5V OUT</td><td>GPIO26</td><td>GPIO0</td><td>GPIO36</td><td>BAT</td><td>3V3</td><td>5V IN</td></tr>
<tr><td>YUN HAT</td><td>GND</td><td>+5V</td><td>SCL</td><td>SDA</td><td>/</td><td>BAT</td><td>+3.3V</td><td>+5V IN</td></tr>
</table>