本帖最后由 Makeblock 于 2015-10-15 10:31 编辑
Arduino 可谓是创客界最知名的平台了,被誉为「创客七种武器」之长生剑。在各大论坛、博客、企业网站上也存在着大量的 Arduino 教程,带领新手入门。本系列将从另外一个角度——图形化——来讲解 Arduino,降低门槛,让没有接触过编程的朋友也可以轻松学会 Arduino。 本系列教程所使用的软件主要是:mBlock。下载地址:mBlock 数年前,MIT 媒体实验室开发了一款图形化编程软件,名为 Scratch,广受好评。然而 Scratch 只能在电脑里编程,不能和硬件交互,对于创客而言,这是一大缺陷。针对这一点,Makeblock 团队对 Scratch 做了一系列的优化和整改(遵从开源协议),让它完美兼容了 Arduino 等硬件平台,优化后的软件名为 mBlock。 mBlock 界面中,学习 Arduino 最常用的区域有:①积木区 ②脚本区 还有一个隐藏区域:Arduino 代码区,mBlock 可以将图形化的程序实时转换为 Arduino 代码,供使用者参考和学习。下图显示了一个简单程序的图形化表示和代码,通过相互对比,再尝试修改,可以很轻松地学习 Arduino 编程,不再为语法细节而困扰。
案例:接下来我们来看一个简单案例,如何使用 mBlock 来学习 Arduino。 首先,在 mBlock 下载 mBlock 并安装。然后,拿到一块 Arduino 板,笔者使用的是 Leonardo,如果你手头有其他 Arduino 的开发板,也是可以的。 打开 mBlock 后,用 USB 线将 Arduino 板连接到电脑上。在菜单中,请选择和自己手上的开发板对应的型号。 点击 mBlock 的「连接」菜单,将看到一个串口号(不是 COM1 或 COM2),请单击串口号完成串口的连接。完成连接后,串口号前将出现一个打勾的符号。如果不确定哪一个串口号是正确的,可以打开系统的「设备管理器」来查看。
随后,点击菜单中的「更新固件」。这里需要解释一下「固件」的概念。mBlock 连接 Arduino 硬件后,有两种工作模式。第一种,保持 Arduino 和电脑的串口连接,此时可以随时用 mBlock 控制硬件,也可以用 mBlock 监测硬件的状态,这种模式叫做「在线模式(Online)」;第二种,用 mBlock 编写好程序后,将程序烧录到 Arduino 开发板上,烧录之后,Arduino 可以脱离 mBlock 独立运行,这种模式叫做「离线模式(Offline)」。 对于第一次使用,如果要让 Arduino 以在线模式工作,必须在 Arduino 开发板上安装一个固件。从离线模式切换为在线模式前,也需要重新安装固件。
接下来,我们尝试用 mBlock 编写一个简单的程序:让 Arduino 的板载 LED 以两秒的周期闪烁。从指令区拖动指令到右边的程序区,如果想在程序区删除某些指令,将它拖动到指令区即可。如果在指令区找不到 Arduino 指令,请在「扩展」菜单中查看是否勾选了 Arduino。 板载 LED 对应的管脚号为 13,所以拖动出以下的程序。脚本区右下角的放大镜可以对脚本进行缩放。
双击程序块,就可以观察到板载 LED 开始闪烁了。这时候板上的 RX 和 TX 对应的 LED 也会开始闪烁,这是因为 mBlock 正在给 Arduino 开发板发送命令,同时 Arduino 也在给 mBlock 反馈信息。再次双击程序块,可以让程序停止运行。 以上是在线模式,如果要切换到离线模式,非常简单:右击「Arduino Program」模块,选择「upload to arduino」。
这时将会在右侧出现一个代码窗口,显示图形化程序对应的 Arduino 代码。当你改变左侧的图形化程序时,代码也将实时同步。再次点击「Upload to Arduino」按钮后,将会把代码上传(又叫烧录)到 Arduino 开发板中。烧录完成后,即使断开 mBlock 与 Arduino 的连接,程序依然可以正常运行。 提示:如果想再次切换为在线模式,需要再次安装固件。
|