匿名
未登录
登录
丢石头百科
搜索
查看“Joystick for micro:bit”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Joystick for micro:bit
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{DISPLAYTITLE:Joystick for micro:bit}} <div class="tabber"> <div class="tabbertab" title="说明"> {{外围模块|colorscheme=blue |name = Joystick for micro:bit |img=[[File:Joystick-for-micro-bit-intro.jpg|360px |alt=Joystick for micro:bit | Joystick for micro:bit]] |category1=micro:bit |brand=Waveshare |feature = micro:bit游戏手柄扩展板 |Product1 = {{micro-bit-Related-Product}} }} ===产品介绍=== micro: bit是一款由英国BBC设计的ARM架构的单片机,板载蓝牙,加速度计,电子罗盘,三个按钮,5 x 5 LED点阵,主要用于青少年的编程教育。 你可以利用BBC micro:bit实现任何酷炫的小发明,无论是机器人还是乐器,没有想不到。 本产品是专为Micro:bit设计的游戏手柄扩展板,酷似掌上游戏机的外形和键位设计,可播放音乐,可用电池供电,还能给充电电池充电。 带上我,发挥你的聪明才智,编程设计自己的创意掌上游戏机。 ===产品特性=== *板载Micro:bit接口,可直接插入使用 *板载优质的摇杆,两路模拟量输出,可准确定位摇杆位置,一路数字量输出,可按压控制 *板载电池座和充电电路,可加充电电池供电,还能通过USB给电池充电 *板载电池电量指示灯,闪动1/2/3/4次对应指示电量约25%/50%/75%/100% *板载4个彩色按键,美观且手感舒适 *板载2个侧边按键,对应micro:bit上的A/B键,控制更方便 *板载蜂鸣器,能用来播放背景音乐或游戏音效 ===产品参数=== *工作电压: 5V *电池种类:14500锂电池 *外形尺寸:150mm x 50mm ===接口定义=== {| class="wikitable" |- ! 描述 !! 硬件引脚 !! 功能 |- | A || Pin5 || 按键A |- | B || Pin11 || 按键B |- | C || Pin15 || 按键C |- | D || Pin14 || 按键D |- | E || Pin13 || 按键E |- | F || Pin12 || 按键F |- | X || Pin1 || 摇杆X方向 |- | Y || Pin2 || 摇杆Y方向 |- | P || Pin8 || 摇杆按下 |- | Buzzer || Pin0 || 蜂鸣器 |} ===程序目录=== 下载程序,并解压后得到如下文件夹目录如下: [[File:program.png|500px]] 分为两种例程:一种使用micropython编程,里面一个使用demo以及一个贪吃蛇程序,一种使用图形化编程(typescript),里面一个为使用demo以及一个无线示例程序: *Micropython/Demo:为使用Micropython的示例程序; *Micropython/Game-Snake:为使用Micropython编程的贪吃蛇程序; *Typescript/Demo:为使用图形化编程的示例程序,是一个编译好的二进制HEX文件; *Typescript-NRF:为使用图形化编程的无线测试程序 使用此示例需要两个micro:bit,才能验证效果。一面包涵一个发送一个接收程序,只需要把这两个分别烧录进不同的micro:bit即可。 ===编程指南=== micro:bit有多种编程方式,可使用mbed、micropython、typescript等编程方式,编程网址也是非常丰富,官方推荐两种编程方式:图形化编程(typescript)、micropython。 <big>'''typescript'''</big> typescript即图形化编程,官方编程地址:https://makecode.microbit.org/# * 打开浏览器,输入网址: [[File:open_make.gif]] *创建工程 点击项目->新建工程,然后在下方的无标题中,重命名为game。当然,你可以命名成你想的任意工程名。 [[File:2_buildprojectandname.gif]] *添加包 从github上获取我们的库:依次点击高级->添加包,或者点击齿轮->添加包。然后在弹出的对话框中,单击搜索框将网址:https://github.com/waveshare/JoyStick 复制进去,注意最后加上一个空格,否则可能无法索引到: [[File:3_addpag.gif]] *点击WSJoyStick: [[File:WSJoyStick.png]] 各积木块的作用如下: '''1、模块初始化:''' 对于此模块,需要进行初始化,这个积木块中把五个按键(除了A与)进行了上拉,以及读取一次摇杆状态,此状态用于判断后面操作摇杆的状态,如果在未初始化完成的情况下,摇动摇杆,造成后面可能无法判断某个方向,此时应该不动摇杆,复位micro:bit后即正常。 [[File:4_placeinit.gif]] '''2、监听按键:''' 我们提供两种监听方式,他们各有优点。 第一种,配合if使用,这种方式下在内部可以有延时,可以做实时性不强的事件处理。 [[File:5_placekey1.gif]] 第二种,不需要if,类似input中的on button A pressed,这是一种中断处理机制,里面不能有延时,实时性是比较强的。 [[File:6_placekey2.gif]] '''实验效果''' 当按下摇杆的时候,那么micro:bit就会亮P。 [[File:wps8582.tmp.png]] '''3、监听摇杆''' 如果前面进行了初始化,那么当使用此积木块的时候摇动对应的方向,即会返回逻辑真。 [[File:7_PLACEDIR.gif]] 依次放置其他的8个方向的判断: [[File:PlaceDir_All.png]] '''实验现象''' 控制摇杆不同方向,即可显示对应的方向。 [[File:wpsF913.tmp.png]] '''4、控制蜂鸣器''' 控制蜂鸣器有两种使用方法,第一种使用我们提供的积木块,第二种可使用micro:bit自带的音乐库。 第一种:使用我们的积木块,这个与micro:bit自带的是一样的。 第一个参数选择音阶,第二个参数选择节拍。 [[File:8_placemusic.gif]] 依次放置如下: [[File:place_music.png]] '''实验现象:''' 下载程序到模块,板载的喇叭将会响出do re mi fa so la si do。 第二种:使用micro:bit自带的音乐积木块,在管脚上是兼容的。 与上面的使用是一样的: [[File:8_placemusic2.gif]] 依次放置如下: [[File:place_music2.png]] 当然你也可以使用其他的积木块,更多的积木块如下: [[File:blocks_music.png]] 发挥你的想象力,建造出美妙的音乐。 '''5、验证Demo''' 打开Typescript-Demo,将文件夹下有microbit-JoystickDemo.hex文件。 你可将其直接复制到连接到电脑的micro:bit下,也可以先将其上次到makecode上,再下载: 直接下载到micro:bit: 将micro:bit用USB线连接到电脑,电脑将会识别到一个8M左右的MICROBIT的U盘,将microbit-JoystickDemo.hex复制到该U盘即可: [[File:11_dowmcode.gif]] 先上传到makecode,再下载: [[File:10_load.gif]] <big>'''micropython''' </big> 对于micropython有两种方式,一种使用官方的编程网址:http://python.microbit.org/v/1 另一种使用mu,其官方下载地址:https://codewith.mu/#download ,该软件在我们的资料中也可下载。 建议使用第二种,对于国内而言这个有时候会因为网络问题,出现访问不了的情况,同时并不会提示错误。 打开软件 [[File:Open_MU.png]] 点击Mu上面Load将文件夹中的WSJoyStick.py上传到编辑器。 [[File:12_MU_Program.gif]] 可见程序中有如下的方法实现: 使用micropython时不需要进行初始化,因为在实例化的时候已经进行了该步骤。 *Listen_Dir(Dir):监听摇杆方向; *Listen_Key(Key):监听按键; *PlayScale(freq):播放一个音阶的声音; *Playmusic(tune):播放音乐; 更多的控制,请参考micro:bit官方的python库:http://microbit-micropython.readthedocs.io/en/latest/index.html [[File:web_micropython.png]] ===无线程序=== 需要两个microbit才可用,使用typestript示例: 打开文件夹Typescript-NRF中的程序: 一个为NRF_Send.ts,一个为NRF-Receive.ts [[File:offline_code1.png]] [[File:offline_code2.png]] 通信的关键在于设置成同一组: radio.setGroup(255) 并且一个micro:bit烧录microbit-NRF_Send.hex,另外一个烧录microbit-NRF_Receive.hex。 [[File:offline_code_programming.png]] '''实验现象:''' [[File:offline_expected.png]] '''贪吃蛇程序''' 贪吃蛇程序使用micropython进行示例: [[File:snake.png]] 贪吃蛇由三个部分构成,分别是:动作,蛇,食物。 *JOYSTICK:为监听摇杆的动作,由于使用python控制,如果完全把摇杆的程序移植进来会导致内存溢出,因此只留下控制部分; *Snake:实现蛇的长度的变化,蛇头位置随移动方向改变等; *Fruit:为刷新食物的位置; *Game:初始化蛇,食物,以及摇杆,实现监听摇杆方向控制蛇的方向,实现蛇的移动,画蛇等功能。 在while true中,监听动作,更新蛇,画蛇,每隔0.5S运行一次,直到蛇撞到自己的身体结束游戏,打印分数。 </div> <div class="tabbertab" title="资料"> ===视频=== *[[Joystick-for-micro-bit-Video|Joystick for micro:bit演示视频]][[File:video-logo.png|23px|link=Joystick-for-micro-bit-Video]] ===文档=== *[http://{{SERVERNAME}}/w/upload/1/1e/Joystick_for_microbit.pdf 原理图]<br> ===程序=== *[http://{{SERVERNAME}}/w/upload/b/bb/Joystick_for_microbit_Code.7z 示例程序]<br> ===资料=== *[https://codewith.mu/#download python离线编辑器]<br> <br /><big>批量下载教程——请戳<big><big><big>☛</big></big></big></big>[[File:download-icon.png|link=批量下载教程]] <!--{{Join_us}}--> </div> <div class="tabbertab" title="FAQ"><br /></div> <div class="tabbertab" title="售后"><br />{{Service13}}</div>
该页面使用的模板:
模板:Micro-bit-Related-Product
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Service13
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
模板:外围模块
(
查看源代码
)
返回至
Joystick for micro:bit
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志