极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14665|回复: 2

Arduino日记

[复制链接]
发表于 2012-2-21 23:13:49 | 显示全部楼层 |阅读模式
       昨天折腾了一个晚上,终于把Arduino的板子调试完毕,终于可以再我的电脑上好好摆弄摆弄这个东西了,期间的纠结也是必不可免的,所以,如果有人有和我一样的经历,那么相信这篇文章可以帮到你。
       板子是在淘宝上买的,价钱还不算贵,75,连上运费8元,当然,如果你懂的砍价,那就是另外的一回事情啦。
       板子是Arduino的最新的UNO板子,而对于初学者来说,这种板子也应该是比较合适的饿,至少我在初学的书中是看到这么说的,当然,对于开源硬件来说,最重要的就是自己能够有兴趣去鼓捣并且能够有人可以交流,大家共同去提高。而在这里,你可以在任何一款板子的研究中找到同样兴趣的人,而这正是开源硬件给我们带来的一些好处,掠去一些不必要的繁琐的封装,Arduino给我们提供的是一个简单明了的世界,在这个世界里我们可以尽情去展示自己的才能并且完成自己心中的那个崭新idea.
  板子拿到手,因为之前看过书,在这里我想推荐几本书,基本上是给初学者看的,我也在看,一本是[Getting.Started.with.Arduino(2nd.2011.9)].Massimo.Banzi.文字版,这本是一本必看的入门书,在这里不仅有关于初学时应当注意的地方和新手使用的较为详细的教程,还有关于开源的一些理念的诠释,所以是需要的啦,我所说的书在网上都有的下载,所以你就不必再破费money去买了,你可以在图书馆找到或者在网上的电驴里找到,另一本是[Arduino:A.Quick-Start.Guide(第1版)].(Arduino:A.Quick-Start.Guide).Maik.Schmidt.文字版在这本书里面有几个比较吸引初学者去学习的具体的项目,还有完整的代码,并且还提供了下载,所以可以说是十分的方便,与前面一样,这个也能在网上下载的。另外的是[Arduino.Robotics(2011)].John.David.Warren.文字版之类的杂志型的资料,这个或许比较的专业一点,但是在开源贡献者的努力下,背后的繁琐的流程被大大的简化,所以说如果你又足够的时间和兴趣,不妨去尝试一下啦。
       言归正传,拿到板子的第一件事啥?是签收!哈哈,当然不只是这个,首先你需要核对板子的类型和型号,然后你需要上网,到Arduino的官方网站上去下载一个IDE的统一的编程环境,这个步骤比较简单,所以你可以自己完成,而在下载完集成编译环境后,我们就离成功不远啦!我初开始也是这么想的,但是其实不然。
      按照书上的说法,硬件的另一件事情是能够有处理你写的代码的能力!也就是能够读懂你在IDE中写的那么些的代码,所以我们所要做的就是给它这个能力,也就是给硬件装上合适的驱动!这恰恰是后来最最令我纠结的地方了。
  其实也是我的不对,我的系统是精简版本的win7,所以说有些功能无法提供,额,后来我在Arduino论坛中的朋友的帮助下看了一下我的电脑的配置,是统一会员纯净版,所以说,这个就有点令人纠结了,好吧,纠结的事情过会说。
  具体说说我后来成功的故事,我电脑上安装了两个系统,既然实践证明我的这个系统不行,那么就试试另一个系统,ubuntu!,这个事linux的一种,开源的软件,开源的软件和开源的硬件相结合,这恰恰又是怎么样的一种巧合!我安装的饿这个ubuntu版本是那种通过光盘直接安装的傻瓜式的版本,也就是说,在安装的过程中我基本上啥都不用做,不用分区不用筹划硬盘空间,不用指定语言不用注册,好了,一站式到底的服务!不过这二个也没有关系,其实这个安装在很多的linux的版本上都是等效的。
  继续,shutdown掉win7然后load来ubuntu,我们首先连上网,连上网的事情也说一下吧,也是给我自己留个备份,首先打开终端,如果是英文版本的,那就是terminate,好的,可能要你输入管理员密码,这个你自己记得,我可不知道,然后输入sudo pppoeconf,pppoe就是对于输入密码和账号的连结来说的适用(至少我是这么理解的,太专业的话我说不出来),sudo在linux中的意思就是以系统最大的boss,也就是拥有最大权限的管理员来操控这个系统,所以说你也必须输入密码(可能),因为你马上就要开启某个服务或者是安装某个软件,从大家几个账号共有的系统的角度来看,这个系统的某些内容将要被改变,或者是某些性质将要被改变,比如你下载了软件,万一这个软件有病毒呢?这就麻烦了,所以到时候各个系统拥有者就要来谴责当初的那个最大的boss,也就是我们所认为的罪魁祸首,当然,这就像公司经营不善,当然最后还是要怪罪大老板的。好了,再扯就扯远了。
  这样以后,会出来一个网络连接设置的向导,当然,这就像是在windows中的那种傻瓜式的操作了,但是对于初学者来说,这一点点的存在的与原有系统的相似之处还是有点像救命稻草的,对于初学者来说这还是有点需要的,但是到后面熟练之后,你可以自己尝试搭建,不用再使用傻瓜式的操作,傻瓜式的操作有好处也有坏处,好处就是你可以比较方便快捷的完成相应的功能,但是也有坏处,如果你的这个操作出了问题,或许只是一个平常的小问题,你可能就手足无措了,所以说,如果完全由我们自己来搭建某一个特定的服务,就像是用一些必要的材料来组成我们所需要的东西一样,那样我们队整个体系的组件更为的明晰,被问题困扰的机会也就少多了。这也就是为啥嵌入式系统适宜这样的小型的系统,小型是一个原因,但是在我看来,还有一个更为重要的原因就是我们能够对系统的掌控,能够保证应用的可靠性,即使windows缩小到可以被容纳在嵌入式系统小巧的空间中,恐怕也不会被采纳,也许就是这个原因。
  好的,又扯多了,在向导中,前面全都选OK,然后需要你输入用户名和密码,也就是用来你上网的信息,数万后你可以一路回车,也可以在最后出现的两个选择no,那两个就是让你选择是否在开机的时候就拨通连结,还有就是问你是否现在就拨通连接,还是建议你选择no,当然,你应该能看得懂这样的几句英文的,如果是中文那就不用说了。
  然后你就完成了上网前的准备工作,你可以接通网路开始你的网上冲浪了!还是在前面的终端中,你可以先关掉,重新打开一个,然后输入pon dsl-providerr,这里面的饿dsl就是拨号上网的那种的连接和协议吧,pon中的on就是打开的意思,那么你大概就能够猜到poff dsl-provider就是关闭连接的意思,是的,恭喜你,猜对了!好了,现在你可以上网了,如果还不能,你可以用网上的,ping来检验一下,ping在我感觉上有点像一个检测的指令,你输入ping www.baidu.com,然后你的电脑会试图向百度网站或者是它所在的服务器发送一些信息等待回应,如果你的网络连接没有问题,那么这个就应该能够行得通,不然你就需要详细的检查问题了,而这就是我所说的坏处,当然,通过指令和一系列的检测来一步一步看看你的系统的问题在哪里,好了,如果真的不行,你可以再上网看看问题出在哪里,也可以下子一个专用于linux或是ubuntu的连接软件,其实就是有点类似刚刚pppoe指令弹出来的那种傻瓜式操作完成整个过程,希望你可以成功。
  现在你可以上网了,那么离成功又近了一步!我们上Arduino的官方网站,然后寻找最新的或是以前的集成编译环境,这个不难,相信你能完成,当然,在这里我推荐下载最新的版本,因为你可以看到,在官网上会提示你说,有很多的饿以前的版本都不在被长期的项目小组所支持了,人都是喜新厌旧的嘛,当然,下载以前的版本也没有关系。Arduino的环境下载来就可以直接解压打开使用了,所以这个还是很方便,而且在linux中的IDE还很小,我看了一下,只有几M,而在windows中有足足80多M!所以,差别马上就显现了吧!把Arduino放在你方便使用的地方,可以是家目录,也就是home这个文件夹,这个在places标签(最上方)里找得到,中文版的自己懂的,你也可以直接放在桌面上,好了,继续前进!
  现在我们的电脑还不会太适应刚刚下载的环境,你还需要三样东西,这个也是我昨天晚上又一个纠结的地方,由于以前安装过processing的环境,在安装时就需要再安装上JAVA的JRE或是JDK,其实也就是java的一个环境,JAVA被设计成与各个操作系统兼容,使它的程序可以再各种的操作系统中跑,其实很大的原因就要归功于这个东西,这个就是类似虚拟机的东西,其实虚拟机这个东西(如果你没有听说过,你可以问问度娘),离我们很近,我们的windows早期,其实包括现在的操作系统,也都有虚拟机的这样的概念被应用,使我们的系统成为一个虚拟机,这样就可以在一定程度上的虚拟化程度上完成进程的调度和空间的分配,在每个程序运行时,当然,是在虚拟模式下,都会产生一个虚拟机,然后各自相互独立又有联系的管理者我们的系统,所以说,虚拟机的思想确实是一种值得称赞的想法,当然,就windows来说是这样,如果到了linux,可能情况就发生了大大的改变了。
  好了,说的又远了,说到jre,这个纠结就不大一处来,如果你的系统中已经有了这个东西,那么你就不再需要安装了,这二个也可以通过指令来查看,也就是在终端窗口中输入java –version来检测,如果你的电脑显示出了信息,当然,不应该是错误信息啊,好了,我相信你的系统中显示的是错误的信息,要不然你就不会纠结了。咱还是老老实实安装吧,接下来,奇迹并不会发生,因为你还有三个软件要安装,而jre就是其中的一个,在网上浏览了一番以后,我发现了大家大同小异的说法,即对于java的这个开发集成环境,ubuntu10。10并没有支持,当然,10.10是一个版本的说法,我列在这里只是为了说明,但是通用的方法还是存在的。。。。好吧,既然不支持,那么一定有下文,下文是啥呢?那就是在ubuntu中可以通过更新软件源来达到这一点,是的,还给出了详细的步骤,具体的步骤如果你不怕麻烦可以再百度里找到,但是我在后面有其他的方法,因为这个方法我的行不通,不知道你的行不行的通。更新了软件源,正像刚刚说的那样,更新时更新了,接下来的apt-get install sun java6-jre这种的指令无法顺利的执行,试了好多好多遍都没有完成,这个就是真的令人纠结了,好吧,我的方法就是找到傻瓜式操作,在ubuntu有吗?这个还真的可以有,其实打从图形界面显示在我们的饿面前的时候,我们就有理由相信,傻瓜式的操作并没有园区,因为高手通常都是在黑漆漆的像dos这种小黑框中(还有事在千钧一发之际,这个需要特别的强调,电影的导演最最喜欢这个了)输着数不完的代码才能诞生的。所以说,在ubuntu中有个名叫软件代理的东西,是一个程序,提供了一个界面,你可以像在google中输入想要搜索的东西找到你想要的,这里变成了你想要的软件而已。Ubuntu software S…..就是这个,在服务中(也就是在左上方的几个标签中找,展开后直接可以看到前面这个表述),好了,找到他,然后开始美妙的傻瓜之旅,注意,在这里我们的目的并不是能够联系ubuntu的使用方法和理解ubuntu的操作精髓,我们的饿目的是为我们将来或者说马上要用到的Arduino来配置出一个可以运行的环境,这一点很重要,在很多时候,我们常常是把过程当做了目的(鉴于我写的这么长的篇幅,其实我也属于这样的人,不然我可以直接告诉你说,请你找到这个东西,然后输入。。。然后下载,然后接好了。。。),而忽视了我们当初真正的目的,所以说,谁能够一直在目的的实现路上不偏不倚的一路向前,相信他的成功也就不远了(所以说我离成功还有十万十万八千八千里)。
  好了,这个软件的类似于管家的程式会帮助我们找到需要的程序并且自动完成安装,这个就很easy了,你需要输入的就是jre(输入后在所有选项中选的是openjava,也就是鼠标一上去右键点击后再左键点击,后面就是确认一类的操作),还有一个是gcc之类(同理啦),还有一个是gcc的lib,后面的这两个照着网上其他人说的方法可以顺利的安装,当然,你想要在这里安装,可以,热烈欢迎,但是你需要输对名称,切记!
  好了,接下来,就是见证奇迹的时刻,我们的环境配置完毕,开始大踏步迈向Arduino吧,至少我到这里已经配置完毕,你的怎么样,我真的很难说,但是至少确保你的java环境安装正确,因为即使你的这个不成功,你还有机会去尝试一下processing ,我前面提到过,这个就是可视化演示,你会发现他们两个的程序打开以后非常的相似,简直可以说是一摸一样,而且连语法也是出奇的相似,这就是说,他们或许是“血脉相连”的。
  我们直接找到我们放置的Arduino文件夹,然后直接进入,单击最最有可能创造奇迹的那个Arduino.exe程式,好了,你要是想闭上眼睛也可以,反正你的电脑不至于爆炸的,你可以看到湛蓝色的程序编程界面依然出现在了你的面前!我们成功了!从此你的Arduino就可以受你的控制了!而我的连篇的废话也可以到此结束了。
  其实还有补充的废话要说的,具体的使用细节你可以再最最前面我的推荐书目中找到,而且虽然是英文文档,却并不是很难理解,其实具体步骤不难,不妨在这里说一下,解释plug in(你应该知道这两个词的意思,不知道去问有道) Arduino的USB连接线,然后你在程序界面中选好相应的板子和端口,端口不用选,已经选好了,然后你可以先试试一段实例的代码,在第一个file的examples里面,可以选一个blink程序,我的第一个程序就是这个,也就是led灯闪亮的程序,选好后打开,编译(点那个一个勾一样的图形),上传到板子(点那个箭头一样的图形),好了,你的led应该先插进去,是13口(注意!13口自带电阻,所以你不必再接电阻,其他的口可能会出现因没有电阻而导致led烧毁的悲剧!当然啦,这个也没关系,其实我应该不说,给你个教训,然后下次就能记住了),13口在示例编程中有制定,所以说你需要确定对应的关系。
  然后我就看到我的板子上的LED在深夜的2点闪耀出蓝色的光芒,非常的美丽,当时的心情真是非常的美妙啊。但愿你也能有这样的美好的时刻。亲!

评分

参与人数 1 +1 收起 理由
幻生幻灭 + 1 支持新人帖

查看全部评分

回复

使用道具 举报

发表于 2012-7-9 00:04:56 | 显示全部楼层
亲哥啊,看来半天你的帖子全文字啊。晕,太锻炼人的耐心了
回复 支持 反对

使用道具 举报

发表于 2012-8-29 22:26:33 | 显示全部楼层
1.“这个事linux的一种” 这里有个错别字
2. 哥,来点图吧,哪怕是个点亮的LED
3. 推荐日记继续写下去,但必须图文并茂。也可以写些ubuntu运行Arduino的方法,这个在论坛比较稀有
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-29 13:26 , Processed in 0.057800 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表