Shieldbot-扩展板形态小车

来自Duinopeak_COM
跳转至: 导航搜索

产品简介


Shield Bot是一款Shield扩展板形态的小车平台,只要将Arduino/Eduino主控板插上去,它就马上活了过来。Shieldbott是为机器人入门者所设计的。它预留了充足的Puzzle电子积木拓展接口,让你自由添加自己想要的部件,是一款能够伴随你在机器人、电子、编程方面从入门到进阶的桌面机器人平台。为了让广大的Arduino爱好者更好的发挥自己的创意,Duinopeak特地为Shieldbot精选了部分常用传感器,并且精心编写了《Shieldbot使用教程》 你可以购买Shieldbot套件,然后按照教程学习,逐步掌握使用Arduino IDE 结合Shieldbot开发,最终打造一个属于你自己的Shieldbot!

Shield Bot可以通过电脑的USB口来进行充电,同时您也可以通过Arduino/Eduino主控板上的Vin口进行快速充电。 充电模式和充电效率如下图所示:

模式 充电电流(A) 输入功率(W) 充电功率(W) 充电效率(%) 充电时间(h)
USB 充电 0.396 3.94 3.56 90.36 2.50
Vin 充电 0.7 6.78 6.30 92.92 1.41

特点

  • 使用简单 - 即插即用。到手五分钟内即可完成配置,开始巡航。
  • 自由拓展- 上百种即插即用的电子积木模块扩展接口供你自由拓展Shield Bot的功能,同时标准的Shield针脚设计保证了与各种shield板的完美兼容。
  • 开源 - 为深度自定义而生,Shield Bot的源文件都是开放的,掌握其原理后,你可以深度修改甚至创建库文件,甚至使用它的电路设计制作只属于你的Shield Bot版本。
  • 基于Arduino - 基于Arduino意味着,你能够从这个活跃的社区中寻找到你想要的方方面面的资源。
  • 高效充电 - 可以快速的充满电量。

产品参数

  • 5个IR reflectance传感器用于巡线功能
  • 1块900 mAh可重复充电锂电池
  • 2个160:1微型金属齿轮电机(gearmotors)
  • 6个电子积木模块扩展接口
  • 可堆叠的Shield扩展接口

接口功能


Shieldbot Sheildbot Interface functions.jpg

  • 电源开关(Power Switch): 控制整体电源。电源打到OFF时,可使用USB充电口(USB Charge Port)来给电池充电。
  • USB充电口(USB Charge Port): USB-Mini B, 用于电池充电。
  • 电子积木扩展接口(电子积木 Ports): 电子积木扩展接口连接管脚D0、D1、D2、D3、D4、D5、A4、A5,你可以接入电子积木传感器和执行器。
  • IR巡线电位器(IR Line Finder Potentiometer): 用于调节巡线传感器的灵敏度。顺时针方向调节,灵敏度增加。逆时针方向调节,灵敏度减弱.
  • IR巡线传感器(IR Line Finders): S1~S5。每个配有蓝色的LED指示灯,在没有探测到任何可反射信号的表面(也包括吸收所有光线的黑色表面)时,LED指示灯亮起。
  • 寻线传感器开关(Enable Switch): 用于决定寻线传感器与Arduino的链接状态。将开关全部拨到"ON",那么巡线传感器将会连接到Arduino的I/O 管脚(A0、A1、A2、A3、D4会被占用)。

下载library中的 LineFollowingSimple demo程序,你就可以令Shield Bot变成一辆巡线小车。如果将开关拨到"OFF",Arduino将不能使用巡线传感器,但是你释放了对应的管脚以供他用。

  • Shield扩展接口(Arduino Shield Expansion Headers): 你可以在Shield Bot上插上其它的Shield。

注意: 1) 如果S5启用,那么你不能使用Shieldbot上电子积木模块接口j14和j13中的D4。

2) 另外因为Shieldbot使用主控芯片为Atmel328,其只有一个硬件串口。因此你只能使用以下三个接口中的其中之一:Arduino的串口总线TX,Uart 电子积木接口,j11电子积木接口。因为它们都共享的D1/TX总线。

状态指示灯

Shield Bot上有很多状态指示灯,你可以通过下表来了解它们。
Shieldbot Sheildbot Indicator Led.jpg

指示灯编号(s) 功能 状态
D15 电源 当Shield Bot运行时,指示灯为绿色。当Shield Bot关闭时,只能给锂电池充电。
D23 and D24 充电状态 红色表示充电,绿色表示充电完成。
D16 重启 当重启按钮按下时为红色。
D20 and D21 右电机指示 绿色表示向前,红色表示向后,同时亮起表示停止。
D18 and D19 左电机指示 绿色表示向前,红色表示向后,同时亮起表示停止。
D1 D2 D3 D4 D5 巡线传感器指示 如果没有检测到可反射表面(包括黑色吸光的表面),则为蓝色。

《Shieldbot使用教程》说明

Duinopeak专门为Shieldbot套件编写了详细的使用教程,你可以在本页面下,“资源”目录中,同时下载“Shieldbot套件使用教程压缩包1”和“Shieldbot套件使用教程压缩包2",然后解压,得到一个完整的PDF格式的 《Shieldbot使用教程》。

注意 因为我们使用教程内容较大,所以采用了分段上传文件,所以必须同时下载“Shieldbot套件使用教程压缩包1”和“Shieldbot套件使用教程压缩包2",才能解压到一个完整的PDF《Shieldbot使用教程》, 否则解压不了。
Shieldbot UserGuideTutorialImage1.PNG

Shieldbot使用方法

Shield Bot的安装非常简单。参照下面的步骤就能让你的桌面机器人运转起来。

准备工作

首先将你的Arduino插到Shield Bot上,再用USB线将它与PC连接。
ShieldBot_dcaz.JPG

你最好在上传代码前将锂电池旁边的使能开关(Enable Switch)拨到"OFF"。否则,你可能会被Shield Bot的突然运行吓到。我们为Shield Bot写了一个很完善的library,便于你轻松的操作它。

点击本页面下的资源目录,下载Shieldbot套件所有库文件,并解压。将解压后的文件,放到Arduino IDE的library文件夹下,路径为:..\arduino-1.6.4\libraries.

安装电池

如果你想把Shield Bot放到地上跑一跑,那么电池是必须的。请参考下面的图片安装电池:
ShieldBot_dcaz.JPG
注意

1) 一旦电池被安装,你就可以使用mini-b USB线来给电池充电了。在电池充电过程中,红色的指示灯会亮起。当充电完成后,绿色的指示灯会亮起。
2) 当上传代码时,你需要将Arduino的USB口与PC进行连接。Shield Bot的USB口只用于对锂电池的充电。

演示教程1: 让电机转动

  • 打开Arduino IDE,到File->Examples->Shieldbot->drive目录下,载入一个Shieldbot示例程序。请确保你选择了正确的Arduino控制板和串口
  • 将代码上传到Arduino。一旦上传成功,控制台会显示"Done Uploading"
  • 在完成上传后,拔掉连接Arduino与PC的USB线
  • 将Shield Bot放到一个开阔的地方,然后将使能开关(Enable Switch)拨到"ON"
  • 现在,Shield Bot已经能以一定速度前进了。

演示教程2: 沿着黑线前进

Shield Bot可以通过巡线传感器(s1、s2、s3、s4、s5)来检测可反射的表面。如果没有可反射表面被检测到,那么蓝色指示灯会亮起,例如遇到黑色的胶带。现在,让我们试试让Shield Bot沿着黑线前进。

注意: 请确保使能开关拨到"ON",并且Arduino的A0、A1、A2、A3和D4都没有被其它Shield或电子积木占用。

  • 将Arduino与PC连接好后,重新载入新的Demo程序:LineFollowingSimple
  • 在完成代码上传后。将Shield Bot放到预先准备好的轨道上:


Shieldbot Follow black line image2.jpg

  • 你可以通过调整IR巡线电位器来改变巡线传感器的灵敏度。当沿顺时针方向调节时,灵敏度会增加。当沿逆时针方向调节时,灵敏度会减弱。

应用展示1 Esplora手柄无线控制Shieldbot

使用Esplora手柄蓝牙无线控制Shieldbot,并且可以使用Esplora进行Shieldbot的模式切换:自动寻线模式、手动遥控模式。在Esplora手柄上的屏幕上显示Shielbot小车的状态信息等。
所需硬件如下:

  • Esplora主控板一块
  • Esplora配套1.8寸全彩LCD一块
  • 串口蓝牙模块一个
  • 串口蓝牙扩展板一个
  • Shieldbot小车一个


实施步骤:

1,首先按照Bluetooth Shield 蓝牙扩展板中对串口蓝牙模块和蓝牙扩展板进行主从机配置和蓝牙配对。

2,接着把串口蓝牙模块的串口两线引脚连接到Esplora的OUT2和OUT3引脚,把串口蓝牙扩展板插入到Shieldbot小车上。

3,下载本页面下“资源”目录下的Esplora控制Shieldbot程序包,解压,直接用Arduino IDE打开Esplora主机程序和Shieldbot从机程序。

4,选择相应的主控板类型和COM口进行编译下载。程序下载成功后先后给从机,主机上电,等待蓝牙自动配对完成,即可使用Esplora无线控制Shieldbot小车了。

5,通过Esplora上的按键和摇杆就能控制Shieldbot的模式,控制Shieldbot的运动状态并且在LCD屏上显示出来,如下图所示。


Shieldbot EsploraControlShieldbotImage1.jpgShieldbot EsploraControlShieldbotImage2.jpg

Shieldbot EsploraControlShieldbotImage3.jpgShieldbot EsploraControlShieldbotImage4.jpg

Shieldbot库使用简要说明

你只要将Shield Bot的library添加后,再在你的Arduino代码中顶端的void setup()前申明一个Shieldbot对象,就能使用Shield Bot的library了。

#include <ShieldbotV1_0.h>	//将Shield Bot的库导入到主程序中

Shieldbot shieldbot = Shieldbot(); //声明一个对象

setMaxSpeed(int both)

说明:设置两个电机的最大速度.
参数 both: 0代表停止,255代表满速度

setMaxSpeed(int left, int right)

说明:给左侧和右侧的电机一个最大速度.
left,right: Left代表左电机的速度参数. right右电机的速度参数.0代表停止,255代表满速度.

rightMotor(char mag)

说明: 开启右电机, 负数向后转, 正数向前转。
mag: 右电机的速度和转向参数;参数 -128: 总是向后转, 参数 0: 停止, 参数 127: 总是向前转

leftMotor(char mag)

说明: 开启左电机, 负数向后转, 正数向前转。
mag: msg代表左电机的速度和转向参数;参数 -128: 总是向后转, 参数 0: 停止, 参数 127: 总是向前转

forward()

说明: 开启两个电机让shieldbot小车按照SetSpeed()函数设置的速度参数向前运行。

backward()

说明: 开启两个电机让shieldbot小车按照SetSpeed()函数设置的速度参数向后运行。

drive(char left, char right)

left: 参数在-128到127之间,-128代表全速向后转动,0代表停止,127代表全速向前进 :right: 参数在-128到127之间,-128代表全速向后转动,0代表停止,127代表全速向前进

stop()

说明: 关闭两个电机. 为了实现同样的功能你也可以调用函数drive(0,0).

stopLeft()

说明: 关闭左电机. 为了实现同样的功能你也可以调用函数drive(0,X). 这里X代表一个在-128到127之间的非零数

stopRight()

说明:关闭右电机. 为了实现同样的功能你也可以调用函数drive(0,X). 这里X代表一个在-128到127之间的非零数

fastStop()

说明:迅速关闭两个电机,这个对电机驱动芯片有一定损伤,使用与否取决于你使用的要求

fastStopLeft()

说明: 迅速关闭左电机,这个对电机驱动芯片有一定损伤,使用与否取决于你使用的要求

fastStopRight()

说明: 迅速关闭两个电机,这个对电机驱动芯片有一定损伤,使用与否取决于你使用的要求

readS1(), readS2(), readS3(), readS4(), readS5()

说明: 读取板子上5个寻线传感器的模拟值.
返回值: 如果有光线被寻线传感器接受到,返回LOW电平(比如在白线的情况先)如果光线没有被反射回来,则输出HIGH电平(比如遇到黑线)


Shieldbot Motion diagram.jpg

/*
#define right1 5			//define I1 interface
#define speedPinRight 6  	//enable right motor (bridge A)
#define right2 7      		//define I2 interface 
#define left1 8      		//define I3 interface 
#define speedPinLeft 9  	//enable motor B
#define left2 10     		//define I4 interface 
*/


资源


Shieldbot原理图: 文件:ShieldBotv0.9b Schematic.pdf

Shieldbot套件所有库文件: 文件:ShieldbotlibrariesV1 0.zip

使用Esplora手柄无线控制Shieldbot程序包: 文件:EsploraControlShieldbot.zip

Shieldbot套件使用教程压缩包1: 文件:ShieldbotUserGuideTutorial.part1.rar

Shieldbot套件使用教程压缩包2: 文件:ShieldbotUserGuideTutorial.part2.rar

Shieldbot升压芯片数据手册: 文件:ISL97516.pdf

Shieldbot锂电池充电芯片数据手册: 文件:BQ2057.pdf

Shieldbot电机驱动芯片数据手册: 文件:L298P.pdf

Shieldbot比较器芯片数据手册: *LMV358 数据表

如何购买

Duinopeak 官方淘宝商城
Shieldbot小车购买链接

支持

如果你有什么建议或者好的点子, 你可以来我们的DuinoPeak论坛参与讨论.

外部链接

链接到外部网页将会给你提供更多应用创意,文档/数据表或软件库

视频