创客机器人实战:基于Arduino和树莓派
上QQ阅读APP看书,第一时间看更新

3.1 Arduino开发板

使用Arduino之前,首先要选择一块Arduino开发板。Arduino目前有很多种类型的开发板,如图3-1所示,可以根据需要和开发板的参数进行选择。

下面介绍几款最常用的开发板类型。

3.1.1 Arduino UNO

Arduino UNO是Arduino开发最常用的开发板,是一款基于ATmega328的微控制器板。它有14个数字输入/输出引脚(其中6个可用作PWM输出,数字前面标识为~)、6个模拟输入、1个16MHz陶瓷谐振器、1个USB连接、1个电源插座、1个ICSP头和1个复位按钮。它包含支持微控制器所需的一切,只需通过USB电缆将其连至计算机或者通过AC-DC适配器或电池为其供电即可开始,如图3-2所示。

使用Arduino UNO开发板时,在Arduino IDE的菜单栏中选择:“工具”>“开发板”>“Arduino/Genuino UNO”命令,如图3-3所示。

图3-1 Arduino开发板类型

图3-2 Arduino UNO开发板

图3-3 Arduino IDE使用Arduino UNO开发板

3.1.2 Arduino Leonardo

Arduino Leonardo是集成了USB HID、基于ATmega32u4的开发板。它有20个数字输入/输出引脚(其中7个可用作PWM输出,12个作为模拟输入)、16MHz晶振,微型USB连接、ICSP接头和复位按钮。只需使用USB电缆将其连接到计算机,或使用AC-to-DC适配器或电池为其供电即可开始使用,如图3-4所示。

图3-4 Arduino Leonardo开发板

Leonardo与先前所有开发板的不同之处在于:ATmega32 u4具有内置的USB通信,无须使用辅助处理器。这允许Leonardo作为鼠标和键盘出现在连接的计算机上,以及虚拟(CDC)串口或COM端口,适合使用模拟键盘、鼠标的应用中。

使用Arduino Leonardo开发板时,在Arduino IDE的菜单栏中选择“工具”>“开发板”>“Arduino Leonardo”命令,如图3-5所示。

图3-5 Arduino IDE使用Arduino Leonardo开发板

另外,“Arduino Leonardo ETH”是基于ATmega32U4和新版W5500 TCP/IP嵌入式以太网控制器的微控制器电路板。Leonardo ETH有20个数字输入/输出引脚(其中7个可用作PWM输出,12个用作模拟输入)、一个16MHz晶体振荡器、一个RJ45接口、一个微型USB连接器、一个电源插孔、一个ICSP头部,以及一个重置按钮。它含有为微控制器提供支持所需的功能,只需利用USB电缆将其连接到计算机,或通过AC-DC适配器或电池为其供电即可启动。因为ATmega32u4有内置的USB通信功能,不必配备外部USB-串口转换器。这使得Leonardo ETH在所连接的计算机上显示为鼠标和键盘——除虚拟(CDC)串行/COM端口之外。还有针对电路板行为的其他暗示。可选的以太网供电模块也可添加到Leonardo ETH电路板上。

Leonardo ETH具有与以太网扩展板2同样的Wiznet以太网接口。板载microSD读卡器可用于存储文件,以便通过网络提供服务,该读卡器可通过SD库访问。引脚10为Wiznet接口预留,用于SD卡的SS在引脚4上。

Arduino Leonardo ETH开发板如图3-6所示。

图3-6 Arduino Leonardo ETH开发板

3.1.3 Arduino Mega 2560

Arduino Mega 2560适用于更复杂的项目设计,是基于ATmega2560的单片机开发板。该开发板有54个数字输入/输出引脚(其中15路可以用作PWM输出)、16路模拟输入、4个UART(硬件串口)、1个16MHz的晶振、1个USB接口、1个电源接头、ICSP接口及复位按钮。它包含单片机运行所需的所有要素,使用USB连接线将其连接到计算机,利用ACDC适配器或电池供电即可使用。Arduino Mega能与绝大部分为Genuino UNO设计的sheild兼容。

Arduino Mega 2560开发板已成为大多数3D打印和机器人项目的选择,如图3-7所示。

图3-7 Arduino Mega 2560开发板

使用Arduino Mega开发板时,在Arduino IDE的菜单中选择“工具”>“开发板”>“Arduino Mega SDK”命令,如图3-8所示。

图3-8 Arduino IDE使用Arduino Mega开发板

3.1.4 英特尔®Galileo开发板和英特尔®Edison开发板

英特尔®Galileo是x86构架的Arduino开发板,同时具有英特尔技术的卓越性能,以及Arduino软件开发环境的易用性。这一可开发电路板支持Arduino软件库的开源Linux操作系统,可扩展性强,可重复使用现有软件库资源(名为“sketches”)。英特尔®Galileo开发板可以采用Mac OS、微软Windows和Linux主机操作系统进行编程,也可被设计成为与Arduino生态系统兼容的软硬件产品。

为了超越Arduino生态系统,扩展其原生应用及能力,英特尔®Galileo电路板以标准化的方式,支持多种计算行业标准I/O接口,包括ACPI、PCI Express∗、10/100MB以太网、SD、USB 2.0设备,以及EHCI/OHCI USB主机端口、高速UART、RS-232串行端口、可编程8MB NOR闪存,以及可方便调试的JTAG端口。英特尔®Galileo基于通用开源工具链支持,将Arduino集成开发环境(IDE)的许多优势,与完整的、未经修改的Linux软件栈的广泛软件开发工具和先进能力相结合,汇集在一个平台之上。如图3-9所示。

图3-9 英特尔®Galileo开发板

总的来说,英特尔®Galileo可开发电路板为快速开发简单交互式设计原型,诸如能响应社交媒体、或者能处理更复杂项目(从家用电器自动化,到用智能手机控制的真人大小机器人)的LED光显示等,提供了卓越工具。

英特尔®Edison是一个微型的超低功耗开发平台,它的尺寸仅相当于一个SD卡,小到几乎可以被任何东西容纳。经过设计后它可以和大多数设备一起工作,其中包括计算机、手机或平板电脑,而且还包括椅子、咖啡机甚至咖啡杯。其用途的广泛性甚至超出了所有企业家和发明家的想象。如图3-10所示。

图3-10 英特尔®Edison

英特尔®Edison综合了小尺寸、低功耗、强大功能等独特优势,这使其成为游戏规则的颠覆者,为数以千计富有远见的厂商降低了进入的门槛。搭载英特尔®Edison模块的设备可以通过高度定制和复杂的方式开展合作。这些设备在使用上并非一成不变,它们可以装载多种应用,而且这些应用的下载和安装方式类似于手机和平板电脑。

入门者通过搭配使用英特尔Edison for Arduino开发板能够快速简便地将自己有趣的创意变成现实。资深的创客与企业还能无缝地将原型变成量产的成品。因此,只需一张小小的英特尔Edison开发板,便能完成从想法到产品的飞跃。

英特尔Edison开发板具有以下特性:

(1)英特尔®Edison开发板采用22纳米的英特尔SoC包括一颗双核双线程500MHz的英特尔Atom处理器,同时具备40个GIPO、1GB LPDDR3、4GB EMMC、双频Wi-Fi和蓝牙。

(2)Edison初期支持Arduino和C/C++的编译。Node.js、Python、RTOS和可视化编程功能将会逐渐开放。

(3)Edison包含设备之间和设备与云端通信的固件,能够支持多设备、云基设备、多用户、时间序列的分析服务。

在Arduino IDE中不能直接使用英特尔®Galileo开发板和英特尔®Edison开发板,需要安装开发板的软件包,安装方法如下:

(1)在Arduino IDE的菜单栏中选择“工具”>“开发板”>“开发板管理器”命令,如图3-11所示。

图3-11 选择“开发板管理器”命令

(2)弹出如图3-12所示的对话框,最下面的两项即是。

图3-12 “开发板管理器”对话框

3.1.5 Arduino Due

Arduino Due是一块基于Atmel SAM3X8E CPU的微控制器板。它是第一块基于32位ARM核心的Arduino。它有54个数字I/O口(其中12个可用于PWM输出)、12个模拟输入口、4路UART硬件串口、84MHz的时钟频率、一个USB OTG接口、两路DAC(模数转换)、两路TWI、一个电源插座、一个SPI接口、一个JTAG接口、一个复位按键和一个擦写按键,Arduino Due由于使用32位ARM核心的Due相较于以往的使用8位AVR核心的其他Arduino更强大。Arduino Due开发板如图3-13所示。

图3-13 Arduino Due开发板

注意:不同于其他Arduino,Arduino Due的工作电压为3.3V,和后面介绍的树莓派的工作电压相同。I/O口可承载的电压也为3.3V。如果你使用更大的电压,比如5V到一个I/O口,可能会烧了芯片。

使用Arduino Due开发板时,在Arduino IDE的菜单栏中选择“工具”>“开发板”“Arduino Due”命令,如图3-14所示。

图3-14 Arduino IDE使用Arduino Due开发板