匿名
未登录
登录
丢石头百科
搜索
查看“Chapter 8 of KitiBot for Micro:bit”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Chapter 8 of KitiBot for Micro:bit
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==第八章 蓝牙控制== micro:bit 的主控芯片是nRF51822芯片,这个是Nordic的低功耗蓝牙芯片。所以micro:bit是支持蓝牙功能的,利用mciro:bit的蓝牙功能,通过手机遥控小车就非常简单了。 ===第一节=== 要手机和micro:bit通信手机必须要安装app.(仅支持安卓系统) *[https://{{SERVERNAME}}/w/upload/5/53/Com-bluetooth-mwoolley-microbitbledemo.7.apk 安卓蓝牙控制App] 手机安装完成后,还需要在makecode中添加蓝牙软件包 [[File:Blutetooth code.gif]] 在高级->添加软件包总添加bluetooth .软件会提示蓝牙软件包会与radio,neopixel等软件包不兼容,不能同时添加,删除不兼容的软件包并添加bluetooth软件包,添加完成后在积框中会找到蓝牙类积木,里面有很多可以调用的服务和蓝牙操作积木。 下来我们写micro:bit 的第一个蓝牙程序。 [[File:Bluetooth code 1.gif]] 开机时开启蓝牙加速计服务,蓝牙按钮服务,蓝牙led服务,蓝牙温度服务。 当有设备连接上蓝牙时显示字"C",断开蓝牙连接时显示字符“D"。 这样我们的程序就写好了,将程序下载到micro:bit上。 现在就可以用手机链接micro:bit 通过上面这些服务控制micro:bit了。 同时按住A,B键不松手,然后按一下复位按键。LED点阵屏会显示"PAIRING MODE!"字符串进入配对模式,然后micro:bit会显示一个配对图案。 [[File:Bluetooth operation.png|400px]] 在手机设置蓝牙中,搜索蓝牙设备。找到BBC micro:bit并链接。 (注意:括号中的字符每个micro:bit都不一样的) [[File:Bluetooth devices.png|400px]] 手机会显示配对的设备。 (注意:micro:bit每次重启后都需要再次配对,每次配对都需要将手机中已配对的配备中micro;bit设备删除。) [[File:Bluetooth devices bind.png|400px]] 配对完成后,LED点阵屏会显示"√"图案,表示已经配对完成。 打开之前已经安装好的APP.选择“FIND PAIRED BBC MICRO:BIT(S)”查找已经配对的micro:bit。 [[File:Bluetooth connection.jpeg|300px]] [[File:Bluetooth connection2.jpeg|300px]] 这里需注意,列表显示的是BBC micro:bit (BONDED)才能点击连接,如果 显示的是BBC micro:bit[tozug]则不能链接,否则会连接不成功。需要等待micro:bit显示的“√”图标消失后再次搜索。 [[File:Bluetooth connection3.jpeg|300px]] 点击BBC micro:bit (BONDED) 连接成功后会显示下图。显示很多的控制图标。micro:bit LED点阵屏会显示字符“C”,表示已经连接成功了。 [[File:Bluetooth connection4.jpeg|300px]] 下面我们就可以通过APP来控制mic:bit了。打开Accelerometer会显示如下,转动micro:bit 手机中的micro:bit图案也会作相应的转动。 [[File:Bluetooth connection5.jpeg|300px]] 打开Buttons会显示如下,按下micro:bit的A,B键对应的图标会显示绿色,同时显示Pressed。长按A,B键则按键会变红,同时显示 Long Pressed. [[File:Bluetooth connection6.jpeg|300px]] [[File:Bluetooth connection7.jpeg|300px]] 打开LEDs会显示如下,编辑LED点阵,然后点击SET DISPLAY则micro:bit点阵屏则会显示设置的图案,点击SEND TEXT则点阵屏会显示设置的字符串。 [[File:Bluetooth connection8.png|300px]] 打开Temperature会显示当前micro:bit的温度 [[File:Bluetooth connection9.jpeg|300px]] 打开Device Information会显示当前micro:bit的设备信息。 [[File:Bluetooth connection10.jpeg|300px]] 注意,刚才micro:bit程序只是开启部分的服务,所以不是手机APP中所以图标都可以控制,会有部分服务会不能用。 ===第二节=== 前面一节我们已经尝试了通过手机APP控制micro:bit,但是有些小伙伴会发觉手机和micro;bit 连接会有点麻烦,有没有简单一点的方法呢。当然是有的。 打开刚才的程序,我们需要重新设置一下工程。 [[File:Bluettoth connection code.gif]] 点击设置图标选project settiongs。选择No Pairing Required:Anyone can connect via Bluetooth。表示连接之前不需要配对, [[File:Bluetooth connection code2.png|400px]] 重新下载程序到micro:bit中。同时APP也设置设置一下。打开APP,点击右上角的三个点选择settings进入设置。 [[File:Bluetooth connection code3.png|300px]] [[File:Bluetooth connection code4.jpeg|300px]] 将Filter unpaired micro:bit from scan results? 选框去掉,不勾选。否则扫描列表会过滤掉没有配对的设备,导致扫描不到micr:bit。 [[File:Bluetooth connection code5.jpeg|300px]] 设置好后重新搜索micro:bit 设备,显示的是BBC micro:bit[tozug],点击连接即可。 [[File:Bluetooth connection code6.jpeg|300px]] 注意:如果手机设置中没有将之前已经配对的过的micro:bit设备清除,则设备列表显示是BBC micro:bit[tozug](BONDED),需要将已配对的设备清除再重新搜索。 [[File:Bluetooth connection code7.jpeg|300px]] ===第三节=== 前面我们已经知道如果使用蓝牙控制micro:bit 了,下面我们来学习一下如果通过蓝牙遥控机器人。可能细心的小伙伴已经发行APP中有一个类似游戏手柄的图标,我们就是通过这个来控制机器人的。 [[File:Dual D-Pad Control.png|400px]] 如果连接上micro:bit 点击进去就显示下面这样。有八个按键,已经足够我们遥控机器人了。 [[File:Bluetooth control.jpeg|400px]] 点击右上角的三个点进入设置可以看到下面的设置页面。当按键状态发生变化时手机会发送信号给micro:bit,micro:bit会触发Gamepad事件,事件的值就代表不同的按键事件。 [[File:Bluetooth control2.jpeg|400px]] 我们还是保持默认的设置,不需修改,下面我们来写micro:bit的程序。 和之前的一样 ,当有设备连接上蓝牙时显示字"C",断开蓝牙连接时显示字符“D"。 刚才我们已经知道,当手机按下按键时,micro:bit会触发Gampad事件。所以在程序中我们添加一个事件处理, 事件来源是MES_DPAD_CONTROLLER_ID。 事件的值是MICROBIT_EVT_ANY,不同的键值对应不同的按键操作。然后我们通过判断键值来控制机器人做出不同的动作,就可以通过手机蓝牙控制机器人了。 [[File:Bluetooth control3.gif]] [[File:Bluetooth control4.png|400px]] 将程序下载micro:bit,然后连接蓝牙,通过Dual D-Pad Controller 左边的摇杆图标就可以控制机器人前进,后退,左转和右转了。按键按下时机器人运动,松开按键时小车停止。 可以根据实际情况增大前进和后退速度,减小左转和右转速度以获得更好的控制体验。 ===第四节=== 前面一节我们已经可以遥控运动了,这个节我们再前面一节的基础上添加舵机控制,让小车可以遥控左右摇头。 [[File:Bluetooth control servo.gif]] [[File:Bluetooth control servo2.png|400px]] 结合上一章舵机遥控的知识,添加两个按键控制机器人头部左转和右转。 设置step变量表示转动角度,5表示右转5度,-5表示左转5度。0表示停止转动。 开机启动时,设置舵机为90度,机器人静止状态。当step不为0时,表示有按键按下,改变舵机角度pos并转动到对应的位置。注意舵机角度范围是0~180度,所以要加上程序控制pos的值在0~180度范围内。 ===第五节=== 这一节我们在前面一节的基础上添加上RGB LED控制,可以实现流水灯的效果。 [[File:Bluetooth control flowled.gif]] [[File:Bluetooth control flowled2.png|400px]] 和上一节类似,我们用一个变量temp来表示颜色变动,5表示色相增加5,色彩左移,-5表示色相减速-5,色彩右移。0表示色彩停止变动 [[File:Bluetooth control flowled3.png|400px]] 开机设置hue为180并显示,Hue表示色相,范围为0~360。不同的色相,RGB LED显示不同的颜色 [[File:Bluetooth control flowled4.png|400px]] 当temp不为0表示按键已经按下,改变色相hue的值并显示出来。 注意:色相hue的范围为0~360,当hue小于0时加上360,当hue超过360时减去360 这样使hue保持在0~360范围内循环。 [[File:Bluetooth control flowled5.png|400px]] ==其他章节== *[[Preface of KitiBot for Micro:bit | 前言]] *[[Chapter 1 of KitiBot for Micro:bit | 第一章]] *[[Chapter 2 of KitiBot for Micro:bit | 第二章]] *[[Chapter 3 of KitiBot for Micro:bit | 第三章]] *[[Chapter 4 of KitiBot for Micro:bit | 第四章]] *[[Chapter 5 of KitiBot for Micro:bit | 第五章]] *[[Chapter 6 of KitiBot for Micro:bit | 第六章]] *[[Chapter 7 of KitiBot for Micro:bit | 第七章]] *[[Chapter 8 of KitiBot for Micro:bit | 第八章]] *[[Chapter 9 of KitiBot for Micro:bit | 第九章]] *[[Chapter 10 of KitiBot for Micro:bit | 第十章]] *[[Chapter 11 of KitiBot for Micro:bit | 第十一章]]
返回至
Chapter 8 of KitiBot for Micro:bit
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志