购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.7 Arduino ROBOT

Arduino ROBOT是首款轮子状的Arduino板。Arduino ROBOT有2个处理器,每个电路板上有一个处理器。电机板控制电机,控制板读取传感器的数值并决定如何操作,如图1-9所示。

1.7.1 概述

Arduino ROBOT的每个电路板都是一个全面的Arduino板,可利用Arduino IDE进行编程。

图1-9 Arduino ROBOT

电机和控制板都是基于ATmega32U4的微控制器板。ROBOT将它的很多引脚映射到了板载传感器和执行器上。

给ROBOT编程的步骤与Arduino LEONARDO的类似。这2个处理器都有内置式USB通信,从而无需二级处理器。这样,ROBOT就可以充当计算机的虚拟(CDC)串行/通信端口。

一如既往,有了Arduino,平台每个硬件、软件和技术文档均可免费获得,并且是开源的。这就意味着,可以确切地了解它的制作方法以及如何将它的设计当成自己电路的出发点。Arduino ROBOT是国际团队共同努力的结果。其控制板和电机板的参数如表1-15和表1-16所示。

表1-15 Arduino ROBOT控制板参数

表1-16 Arduino ROBOT电机板参数

1.7.2 技术规范

本部分主要介绍Arduino ROBOT开发板的电源、存储器、输入和输出、通信、编程、自动(软件)复位、USB过流保护和物理特性。

1.电源

Arduino ROBOT可通过USB连接或4节AA电池供电。自动选择电源。电池盒可容纳4节可充电NiMh AA电池。注意不要将不可充电电池与Arduino ROBOT一起使用。为安全起见,ROBOT由USB连接供电时,电机被禁用。

Arduino ROBOT有1个板载电池充电器,其需要AC-DC适配器(壁式)提供9V外部电源。通过将2.1mm中心正极插头插入电机板的电源插座即可连接适配器。如果由USB供电,充电器则不工作,控制板由电机板上的电源供电。

2.存储

ATmega32U4具有32KB闪存(其中4KB被启动加载器占用)。它还具有2.5KB SRAM和1KB EEPROM(其可通过EEPROM库实现读取和写入操作)。控制板有1个额外的512KB EEPROM,可以通过I2C进行访问。GTFT屏上还附有一个外部SD读卡器,可以通过控制板上的处理器进行访问以实现附加存储。

3.输入输出

Arduino ROBOT有一系列预焊接连接器。如果需要,还有很多其他位置,安装其他部件之用。所有连接器都标注在电路板上,通过ROBOT库映射到指定的端口上,从而使用标准Arduino函数。在5V电压下,每个引脚都可以提供或接受最高40mA的电流。某些引脚还具有特殊功能:

控制板TK0~TK7:这些引脚被多路复用到控制板微处理器的单个模拟引脚上。它们可以用作传感器(例如距离传感器和模拟超声波传感器)或机械开关的模拟输入,用以检测碰撞。

控制板TKD0~TKD5:这些是直接连至处理器的数字I/O引脚,利用Robot.digitalRead()和Robot.digitalWrite)函数寻址。通过ROBOT.analogRead(),引脚TKD0~TKD3还可用作模拟输入。注意,如果使用第一代Arduino ROBOT,会发现ROBOT丝印上的TKD∗引脚被命名为TDK∗。TKD∗是专有名称,说明了如何在软件上对其进行寻址,如图1-10所示。

电机板TK1~TK4:这些引脚以软件命名为B TK1到B TK4,它们可以是数字或模拟输入引脚,并支持Robot.digitalRead(),Robot.digitalWrite()和Robot.analogRead(),如图1-11所示。

图1-10 Arduino ROBOT控制板引脚

图1-11 Arduino ROBOT电机板引脚

串行通信:板卡使用处理器的串口进行通信。一个10针连接器连接两个电路板进行串行通信以及电源和附加信息,如电池当前电量。

控制板SPI:SPI用于控制GTFT和SD卡。如果要使用外部编程器对处理器进行刷新,则需要先断开屏幕连接。

控制板LED:控制板上有三个板上LED。一个表示该板供电(PWR)。另外两个表示通过USB端口(LED1/RX和TX)进行通信,LED1也可通过软件访问。

两个板都有I2C连接器:控制板上有3个连接器,电机板上有1个。

4.通信

Arduino ROBOT具有许多工具与计算机、另一个Arduino或其他微控制器进行通信。ATmega32U4提供UART TTL(5V)串行通信,可在数字10引脚板对板连接器上使用。32U4还允许通过USB进行串行(CDC)通信,并显示为计算机上软件的虚拟COM端口。该芯片还充当全速USB 2.0设备,使用标准USB COM驱动程序。在Windows中,需要一个.inf文件。Arduino软件包括一个串行监视器,允许将简单的文本数据发送到ROBOT板和从ROBOT板发送回去。当数据通过USB连接传输到计算机时,板上的RX(LED1)和TX LED将闪烁(但不是用于板之间的串行通信)。

每个主板都有一个单独的USB产品标识符,并将在您的IDE上显示为不同的端口,编程时请确保选择正确的。

ATmega32U4还支持I2C(TWI)和SPI通信。Arduino软件包括一个Wire库,用于简化I2C总线的使用;有关详细信息,请参阅文档。对于SPI通信,请使用SPI库。

5.编程

可以利用Arduino软件给ROBOT编程。通过Tools→Board菜单选择“Arduino ROBOT控制板”或“Arduino ROBOT电机板”。

Arduino Robot上的ATmega32U4处理器预先烧录了启动加载器,从而无需使用外部硬件编程器即可将新代码上传给它。它利用AVR109协议进行通信。可以旁路启动加载器,通过ICSP(在线串行编程)头为微控制器编程。

6.自动软件复位

Arduino ROBOT的设计让它能够被运行于计算机之上的软件复位,而不需要在上传前按下复位按钮。ROBOT的虚拟(CDC)串行/通信端口在1200波特率下打开然后关闭时,复位被触发。当这发生时,处理器会复位,从而中断计算机的USB连接(意味着虚拟串行/通信端口会消失)。处理器复位之后,启动加载器,保持运行约8s。还可以通过按两次ROBOT上的复位键启动加载器。请注意:电路板第一次通电时,它会直接跳至用户程序(如果存在的话),而不是起动启动加载器。

由于ROBOT处理复位的方式,最好让Arduino软件试着起动复位,然后再上传,特别是如果习惯于先按复位按钮,再在其他电路板上上传的话。如果软件无法复位电路板,始终可以通过按两次电路板上的“复位”按钮启动加载器。按一次“复位”按钮会重启用户程序,而按两次则会启动加载器。

7.USB过流保护

ROBOT的两个电路板都有1根自恢复保险丝,能够保护计算机USB端口免遭短路和过电流的损害。尽管大部分计算机都有它们自己的内部保护,但保险丝提供了更多一层保护。如果施加到USB端口上的电流超过500mA,那么保险丝会自动切断连接,直到短路或过电流情况消失为止。

8.物理特性

ROBOT的直径为19cm。包括轮子、GTFT屏和其他连接器在内,它的高度可达10cm。

9.引脚外观

相关的引脚外观,如图1-12所示。

图1-12 引脚外观

图1-12 (续) 2kkwX78vQYd2adNyBR196mPtYQVwNLwaLO8Yg7PRuoT+FLOHHH1UX6HjRcFVin/D

点击中间区域
呼出菜单
上一章
目录
下一章
×