大家知道,现在物联网Internet of Things(IoT) 方兴未艾,各种智能设备层出不穷,手表、手环、甚至运动鞋等可穿戴设备,还有智能家居产品,无时无刻不冲击着我们的思想和眼球。Autodesk最近也宣布进军物联网行业,刚刚收购了一下物联网公司SeeControl。
我这样一点不懂硬件的人也有兴趣玩儿一下了,从哪儿开始呢?还是从最简单的Arduino开始吧。于是兴致冲冲的淘了一套Arduino入门套件,这个套件包含了Arduino板和一些常见的传感器,入门够用了。
Getting started with Arduino
首先我们需要一块Arduino板子、一个面包板方便插线,还有一些LED啊、传感器神的。这些在套件里面都有。不过刚开始还是玩儿点简单的,首先把环境搭起来吧。除了小硬件之外,还需要下载安装Arduino IDE。目前最新版的1.6.5. 可以从网上下载,windows、linux、mac版都有。我用的是Mac版。
https://www.arduino.cc/en/Main/Software
作为开始,还是先玩儿一下blink例子。这个例子就是把一个LED小灯点亮、1秒钟后关闭,然后循环往复。例子源代码在Arduino IDE里已经自带了,在文件--示例里面可以找到。现在干起来,用USB线把Arduino和电脑连起来,按Arduino IDE里面的上传按钮,就是下面的第二个箭头的那个按钮。然后注意观察Arduino板子上13号旁边有个小灯就已经在闪烁了,成功!太简单了,其实这个也可以作为一个板子好坏的测试程序。你可以改一下代码,比如两2秒灭0.5秒,再上传看看是什么效果。
通过这个小例子理解了Arduino的工作方式,我们可以通过编程来控制Arduino实现我们想要的行为。
Do not have Arduino yet? Try 123D Circuits
你估计也想玩儿一下吧,不过你可能还没Arduino套件吧。没关系,你可以先试试Autodesk 123D Circuits。 这是个纯网页版的,在Autodesk 123D Circuits上你可以模拟硬件连接,编写和测试代码,等测好没问题了,你的Arduino也到货了,直接把代码考到Arduino IDE里烧录到Arduino里就可以完美运行了,哈哈。此外你还可以把你在Autodesk 123D Circuits上的成果共享给你的朋友们玩玩儿。
首先登录到Autodesk 123D Circuits,创建一个lab。里面默认只有一个面包板,从component组件列表里拖一个Arduino和一个LED上去。把LED查在面包板上,然后按照我下图的样子鼠标划线接起来。最好还拖一个电阻上来,要不电压太高,LED小灯会爆掉的。 接线是这样的,LED的一个脚接Arduino上的13号口。一会儿你往下看,代码里也是这样定义的。 另一个脚接5v电源口,中间放个电阻。
好了,接好了,就可以点右上角的“Start Simulation”按钮或者代码编辑器里的“Upload & Run”开始模拟了,你应该能看到LED小灯开始闪烁了。
注意在开始之前,检查代码编辑器里的代码是不是下面的代码啊,如果不是拷贝粘贴一下。读一下下面的代码,也很简单,初始化时连接的13号口,这也就是为什么我们接线时要连13号。然后在循环里面给个高电平,过1000毫秒再给个低电平,循环往复。
Please note that the Arduino code is the default blink code as below, if it is not, you need to copy and paste it into code editor before you upload and run:
// Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
还是挺简单的。
下来我想要用LM35温度传感器来检查一下当前温度了,下来在写 :)
关于 Autodesk 123D Circuits, 的使用,youtube上有不少视频,可惜要翻墙,大家都应该学会科学上网了吧,自己看看吧。