mBlock & Arduino(1)哈喽!LED!

感谢CodeData用户:caterpillar的贡献 著作权归作者所有哟!

作为一个离开电机工程的逃兵,最近竟然开始想玩Arduino,心境上实在有些微妙,翻开一本本Arduino书籍时,面对书上的电子电路元件,真是感到既熟悉又陌生(好歹当年也认真准备过研究所考试,虽然后来录取没上XD)……

为什么会想玩 Arduino?我想了很久,或许是因为在程式设计这条路上,多年来累积了点学习上的自信,另一方面,Ardunio 有不少电路模组,在入门时可减轻了对电子电路理解上的负担,而最想试试的是使用图型化程式语言来控制 Arduino,因为之前使用图型化程式语言的经验告诉我,它们总会带来一些不同的设计想法。

mBlock & Arduino(1)哈喽!LED!_第1张图片

就当做是一种挑战吧!重新探索我曾经离开的领域 … XD

我后来选择基于 Scratch 图型化程式语言,目前基于 Scratch 1.6 而建立的 S4A(Scratch for Arduino)是相对来说比较成熟的产品,如果想要基于 Scratch 2.0 的产品,则有 S2A,不过,几经考虑之后,我后来选择试试目前发展快速、基于 Scratch 2.0 而建立的 mBlock(之前命名为 ScratchBot)。

一样地,我想到哪玩到哪,然后留下一些记录,第一个要来玩的,就是点亮 Ardunio 板子上内建的 LED(Light-Emitting Diode)!

mBlock 与 Arduino 环境准备

首先,可以先到 Makeblock Academy(http://learn.makeblock.com/getting-started-programming-with-mblock/)下载 mBlock 与 Arduino 驱动程式,如果需要最新的版本,可以至 mBlock.cc 下载,两者略有不同,我的文件将先以 Makeblock Academy 下载的版本为开始。

在安装 mBlock 时需要 Adobe AIR,这是 Scratch 2.0 离线版需要的,请确定安装;接着安装 Arduino 驱动程式完成之后,使用 USB 线连接电脑与 Arduino,并在“装置管理员”中确认一下你的连接埠:

mBlock & Arduino(1)哈喽!LED!_第2张图片

可以看到我使用的是 Arduino Uno,Uno 取自意大利文 Uno Punto Zero,也就是 1.0 的意思,用来代表 Arduino 开发软体进入到 1.0(发表于 2011 年 11 月 30 日),写这个文件时,最新的版子是 R3(Revision 3)。

目前 Makeblock Academy 下载回来的 mBlock,安装完后还是会显示 ScratchBot 的图示(而从 mBlock.cc 下载的版本,已经是显示为 mBlock 图示),按下图示启动之后,于选单“连接”中设定你的 Arduino 版子与连接埠:

mBlock & Arduino(1)哈喽!LED!_第3张图片

第一次要先上传韧体到板子,按下“更新固件”开始上传:

mBlock & Arduino(1)哈喽!LED!_第4张图片

闪烁 On-board LED

照理说,要先来个 Hello, World 之类的,不过 Arduino 上没有装置可以画面啊!一般都会接个 LED 让它闪烁来当第一个 Arduino 的操作体验,不过,这边我还没要介绍怎么拉电路,因此我要直接控制 Arduino Uno 板上子上标示为 L 的 LED 灯:

mBlock & Arduino(1)哈喽!LED!_第5张图片

标示为 L 的 LED 灯有内建电阻,并且是吃 D13 这个脚位的输出,因此,只要设定 D13 脚位为 1,也就是高电位(5V),就可以让它亮起来,设定为 0,也就是低电位(0V)时,就可以让 LED 熄灭,你可以建立以下的程式:

mBlock & Arduino(1)哈喽!LED!_第6张图片

想取得控制方块,只要看它的颜色,就可以知道它在哪个分类,例如上图中的方块,可以分别在“事件”、“控制”与“机器人模块”中找到,如程式所示,当你按图中左上方的旗子时,就可以看到标示为 L 的 LED 灯不停重复地,以一秒的间隔进行闪烁。

当然,这只是为了能快速体验一下如何使用 mBlock 来控制 Arduino,如果要开始衔接电路元件或模组,得了解更多 Arduino 板子上的输出入脚位,以及一些电子电路的知识。

顺便一提的是,上头的 Arduino 图是来自于 Fritzing(http://fritzing.org/home/)这个基于开源硬体精神(open-source hardware initiative)的电路设计软体,软体本身也是开源,可以在官方网站下载!

整理:中科极动云,宁波家电物联网云平台

你可能感兴趣的:(mBlock & Arduino(1)哈喽!LED!)