三轮智能机器人

智能小车快速玩起来

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编程工具,用浏览器打开链接:

https://codewith.mu/

 

再点“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主板显示数字就是前方物体的距离。