摇杆工作原理
工作原理
十字摇杆为一个双向的 10K 电阻器,随着摇杆方向不同,抽头的阻值随着变化。本模块使用 5V 供电,原始状态下 X,Y 读出电压为 2.5V 左右,当随箭头方向按下,读出电压值随着增加,最大到 5V;箭头相反方向按下,读出电压值减少,最小为 0V。 引脚说明: VRx,VRy (X、Y 轴)为模拟输入信号,连接到模拟 IO 口 A0~A7。 VRx,VRy 的值:从 0 ~ 1023 分别代表 左~右,上~下。中间值为 512。
SW (Z 轴)是数字输入信号,连接到数字端口,并启用上拉电阻避免电平不稳。SW 的值:1 代表未按下,0 代表按下。
1、获取模板库
- 首先下载模板库:https://gitee.com/dfrobot/ext-oled12864.git
- 下载后解压得到一个文件夹,删除其中的mpext文件,修改文件夹名字为:ext-led,英文数字或下划线,不要用中文和特殊符号
2、修改config.json
- 删除其中files字段部分代码
- 修改name和description对应字段,英文部分可以 谷歌翻译
- 修改author(作者)和email(邮箱)为自己的
- 修改id为这个扩展库唯一标识,英文数字或下划线,不要用中文和特殊符号,最好与文件夹后的名字相同
- version为版本号,可以改成0.0.1,以后每次修改代码数字逐渐升级
- board填写支持的板子,无法测试的不要写
其他部分不用动,保存。
具体字段描述见api列表。
修改后如下:
{
"name": {
"zh-cn": "摇杆模块",
"en": "pitman Module"
},
"description": {
"zh-cn": "简单的控制模拟引脚和数字引脚控制摇杆模块",
"en": "Simple control pitman module controlled by digital pin and Analog pin"
},
"author": "xxx",
"email": "xxx@qq.com",
"license": "MIT",
"isBoard": false,
"id": "led",
"platform": ["win","mac","web"],
"version": "0.0.1",
"asset": {
"arduinoC": {
"dir": "arduinoC/",
"version": "0.0.1",
"board": [
"microbit",
"esp32",
"arduino"
],
"main": "main.ts"
}
}
}
3、资源文件
_images:
- 删除_images中的所有文件
- 将一张600x372像素的照片放到文件夹中,命名为featured.png
- 在iconfont搜索摇杆,找一个合适的图片,点击下载,颜色选择白色,点击SVG下载,保存到文件夹中,命名为icon.png
libraries
- 本样例库不需要库文件,因此此文件夹内容删除清空。
- 如果有arduino库,即包含.h和.cpp文件时,需要放到此文件夹中。
_locales
此文件夹放置翻译文件,如果仅中文可以不用操作此文件夹,本文无需修改。
_menus
此文件夹放置下拉菜单文件,例如引脚编号的下拉,默认放置了所有主控器的常见引脚,可以直接在main.ts中调用,本文无需修改。
4、效果预览
- 此时可以打开Mind+,切换到上传模式,打开扩展,选择Arduno uno,然后导入用户库查看效果:
- 可以看到已经有调试标志以及快捷刷新按钮了:
5、编写main.ts
{
"name": {
"zh-cn": "摇杆模块",
"en": "pitman Module"
},
"description": {
"zh-cn": "简单的控制模拟引脚和数字引脚控制摇杆模块",
"en": "Simple control pitman module controlled by digital pin and Analog pin"
},
"author": "xxx",
"email": "xxx@qq.com",
"license": "MIT",
"isBoard": false,
"id": "led",
"platform": ["win","mac","web"],
"version": "0.0.1",
"asset": {
"arduinoC": {
"dir": "arduinoC/",
"version": "0.0.1",
"board": [
"microbit",
"esp32",
"arduino"
],
"main": "main.ts"
}
}
}
6、导出分享
此时查看库文件目录下有一个.mpext文件,此文件直接加载即可,此时没有调试模式的标志。
7、总结
本次实验只完成了第三方库的编写,并未完成测试。