“Microduino-Joypad Getting start/zh”的版本间的差异
502748957@qq.com(讨论 | 贡献) |
|||
第7行: | 第7行: | ||
[[File:Microduino-Joypad-sch.zip|thumb]] | [[File:Microduino-Joypad-sch.zip|thumb]] | ||
− | == | + | ====Joypad搭建==== |
− | + | *'''Step 1''':将Microduino-TFT从Microduino-Joypad面板后面卡进Microduino-Joypad面板上,用尼龙螺丝固定,注意Microduino-TFT安装方向 | |
− | ''' | + | [[File:Joypadstep1.jpg|center|600px]] |
− | + | *'''Step 2''':将传感器接线插在Microduino-TFT的接口上 | |
− | + | [[File:Joypadstep2.jpg|center|600px]] | |
− | + | '''注意:接不同的电池需要拨动中间的开关,在图中已有标志。需要先拨开关再接入电池,否则会影响使用。''' | |
− | + | [[File:Joypadstep1_1.jpg|center|800px]] | |
− | + | *'''Step 3''':首先分别将两个摇杆按键、电池、四个白色按键放入对应位置,之后将连接好天线的nRF模块和Core装到Joypad底板上 | |
− | + | [[File:Joypadstep3.jpg|center|600px]] | |
− | + | *'''Step 4''':将Microduino-TFT传感器接线的另一头接到底板上的相应位置,之后将长版螺丝帽放到四个角的相应位置 | |
− | + | [[File:Joypadstep4.jpg|center|600px]] | |
− | + | *'''Step 5''':将Joypad的表壳和底板使用螺丝和螺丝帽固定好 | |
− | + | [[File:Joypadstep5.jpg|center|600px]] | |
− | + | *'''Step 6''':组装完成后将天线上的贴纸撕下,将天线贴在底板背面的任意位置,至此Joypad组装完毕 | |
− | + | [[File:Joypadstep6.jpg|center|600px]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[File: | ||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | [[File: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[File: | ||
− | |||
− | * | ||
− | [[File: | ||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | [[File: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | [[File: | ||
− | |||
− | |||
− | |||
− | * | ||
− | [[File: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ====Joypad搭建调试==== | ||
+ | *按键对应 | ||
+ | 在打开Joypad之后的4秒左右时间之内按下Key1(下方最左侧的按键),会进入设置(Config)模式 | ||
+ | [[File:Step1进入设置.jpg|600px|center|]] | ||
+ | *进入设置模式 | ||
+ | 按照图中的颜色,从左至右对应为Key1~Key4 | ||
+ | [[File:Step1按键对应.jpg|600px|center|]] | ||
+ | 注意:必须在进入操作界面前进入(4S左右时间)。若未进入则重启进入''' | ||
+ | *摇杆校准 | ||
+ | 按动Key3和Key4使光标上下移动,Key1为返回,Key2为确认 | ||
+ | 选择第一项Joystick Config进入摇杆设置模式 | ||
+ | 继续选择Joystick Correct进入摇杆校准模式。 | ||
+ | 进入之后会显示如图中第三张图所示的界面,初始状态为两个十字 | ||
+ | 此时摇动左右摇杆至最上,最下,最左,最右四个极限状态 | ||
+ | (推荐操作方式:将摇杆摇动一圈) | ||
+ | 摇动之后会看到十字的四个方向出现圆圈,圆圈扩大到最大状态证明已经是摇杆的极限位置 | ||
+ | 校准之后按Key2确认并返回上一页面 | ||
+ | [[File:Step2摇杆校准.jpg|600px|center|]] | ||
*用到的库: | *用到的库: | ||
**'''请确定在[[Microduino_Getting_start/zh]]里面的附件中安装了Microduino硬件支持包和程序库支持包''' | **'''请确定在[[Microduino_Getting_start/zh]]里面的附件中安装了Microduino硬件支持包和程序库支持包''' | ||
第95行: | 第51行: | ||
**重新打开“Arduino-IDE”,你可以选择库“_08_Microduino_Shield_Joypad\examples”里面的示例,编译通过后,板卡选择Microduino Core (Atmega328P@16M,5V),直接下载即可; | **重新打开“Arduino-IDE”,你可以选择库“_08_Microduino_Shield_Joypad\examples”里面的示例,编译通过后,板卡选择Microduino Core (Atmega328P@16M,5V),直接下载即可; | ||
===程序说明=== | ===程序说明=== | ||
− | * | + | *Joypad部分 |
− | + | def.h中 | |
− | <source lang="cpp"> | + | 定义了 |
− | + | <source lang = "cpp"> | |
− | + | uint8_t nrf_channal = 70; //0~125 | |
− | // | + | </source> |
− | + | nrf_channal为nrf通信的通道,joypad和Cube小车的代码中都会有该定义,目前用于控制Cube小车和平衡车 | |
− | + | 当通道一致时则Joypad可与Cube小车或平衡车成功连接。 | |
− | + | 对应的,在小车代码中会有如下程序段 | |
− | + | <source lang = "cpp"> | |
− | + | //nRF============================== | |
+ | SPI.begin(); //初始化SPI总线 | ||
+ | radio.begin(); | ||
+ | network.begin(/*channel*/ 70 , /*node address*/ this_node); | ||
</source> | </source> | ||
− | + | 在data.h中 | |
− | + | <source lang = "cpp"> | |
− | <source lang="cpp"> | + | outBuf[0] = Joy1_x; |
− | + | outBuf[1] = Joy1_y; | |
− | + | outBuf[2] = Joy_x; | |
− | + | outBuf[3] = Joy_y; | |
− | + | outBuf[4] = map(AUX[0], 0, 1, Joy_MID - Joy_maximum, Joy_MID + Joy_maximum); | |
− | + | outBuf[5] = map(AUX[1], 0, 1, Joy_MID - Joy_maximum, Joy_MID + Joy_maximum); | |
− | + | outBuf[6] = map(AUX[2], 0, 1, Joy_MID - Joy_maximum, Joy_MID + Joy_maximum); | |
− | + | outBuf[7] = map(AUX[3], 0, 1, Joy_MID - Joy_maximum, Joy_MID + Joy_maximum); | |
− | |||
</source> | </source> | ||
+ | 8位数组outBuf表示Joypad发出的8位数据,0位为右摇杆左右,1为右摇杆上下,2为左摇杆左右,3位左摇杆上下,4~7位对应AUX0~4 | ||
− | + | 在nrf.h中 | |
− | + | <source lang = "cpp"> | |
− | <source lang="cpp"> | + | struct send_a //发送 |
− | + | { | |
− | + | uint32_t ms; | |
− | + | uint16_t rf_CH0; | |
− | + | uint16_t rf_CH1; | |
− | + | uint16_t rf_CH2; | |
− | + | uint16_t rf_CH3; | |
− | + | uint16_t rf_CH4; | |
− | + | uint16_t rf_CH5; | |
− | + | uint16_t rf_CH6; | |
− | + | uint16_t rf_CH7; | |
− | + | }; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
+ | 此处定义的send_a结构体位对应的9位要发送的数据 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
2016年1月6日 (三) 02:12的版本
Language | English |
---|
原理图Joypad搭建
注意:接不同的电池需要拨动中间的开关,在图中已有标志。需要先拨开关再接入电池,否则会影响使用。
Joypad搭建调试
在打开Joypad之后的4秒左右时间之内按下Key1(下方最左侧的按键),会进入设置(Config)模式
按照图中的颜色,从左至右对应为Key1~Key4 注意:必须在进入操作界面前进入(4S左右时间)。若未进入则重启进入
按动Key3和Key4使光标上下移动,Key1为返回,Key2为确认 选择第一项Joystick Config进入摇杆设置模式 继续选择Joystick Correct进入摇杆校准模式。 进入之后会显示如图中第三张图所示的界面,初始状态为两个十字 此时摇动左右摇杆至最上,最下,最左,最右四个极限状态 (推荐操作方式:将摇杆摇动一圈) 摇动之后会看到十字的四个方向出现圆圈,圆圈扩大到最大状态证明已经是摇杆的极限位置 校准之后按Key2确认并返回上一页面
程序说明
def.h中 定义了 uint8_t nrf_channal = 70; //0~125
nrf_channal为nrf通信的通道,joypad和Cube小车的代码中都会有该定义,目前用于控制Cube小车和平衡车 当通道一致时则Joypad可与Cube小车或平衡车成功连接。 对应的,在小车代码中会有如下程序段 //nRF==============================
SPI.begin(); //初始化SPI总线
radio.begin();
network.begin(/*channel*/ 70 , /*node address*/ this_node);
在data.h中 outBuf[0] = Joy1_x;
outBuf[1] = Joy1_y;
outBuf[2] = Joy_x;
outBuf[3] = Joy_y;
outBuf[4] = map(AUX[0], 0, 1, Joy_MID - Joy_maximum, Joy_MID + Joy_maximum);
outBuf[5] = map(AUX[1], 0, 1, Joy_MID - Joy_maximum, Joy_MID + Joy_maximum);
outBuf[6] = map(AUX[2], 0, 1, Joy_MID - Joy_maximum, Joy_MID + Joy_maximum);
outBuf[7] = map(AUX[3], 0, 1, Joy_MID - Joy_maximum, Joy_MID + Joy_maximum);
8位数组outBuf表示Joypad发出的8位数据,0位为右摇杆左右,1为右摇杆上下,2为左摇杆左右,3位左摇杆上下,4~7位对应AUX0~4 在nrf.h中 struct send_a //发送
{
uint32_t ms;
uint16_t rf_CH0;
uint16_t rf_CH1;
uint16_t rf_CH2;
uint16_t rf_CH3;
uint16_t rf_CH4;
uint16_t rf_CH5;
uint16_t rf_CH6;
uint16_t rf_CH7;
};
此处定义的send_a结构体位对应的9位要发送的数据 </source> 开始应用 |