大家知道,现在物联网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上有不少视频,可惜要翻墙,大家都应该学会科学上网了吧,自己看看吧。

 videos on YouTube

迈出物联网的第一步,玩儿一下Arduino的更多相关文章

  1. [原创]迈出NIOS的第一步,HelloNIOS

    Altera官方推出NIOS已经很久了,个人感觉C+V代码配合会是后面FPGA使用的一个主流,由C来完成一些对时序要求不高,对功能要求偏高的部分,比如运动控制等:由V来配合时序完成高时序要求的需求以及 ...

  2. Openstack(企业私有云)万里长征第一步——安装

    一.前言 单位新进了十几台服务器,建了一个高标准的一体化机房,状似刘姥姥进大观园的我,从机房规划到企业私有云搭建一一重头学来,除了机房泥墙其他基本都涉猎到了. 从企业私有云这个名字就能看出这是多么复杂 ...

  3. 创业小记:ALL IN才是迈出创业第一步的关键

    对于创业而言,能卖出这创业第一步的,大多都经过了长期反复的心理拷问与折磨. 因为当你迈出创业的那一步,你可能需要面对的是毫无收入保障的生活,以及后果自负的结局. ALL IN才是迈出创业第一步的关键( ...

  4. 高德携手阿里云发布“LBS云”,账户打通只是第一步

    位置.游戏.视频,是公认的基于云计算的三大移动端应用方向.而今,LBS云有了更多进展,在高价值应用与云平台之间实现了资源打通和融合,高德迈出了实质性的一步. 高德地图副总裁郄建军(左)与阿里云业务总经 ...

  5. Django第一步

    对于一个web框架,掌握了三部分的内容,就可以说是迈出了第一步. 1. 准备开发环境 2. 创建一个工程,并运行 3. 开发hello world应用 1. 准备环境 首先应该是安装python和dj ...

  6. C#开发学习人工智能的第一步

    前言 作为一个软件开发者,我们除了要学会复制,黏贴,还要学会调用API和优秀的开源类库. 也许,有人说C#做不了人工智能,如果你相信了,那只能说明你的思想还是狭隘的. 做不了人工智能的不是C#这种语言 ...

  7. 开发thinkphp的第一步就是给Application目录(不包括其下的文件)777权限, 关闭selinux

    开发thinkphp的时候, 总是会出现各种个样 的奇怪的毛病, 比如: 说什么Application目录不可写, 比如: 说什么 _STORAGE_WRITE_ERROR, 不能生成 Runtime ...

  8. ElasticSearch第一步-环境配置

    ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSearch第四步-查询详解 Elasti ...

  9. Scala的第一步

    第一步:学习使用Scala解释器 开始Scala最简单的方法是使用Scala解释器,它是一个编写Scala表达式和程序的交互式“shell”.在使用Scala之前需要安装Scala,可以参考 Firs ...

随机推荐

  1. OpenCASCADE Color Scale

    OpenCASCADE Color Scale eryar@163.com Abstract. The color scale is a specialized label object that d ...

  2. BAT及各大互联网公司2014前端笔试面试题--JavaScript篇

    很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习js更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确, ...

  3. PHP中有关正则表达式的函数集锦

    之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载.当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有 ...

  4. EntityFramework 如何进行异步化(关键词:async·await·SaveChangesAsync·ToListAsync)

    应用程序为什么要异步化?关于这个原因就不多说了,至于现有项目中代码异步化改进,可以参考:实际案例:在现有代码中通过async/await实现并行 这篇博文内容针对的是,EntityFramework ...

  5. php对表格进行批量操作如全选反选删除功能

    <!DOCTYPE> <html> <head> <meta http-equiv="content-type" content=&quo ...

  6. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  7. Vertica的date与timestamp数据类型,to_date()与to_timestamp()函数区别

    实验环境:3节点,RHEL6.4 + Vertica 7.0.1 实验目的:了解Vertica数据库的date与timestamp数据类型,to_date()与to_timestamp()函数区别   ...

  8. iis7.0上发布mvc4.0网站

    步骤如下: 1.右击需要发布的项目,在弹出的菜单中选择“发布...”选项 2.在“发布web”对话框中进行设置,配置文件名称默认为“配置文件1”可以修改为需要的名字,以便识别,也可以不改.发布方法选择 ...

  9. Lucene教程

    一:简单的示例 1.1:生成索引 1.1.1:Field.Store和Field.Index 1.1.2:为数字生成索引 1.1.3:为索引加权 1.1.4:为日期生成索引 1.2:查询 1.2.1: ...

  10. 认识Java Core和Heap Dump

    什么是Java Core和Heap Dump Java程序运行时,有时会产生Java Core及Heap Dump文件,它一般发生于Java程序遇到致命问题的情况下. 发生致命问题后,Java进程有时 ...