第1课 走进Arduino的世界
对喜好机器人与机器人技术的人而言,除了希望了解机器人的定义及其构成之外,更感兴趣的是参与机器人的设计与创新,大家有没有接触过Arduino?通过这节课的学习,我们将带领大家进入Arduino的神奇世界。
任务导航
1.认识Arduino,了解Arduino控制器的种类;
2.掌握Arduino驱动程序的安装;
3.体验Arduino编程界面。
材料阅读
1.什么是Arduino
Arduino是一个源自意大利的开源硬件项目的平台,该平台包括一块具备简单I/O功能的电路板以及一套计算机端的程序开发环境。由于源代码开放、价格低廉,目前Arduino被广泛应用于电子设计以及互动艺术设计领域,得到了《Make》杂志(中文名为《爱上制作》)等出版物和Instructable等网站的认可和推荐。Arduino被称为“科技艺术”,作为一种新的“玩具”,甚至新的艺术载体,吸引了各个领域的人们加入Arduino的神奇世界。
2.Arduino控制器的种类
Arduino先后发布了十多个型号的控制器,有可以缝在衣服上的LilyPad,也有拥有54路数字输入/输出口的MEGA,也有最经典、最基础的UNO,还有Leonardo、Yun、Zero等,部分控制器如图1.1~图1.4所示。
图1.1 LilyPad
图1.2 Arduino MEGA2560
图1.3 Arduino UNO
图1.4 Arduino Leonardo
Arduino UNO是USB系列的版本,不同于以前的各种Arduino控制器,它不再使用FIDI的USB到串口驱动芯片,而是把ATmega8U2编程为一个USB到串口转换器,目前UNO已成为Arduino主推的产品。
3.Arduino Romeo
本书所使用的Arduino控制器是由DFRobot出品的Arduino Romeo V1.3,如图1.5所示。该控制器基于Arduino UNO开发。它继承了基于ATmega328的Arduino控制器的所有特性,而且集成了电机驱动、键盘、I/O扩展板、无线数据串行通信等功能,可以兼容几乎所有Arduino系列的传感器和扩展板。除此之外,它还提供了更多人性化设计,例如它所采用的彩色排针能够对应传感器连接线,以防插错:红色针脚对应电源,黑色针脚对应GND,蓝色针脚对应模拟口,绿色针脚对应数字口。Romeo控制器的具体说明如下:
(1)处理器:ATmega328;
(2)输出电源:5V/3.3V;
(3)数字I/O口:D0~D13,数字口的输入/输出值为0或1(其中3、5、6、9、10和11口可作为PWM输出,值为0~255);
(4)模拟I/O口:A0~A7,模拟口的输入/输出值为0~1023;
(5)EEPROM:1KB;
(6)测试按钮:5个(S1~S5);
(7)复位按钮:1个(RST);
(8)工作时钟:16MHz。
图1.5 Arduino Romeo V1.3
4.Arduino IDE的安装
得益于Arduino的开源,我们可以访问Arduino的官方网站(http://www.arduino.cc)下载Arduino IDE软件,该软件用来编写程序并上传到控制器上。这里要提醒大家,下载版本要与计算机的操作系统相匹配。该软件下载之后无需安装,解压后即可使用,如图1.6所示。
图1.6 解压后的Arduino IDE文件列表
Arduino的编程环境不仅有文本式的(如Arduino IDE,见图1.7),还有图形化、积木式的(如ArduBlock,见图1.8),本书所采用的编程环境是后者。在默认情况下,Arduino IDE软件并不包含ArduBlock,具体安装方法请参考第2课。
图1.7 Arduino IDE开发环境
图1.8 ArduBlock开发环境
5.Arduino驱动程序的安装
Arduino控制器和计算机一般采用USB数据线连接。Arduino控制器第一次连接计算机,需要安装驱动程序,以后再连接,一般就不需要再安装了。驱动程序在Arduino IDE安装目录的Drivers文件夹中(Windows 10操作系统已经自带了Arduino驱动程序)。下面以Windows 7操作系统为例,介绍驱动程序的安装过程,如图1.9~图1.13所示。
图1.9 打开“设备管理器”,找到Arduino UNO设备
图1.10 选择“浏览计算机以查找驱动程序软件”
图1.11 选择驱动程序所在的文件夹
图1.12 如果系统出现安全提示,选择“安装”
图1.13 安装完毕
注意:DFrobot在2017年之后推出的“Arduino创意机器人”套件中,Arduino Romeo控制器的USB芯片更换为CH340。安装驱动程序的步骤和书中描述的不一致,请以DFRobot官网的介绍为准。
驱动程序安装完成之后,在“设备管理器”的“端口”一项中增加了一个COM口设备,请记下该端口号,如图1.14所示,Arduino与计算机的通信端口号为COM4。
图1.14 通过设备管理器查看Arduino的端口号
最后要在Arduino开发环境中的工具栏下设置相应的端口号以及Arduino控制器的型号,注意这里Arduino控制器的型号为Arduino UNO,端口设置要与设备管理器中显示的Arduino的COM口一致(比如这里是COM4)。
6.体验Arduino
驱动程序安装完之后,接下来我们就用Arduino IDE中自带的LED闪烁示例来体验一下Arduino。在Arduino UNO控制器的13号口上有一个自带的LED指示灯,如图1.15所示。
图1.15 数字口13的LED指示灯
点击文件→示例→Basic→Blink,这时会弹出一个已经加载到程序编辑区的IDE环境,点击,将程序上传到Arduino控制器中。程序上传完之后,会有上传成功的提示,大家会看到LED在不停地闪烁。
动手操作
活动主题1:Arduino驱动程序的安装
在装完Arduino驱动程序之后,要打开设备管理器,查看Arduino UNO的端口,并在打开Arduino IDE后修改端口号,使其保持一致。除此之外,还要选择控制器为Arduino UNO。
活动主题2:上传Blink示例程序,观察现象
探究思考
查阅相关的资料,了解通过Arduino平台可以制作哪些有生活意义、有趣的智能人造物。
视野拓展
Arduino的历史
Arduino这个经典的开源项目,诞生于意大利的一所设计学校。Arduino的核心开发团队成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti。
图1.16 Arduino核心开发团队
据说,Massimo Banzi的学生们经常抱怨找不到便宜好用的微控制器,2005年冬天,Massimo Banzi跟朋友David Cuartielles讨论了这个问题。David Cuartielles是一个西班牙籍芯片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi的学生David Mellis为电路板设计编程语言。两天以后,David Mellis就写出了程序。又过了3天,电路板就完工了。这块电路板被命名为Arduino。几乎任何人,即使不懂计算机编程,也能用Arduino做出很酷的东西,比如对传感器做出回应、闪烁灯光、控制电机等。
随后Banzi、Cuartielles和Mellis把设计图放到了网上。保持设计的开放源代码理念,因为版权法可以监管开源软件,却很难用在硬件上,他们决定采用Creative Commons许可。Creative Commons(CC)是为保护开放版权行为而出现的类似GPL的一种许可。在Creative Commons许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。你不需要支付版税,甚至不用取得Arduino团队的许可。然而,如果你重新发布了引用设计,你必须说明原始Arduino团队的贡献。如果你调整或改动了电路板,你的最新设计必须使用相同或类似的Creative Commons许可,以保证新版本的Arduino电路板也会一样的自由和开放。唯一被保留的只有Arduino这个名字,它被注册成了商标。如果有人想用这个名字卖电路板,那他们可能必须付一点商标费用。参考Arduino 的官方网站,可以找到各种创意作品的源代码,当然也有很多机器人应用实例代码,例如直流电机PWM 调速、舵机控制、超声波测距、红外传感器循迹等,相信它能使你早日实现DIY 机器人的梦想。
挑战自我
请大胆想象,使用Arduino可以制作哪些机器人作品?