三轮智能机器人
|
智能小车快速玩起来
Micro:bit程序下载
首先用附件中的USB线一头连接电脑或平板,另外一头连接Micro:bit主板。
在电脑上会出现一个MICROBIT盘,如下图示:
把文件 “QuickStart.hex” 复制到MICROBIT盘,然后就完成了程序下载。
http://wiki2.haljia.com/download/microbit/smartrobot/QuickStart.hex
智能小车安装
按上图装好Micro:bit主板、超声波模块、轮胎、电池。
注意:Micro:bit主板的朝向跟上图一致。
安装电池时正负极方向参考上图,不能装反电池了,要引起注意,否则电池不能供电或引起其它安全问题。
安装完成后,拿出红外遥控器。
把箭头指向的薄膜扯掉,让遥控器通电。右图是遥控器上电工作状态。
智能小车上电开机
拨动箭头指向的开关到ON,小车上电了,小车右侧尾部的电源指示灯亮,出现一段音乐声,小车开机启动完成。
智能小车运动控制
运动方向控制
按下图的遥控器按键对小车前进、后退、向左转、向右转、停止控制。注意遥控器头部要朝向小车以增加制遥控灵敏度。
注意:遥控器有一张薄膜要扯掉,这样才能让遥控器通电。
轨道循迹模式
先把轨道纸拿出来铺好,把车放在轨道上,然后按遥控器A键,前大灯红色闪烁,小车跟轨道走。
避障模式
按遥控器B键进入避障模式,前大灯亮蓝灯,小车可以避开前方障碍物进行运动。
智能小车待机模式
按遥控器OK键停止所有模式,小车不再动,前大灯不亮,进入等待接受命令状态。
micro:bit介绍
简要介绍
micro:bit是一台袖珍电脑,它可以给让你了解软件和硬件如何协同工作。它有一个LED灯显示器、按键、传感器、无线和许多输入/输出功能,当编程时,它可以与你进行互动。你可以学习到硬件和软件,带给你无穷的产品开发和编程乐趣。你在这可以了解micro:bit的输入、输出和处理器是如何工作的,micro:bit帮助你了解电脑的工作原理。当你在电脑上打字或在手机上触摸屏幕时,你在使用一个输入设备,输入设备允许计算机感知现实世界中发生的事情,因此它们可以据此采取行动,使一些事情发生,通常是在屏幕或声音等输出端。
金手指接口介绍
你要准备什么
一台可以上网的电脑、平板电脑,以加载Microsoft MakeCode或Python代码编辑器,需要一个USB线来连接你的micro:bit主板。
编程方式
目前支持有Makecode和Python两种编程语言,Makecode有图形积木式编程和Javascript编程,Makecode图形积木式编程更加适合初学者,对于有一定基础可以用Javascript或Python语言编程。
开启学习
下一章学习搭建Makecode编程环境,再下下章如何让micro:bit工作,对其功能进行编程并创建你的第一个项目。
搭建Makecode编程环境
可以选择在线编程或离线编程,这两种编程环境都可以。
在线编程
直接进入下列网址就进入在线编程环境,是最简单快速的方式。
https://makecode.microbit.org/
离线编程(可以选用以下任意一种方式)
第一种 直接执行文件makecode-microbit-setup-win64.exe,进入下面编程环境:
http://wiki2.haljia.com/download/microbit/smartrobot/makecode-microbit-setup-win64.exe
第二种 进入下面链接就可以下载离线编程软件:
https://makecode.microbit.org/offline-app
点击箭头的位置,进入下面:
如果是Windows系统点击makecode-microbit-setup-win64.exe开始下载,如果是Mac OS系统点makecode-microbit-mac64.zip下载。下载安装后启动MakeCode for micro:bit如下图:
第三种 在Microsoft Store(微软应用商店)搜索MakeCode for micro:bit下载。
新建项目
点击新建项目就可以开始编程了。
第一个项目
学习内容
1、这里我们通过Makecode积木式编程实现在micro:bit主板屏幕上显示数字“1”。
2、学会导入做好的项目。
开始编程
打开Makecode开始我们的第一个旅途:
点击“新建项目”,输入项目名称后,点“创建”:
中间这个功能条实现了很多功能,可以逐个点击看看。
在这里我们点击“基本”:
我们把显示数字“”拖到“当开机时”
把数字“0”改成“1”。
程序写完后,点击下面箭头的保存:
我们保存为“第一个项目.hex”:
http://wiki2.haljia.com/download/microbit/smartrobot/第一个项目.hex
注意:保存文件时要带扩展名.hex,如果不带扩展名保存会造成后面导入这个项目文件时不能正常使用。
然后把Micro:bit主板通过USB线连接电脑:
点击“下载”把程序下载到Micro:bit:
开始实验
上电后在LED屏显示数字“1”,我们的第一个项目就完成了。
导入项目
我们有写好的程序“第一个项目.hex”,通过下列图的操作顺序可以把程序加载,先点“导入”:
http://wiki2.haljia.com/download/microbit/smartrobot/第一个项目.hex
导入文件:
选择文件:
选择好文件,注意扩展名必须是.hex文件,否则不能打开。
音乐响起来
学习内容
1、我们通过Makecode积木式编程来实现音乐播放;
2、学会对micro:bit按键的编程;
3、学会用“音乐”功能编程。
蜂鸣器音乐播放
小车装有蜂鸣器来实现音乐播放的功能,下面箭头所指的就是蜂鸣器。
开始编程
打开Makecode开始我们的编程:
新建项目“音乐响起来”。
在下列实现了音乐功能:
我们选择播放旋律,开机时会播放铃声:
Mciro:bit主板有按键A和按键B,通过按什么键再去执行程序:
我们也可以按乐谱去播放歌曲,选择对应的音调和节拍,下图黄色箭头所指就是播放音调的功能:
在这我们随意编写了一段,按Micro:bit主板的A键就可以播放这些音调:
有写好的程序“音乐响起来.hex”可以直接导入。
http://wiki2.haljia.com/download/microbit/smartrobot/音乐响起来.hex
把程序下载到micro:bit:
开始实验
上电后播放一段铃声。按A键会播放我们写的音调。
小车运动控制
学习内容
1、我们学习通过编程让电机M1和M2的转动和调速实现小车的运动,电机的正转、反转和速度变化实现了前行、后退、左转弯、右转弯、旋转;
2、学会使用小车扩展库Funbit进行对小车的编程;
小车运动原理
小车的运动通过电机M1和M2的转动实现,电机的正转、反转和速度变化实现了前行、后退、左转弯、右转弯、旋转。
一步一步编程让小车动起来
首先打开Makecode编程环境:
点击“新建项目”
输入项目名称“小车运动控制”,项目名称可以自己取的,然后点击“创建”。
进入到下面:
点击“扩展”进入到加入扩展库的页面如下:
在这里输入以下网址按回车键后:
https://github.com/szhengjiaanv/pxt-Funbit
这个时候出现Funbit扩展库,点击箭头指向的部分,扩展库被加载:
这个时候点击上面箭头的Funbit,出现扩展库的功能如下:
点击“”,把这个电机方向速度功能加入到程序中,再把电机条拖到“当开机时”框中:
可以选择电机、方向(正转还是反转),速度范围是0~255,缺省值是200。
有写好的程序“小车运动控制.hex”可以直接导入。
http://wiki2.haljia.com/download/microbit/smartrobot/小车运动控制.hex
然后把Micro:bit主板连接电脑,点击下载把程序下载到Micro:bit主板。
开始实验
下载完成后把Micro:bit插上小车,开机小车就前行运动起来了。
打开车大灯
学习内容
1、我们在这里编程实现对车大灯打开、闪烁和颜色的控制;
2、还学习到使用Makecode自带“基本”功能中的“暂停”功能
开始编程
打开Makecode开始我们的编程:
新建项目“打开车大灯”:
进入到下面:
点击“扩展”进入到加入扩展库的页面如下:
在这里输入以下网址按回车键后:
https://github.com/szhengjiaanv/pxt-Funbit
我们在Funbit选择“”进行车大灯RGB灯的打开和颜色控制。
在“基本”库中选择“暂停”功能,可以起到暂停多少时间的作用。
以下程序RGB灯控制颜色的示例:
有写好的程序“打开车大灯.hex”可以直接导入:
http://wiki2.haljia.com/download/microbit/smartrobot/打开车大灯.hex
开始实验
把程序下载到micro:bit主板,开机后显示RGB大灯红色2秒、绿色2秒、蓝色2秒。
车大灯闪烁
按下图编程,RGB灯模式设置成闪烁,把RGB灯红绿蓝三基色组合成黄色。
有写好的程序“闪烁车大灯.hex”可以直接导入:
http://wiki2.haljia.com/download/microbit/smartrobot/闪烁车大灯.hex
开始实验
把程序下载到micro:bit主板,开机闪烁黄色灯。
玩转炫彩灯
学习内容
1、我们在这里编程实现对炫彩灯打开、颜色的控制;
2、还学习到使用炫彩灯neopixel扩展库的功能;
3、我们学会对micro:bit主板按键A和按键B的编程。
开始编程
打开Makecode开始我们的编程:
新建项目“玩转炫彩灯”:
进入到下面:
点击“扩展”:
加入小车Funbit扩展库:
https://github.com/szhengjiaanv/pxt-Funbit
点击扩展,在下面这个搜索框中输入“neopixel”,点击出现的neopixel库加入:
这个时候出现了neopixel库:
我们的小车的P12口接了2颗LED灯,我们在开机时这样设置。
我们会用到Micro:bit主板的A键和B键:
编程成下面这样:
有写好的程序“玩转炫彩灯.hex”也可以导入:
http://wiki2.haljia.com/download/microbit/smartrobot/玩转炫彩灯.hex
开始实验
把程序下载到micro:bit主板。
开机时两个LED灯都显示成红色:
按Micro:bit主板的A键把左边LED显示成橙色,按B键把右边LED显示成蓝色。
按A键后左LED显示橙色 按B键后右LED显示蓝色
红外遥控器控制
学习内容
我们可以学习到红外遥控器的编程,通过遥控器来无线控制小车的运动方向:前行、后退、停止、开大灯等。
红外遥控器介绍
左图箭头所指小车红外接收头,负责接收命令,右图箭头所指遥控器红外发射头,负责发射命令给小车。小车红外接收头收到命令后开始执行命令。
把箭头指向的薄膜扯掉,让遥控器通电。右图是遥控器上电工作状态。
这个红外遥控器要在室内使用,避免室外太阳光干扰。
开始编程
新建项目“红外遥控器控制”,加载扩展库:
我们要加载遥控扩展库:
https://github.com/szhengjiaanv/Infrared
和小车Funbit扩展库:
https://github.com/szhengjiaanv/pxt-Funbit
加载完成后:
在开机时把红外接收头启动,我们的小车红外接收头连接到P8。
加入红外遥控器的UP按键消息处理函数:
当按向前键UP时,电机M1、M2正转,小车向前行。
我们编程成这样:
有写好的程序“红外遥控器控制.hex”也可以直接导入:
http://wiki2.haljia.com/download/microbit/smartrobot/红外遥控器控制.hex
开始实验
把程序下载到micro:bit主板,装到小车上电。
按UP向前进键时小车前行:
按Down后退键小车后退:
按Ok键小车停止:
按A键车大灯亮红色:
按B键小车播放音乐旋律。
按数字1在Micro:bit主板上显示“1”,按数字2在Micro:bit主板上显示“2“:
手柄遥控器控制
学习内容
1、学习摇杆手柄遥控器的编程,实现对小车的控制;
2、学习到两个micro:bit主板无线通信的编程。
摇杆手柄遥控器
可以用下图的手柄摇杆控制器控制小车,需要先购买我们的手柄遥控器,如下图:
我们的手柄遥控器配备有:电源开关、两个摇杆、四个按键(A、B、C、D)、两个炫彩LED灯。按键或摇杆可以控制小车前进和后退。
手柄遥控器和小车无线连接
Micro:bit手柄和小车两个主板之间可以通过无线连接后进行通信,接收和发送命令来实现遥控器对小车的进行运动控制。
手柄遥控器编程
新建项目“手柄遥控器控制端”,加载扩展库:
https://github.com/szhengjiaanv/Joybit
还有使用“无线”的功能,见下图:
我们开始编程:
有写好的程序“手柄遥控器控制端.hex”可以直接导入:
http://wiki2.haljia.com/download/microbit/smartrobot/手柄遥控器控制端.hex
把程序下载到micro:bit主板。
无线遥控小车端编程
新建项目“无线遥控小车端”,加载扩展库:
https://github.com/szhengjiaanv/pxt-Funbit
还有使用“无线”的功能,见下图:
我们开始编程:
开机时设置无线设置组和发射功率。
注意:这里的无线设置组要和手柄遥控器一样,小车端设置成1就手柄端也是1,否则不能无线连接,也就不能遥控小车了。
当接收到“A”命令小车往前走,收到“B”命令后退,收到“C”命令停止运动。
有写好的程序“无线遥控小车端.hex”可以直接导入:
http://wiki2.haljia.com/download/microbit/smartrobot/无线遥控小车端.hex
把程序下载到micro:bit主板。
开始实验
把手柄和小车都上电,左摇杆往前推小车就前进,左摇杆往后拉小车就后退,摇杆回到中间小车就停止运动。
或者手柄按键A车前进、按键B车后退、按键C车停止。
小车避障运动
学习内容
1、了解小车避障的原理和超声波测距模块的使用;
2、学会创建函数和调用函数;
3、学习对超声波测距模块应用的小车避障行走的编程。
避障基本介绍
箭头指的这个模块是超声波测距模块,这个测距模块可以判断前面障碍物的距离。
通过判断距离接近就改动小车的运动方向来实现避障。
超声波测距模块的trig口接Micro:bit主板P14口,echo口接Micro:bit主板P15口。
开始编程
新建项目“小车避障运动”:
我们要加载小车Funbit扩展库:
https://github.com/szhengjiaanv/pxt-Funbit
开始编程:
超声波测距模块的trig口接Micro:bit主板P14口,echo口接Micro:bit主板P15口。
我们在编程时通过这两个端口读到前方障碍物距离,当大于12厘米时小车前进,小于12厘米时小车后退后左转。
在这里我们用了函数:
点“高级”,然后出现:
在“函数”这里我们可以“创建一个函数“,创建后就可以调用这些函数,我们创建”前进“、”后退“、”左转“、”右转“的函数。
左转通过一个电机转动、一个电机不转来实现。
我们在“无限循环“中调用”前进“、”后退“、”左转“函数实现避障:
有写好的程序“小车避障运动.hex”可以直接导入:
http://wiki2.haljia.com/download/microbit/smartrobot/小车避障运动.hex
点击“下载”把程序下载到Micro:bit主板。
开始实验
把程序写到Micro:bit板,然后小车上电。
小车离障碍物远时一直前行,当离障碍物近时立刻后退、左转,绕开障碍物后前行。
小车跟随运动
学习内容
1、了解小车跟随的原理和超声波测距模块的使用;
2、学会创建函数和调用函数;
3、学习对超声波测距模块应用的小车跟随行走的编程。
跟随基本介绍
箭头指的这个模块是超声波测距模块,这个测距模块可以判断前面物体的距离。
通过判断距离接近就后退,否则就前进。
超声波测距模块的trig口接Micro:bit主板P14口,echo口接Micro:bit主板P15口。
开始编程
新建项目“小车跟随运动”:
我们要加载小车Funbit扩展库:
https://github.com/szhengjiaanv/pxt-Funbit
超声波测距模块的trig口接Micro:bit主板P14口,echo口接Micro:bit主板P15口。
我们在编程时通过这两个端口读到距离,当大于12厘米时小车前进,小于12厘米时小车后退。一直跟随物体运动。
在这里我们用了函数:
点“高级”,然后出现:
在“函数”这里我们可以“创建一个函数“,创建后就可以调用这些函数,我们创建”前进“、”后退“的函数。
我们在“无限循环“中调用”前进“和”后退“函数实现跟随:
有写好的程序“小车跟随运动.hex”可以直接导入:
http://wiki2.haljia.com/download/microbit/smartrobot/小车跟随运动.hex
开始实验
把程序下载写到Micro:bit板,然后小车上电。
小车一直跟随物体前行,当接近物体时后退。
小车循线运动
学习内容
1、了解小车循线的原理和红外反射式光电传感器的使用;
2、编程使用红外反射式光电传感器进行小车循线运动。
循线基本介绍
左右两边一边一个光电传感器,两个光电传感器判断左右两侧是黑色还是白色。
当两边判断都是白色,小车前行。
当一边是黑色一边是白色时,调整小车是黑色的那一边的位置让小车在轨道中。通过两个电机的行进方向和速度来调整位置。
开始编程
新建项目“小车循线运动”:
我们要加载小车Funbit扩展库:
https://github.com/szhengjiaanv/pxt-Funbit
开始编程:
当两边判断都是白色,小车前行。
当一边是黑色一边是白色时,调整小车转弯让小车在轨道中。通过两个电机的行进方向和速度来实现转弯。
有写好的程序“小车循线运动.hex”可以直接导入:
http://wiki2.haljia.com/download/microbit/smartrobot/小车循线运动.hex
开始实验
把程序下载到micro:bit主板。
把小车放到循线纸上,小车按着黑色轨道前行,当快出线时调整到线内前行。
Python编程
搭建Python编程环境
Mu Python下载安装
我们这里介绍的是Mu Python编程工具,用浏览器打开链接:
再点“Download”进入以下:
选择对应操作系统进行下载Mu软件,下载后进行安装。
或者直接执行文件MuEditor-win64-1.2.0.msi安装,进入下面编程环境:
http://wiki2.haljia.com/download/microbit/smartrobot/MuEditor-win64-1.2.0.msi
安装完成后出现下面图标:
启动Python
点击这个图标启动Mu Python编程。
点击模式
选择BBC micro:bit。
第一个项目
学习内容
1、这里我们通过Python编程实现在micro:bit主板屏幕上显示数字“1”;
2、学会保存和加载程序。
开始编程
我们实现一个在micro:bit屏上显示数字“1”。
我们在这里写入代码:
from microbit import *
display.show(1)
检查micro:bit连接
如果箭头指向的位置显示红色的“x”,说明micro:bit主板和电脑没有连接,这个时候我们把micro:bit主板和电脑用USB线连接,连接后成下图:
这个时候我们可以把程序刷入到micro:bit主板,点下图“刷入”图标,刷入后左下角箭头指向的位置提示:已将代码复制到micro:bit。
开始实验
上电后显示数字“1”,我们的第一个项目就成功了。
保存程序
点击箭头所指的保存来保存程序为first.py。
http://wiki2.haljia.com/download/microbit/smartrobot/first.py
加载程序
点击箭头指向的加载,把前面保存的程序first.py加载。
http://wiki2.haljia.com/download/microbit/smartrobot/first.py
加载后成下面:
显示大小心形
学习内容
这里我们通过python编程实现在micro:bit主板屏幕上显示大小心形。
开始编程
这里的程序是一个循环,大心形和小心形各显示0.5秒。
如果箭头指向的位置显示“x”,说明micro:bit主板和电脑没有连接,这个时候我们把micro:bit主板和电脑用USB线连接,连接后成下图:
这个时候我们可以把程序刷入到micro:bit主板,点下图“刷入”图标,刷入后左下角箭头指向的位置提示:已将代码复制到micro:bit。
或者我们在这里加载写好的程序heart.py:
http://wiki2.haljia.com/download/microbit/smartrobot/heart.py
开始实验
上电后大心形和小心形交替循环显示。
播放音乐
学习内容
这里我们通过Python实现在micro:bit主板的蜂鸣器播放音乐。
开始编程
这里的程序是播放乐谱:
然后刷入程序。
我们在这里也可以加载写好的程序playmusic.py。
http://wiki2.haljia.com/download/microbit/smartrobot/playmusic.py
开始实验
上电后播放“两只老虎跑得快”的乐曲。
按键和触摸
学习内容
学会对按键和触摸的python编程。
这里我们通过实现一个计时的功能了解micro:bit按键和触摸的编程,按A键显示大小心形并开始启动计时,按B键显示睡眠图标并计算从按A键后的时间间隔。
箭头1指的是触摸徽标,箭头2指的是按键A,箭头3指的是按键B。
开始编程
写入下面代码:
from microbit import *
time = 0
start = 0
running = False
while True:
if running:
display.show(Image.HEART)
sleep(300)
display.show(Image.HEART_SMALL)
sleep(300)
else:
display.show(Image.ASLEEP)
if button_a.was_pressed():
running = True
start = running_time()
if button_b.was_pressed():
if running:
time += running_time() - start
running = False
if pin_logo.is_touched():
if not running:
display.scroll(int(time/1000))
程序写完后刷入。
我们在这里也可以加载写好的程序Touchstopwatch.py。
http://wiki2.haljia.com/download/microbit/smartrobot/Touchstopwatch.py
开始实验
上电后显示睡眠符号:
按A键后显示大小心形闪烁并开始计时:
过一些时间后按B键显示成睡眠图标,计算按B键和A键的时间间隔。
按触摸图标显示时间间隔(单位:秒):
加速度传感器
学习内容
学习Micro:bit内置加速计传感器的编程,可以判断是否有震动、上下左右移动的方向。
开始编程
这里的程序是一个循环,摇晃micro:bit内置的扬声器播放傻笑的声音,并在LED显示屏上显示一个微笑。上下左右倾斜micro:bit会显示对应的图标和播放声音。
我们把程序刷入。
我们在这里也可以加载写好的程序“Sensorytoy.py”:
http://wiki2.haljia.com/download/microbit/smartrobot/Sensorytoy.py
开始实验
往左倾斜显示如下箭头图标和播放声音:
往右倾斜显示如下箭头图标和播放声音:
往下倾斜显示如下笑脸图标和播放声音:
往上倾斜显示如下睡眠图标和播放声音:
有晃动时出现如下图标:
炫彩灯
学习内容
1、学会使用neopixel库对炫彩灯进行python编程显示各种颜色;
2、学会使用random库产生随机数。
LED灯介绍
我们的两个LED接入到micro:bit的P12口,在这里我们编程让两个LED随机颜色闪烁。
开始编程
这里引入了neopixel库:
把程序刷入到micro:bit板。
也可以加载写好的程序“LED.py”:
http://wiki2.haljia.com/download/microbit/smartrobot/LED.py
开始实验
上电后左右两个炫彩灯轮流闪烁,一直在随机变化颜色。
超声波测距
学习内容
1、了解超声波测距模块的使用;
2、学会对超声波模块编程来测量距离。
超声波模块介绍
箭头指的这个模块是超声波测距模块,这个测距模块可以判断前面物体的距离。
超声波测距模块的trig口接Micro:bit主板P14口,echo口接Micro:bit主板P15口。
开始编程
我们在这里写入代码:
把程序刷入到micro:bit主板。
也可以加载写好的程序“ultrasonic.py”。
http://wiki2.haljia.com/download/microbit/smartrobot/ultrasonic.py
开始实验
上电后micro:bit主板显示数字就是前方物体的距离。