好吧,2013年刚开始,我就败家了……

迷上自行车运动一年多,发现自己更爱看历史悠久的公路自行车赛,在比赛中不光能看到一支车队细腻的技战术配合,每一位队员就像一个精密齿轮那样发挥自己的作用,还能看到悠久的自行车文化。就连欣赏那些不管是新的还是旧时代的赛车或车架都是一种艺术的享受。我现在骑的山地车是在2012年自己组装的一辆山地车,所以拥有一辆公路车的念头就默默在心里生根发芽……
发布时间 发布于 2013-02-21 16:56:58 | 阅读次数 阅读过2780次 | 分类 生活 | 评论 3条评论 | 引用 没有引用通告
自从19世纪中期自行车运动从欧洲、北美发源以来,吸引了世界上一批又一批的爱好者参与其中。在曾经被称为“自行车王国”的中国,上世纪80年代,自行车也作为曾经的“四大件”之一走入千家万户,在那时,自行车成为了民众主要的交通工具。随着社会经济的发展,汽车逐步走入寻常家庭,自行车也一度淡出了人们的生活。不过近些年来,随着“绿色低碳”的生活理念渐入人心,自行车运动开始展现出了自己独特的魅力,使其又成为了一项时尚的健身运动,越来越多的人参与到了其中。

自从我参加了骑行运动之后,便被其“挑战极限,积极向前”的魅力所深深吸引,深陷其中不可自拔。业余折腾电子数码的时间也慢慢转向了自行车运动。在参加一些骑行活动的过程中,常常会想记录一下自己的骑行路线、骑行数据,事后可以进行分析,作为训练数据也能使自己得到提高。在一番寻找后发现智能手机上有提供这样功能的例如Endomondo应用供爱好者免费使用。虽然智能手机现在已经非常普遍,但是智能手机的续航力以及国外应用与国内用户的使用习惯差异都是不小的问题。再加上自行车运动存在一定的危险性以及需要适应不同的气候,一旦摔车,损坏智能手机的成本就会显得比较高。因此我就想到了可以利用Arduino来做一个低成本专用的自行车车载电脑来记录并实时显示骑行数据,并在训练完成后使用电脑针对记录的数据进行分析,以得到想要的结果和报表……
发布时间 发布于 2012-12-07 13:42:49 | 阅读次数 阅读过10672次 | 分类 Arduino | 评论 10条评论 | 引用 没有引用通告
这一周我们将围绕着实时时钟的概念,学习如何在我们的项目中使用时钟。一旦我们能够在我们的代码中使用时钟,一些全新的想法和项目将成为可能。从一个简单的闹钟,到复杂的时序自动化系统,都可以通过我们的设计和Arduino来实现。不要浪费时间了,我们快开始吧!

首先,有几个数学概念和变量类型需要了解一下,以便能够理下面的代码。这的确有点枯燥,不过我会尽量减少这样的内容。

首先是二进制编码的十进制数字。

你能记得在第四章中提到的二进制数是如何工作的?如果忘了,先去复习一下,然后再回来。二进制编码的十进制数(BCD)与其相似,但不同的是,每一位上的数字都会用一个四位的数据来存储。还记得使用74HC595位移寄存器工作时,我们向它发送一个字节的数据么——四位就是一个字节的一半……
发布时间 发布于 2011-11-28 16:06:21 | 阅读次数 阅读过7067次 | 分类 Arduino | 评论 没有评论 | 引用 没有引用通告
重新回顾我们的教程的第六章之后,我认为我们漏掉了一些关于驱动4位7段LED显示模块的重要信息。虽然我们已经讨论了使用该模块来显示数字,并希望你能够通过练习6.2来实现将传感器读入的数据不断的写入显示屏。

但我们是如何来发送一个数字给显示屏的——并且还要保持显示?我们需要一个函数来接受要显示的数字——以及要保持显示的时间(以周期为单位)。我已经重写了练习6.2的代码中的函数 displaynumber()——现在它能够接受另一个值,“循环周期(cycle)” 。这是数字在显示屏上想要保持显示的周期次数……
发布时间 发布于 2011-11-28 14:04:45 | 阅读次数 阅读过3521次 | 分类 Arduino | 评论 没有评论 | 引用 没有引用通告
欢迎回来,arduino的爱好者们!

欢迎来到新一期的Arduino教程。这一周,我们要学习许多东西,包括距离探测、使用原型实验板、使用位移寄存器获得更多的变化、4位7段数码管以及通过一些练习来加深扩展你的知识。WOW- 让我们开始吧……

你知道如何保持距离吗?有些人会这么做,有些人却不会。这同样适用于机电一体化的东西(比如那些小巧的清洁机器人),因此为了保持距离,你可以在你的设计中安装距离传感器。希望在读过本节之后,你能够获得此类传感器的知识,并能在自己以后的项目中利用它们。总之,今天我们将学习Sharp GP2Y0A21YK0F红外距离传感器。有趣的是,它看起来像一个机器人的头部。

白色的JST接插件有三个接头,+5V,GND,和模拟输出。购买时应该附带一个匹配的接插件以节省时间。

它的工作原理很简单(我不能这么说,有些事情不是看起来那么简单……)—— 传感器包含一个红外发射器和一个接收器。它将返回与和它前面的物体之间距离有关的一个电压信号。这个输出电压和距离成反比,数据表(datasheet)文件中的图可以更好的说明这一点……
发布时间 发布于 2011-10-25 12:02:20 | 阅读次数 阅读过4695次 | 分类 Arduino | 评论 没有评论 | 引用 没有引用通告
欢迎大家来到新的一周的Arduino课程。这一周要学习各种的东西,包括:利用位移寄存器控制更多的端口,一些数学运算,7段数码管,基于arduino的遥控玩具车,并最终做出一个我们自己的电子游戏机!Wow - 让我们开始吧……

在上一章节中,我们通过Arduino上的三个引脚使用74HC595位移寄存器来控制八个数字输出。这是非常有趣和实用的——不过还有更棒的!你可以连接两个或更多的位移寄存器,控制更多的引脚!这要怎样来实现呢?首先,74HC595芯片上还有一个我们之前没有用过的的数据输出脚(Pin9),如果我们把它连接到另一个74HC595的数据输入脚(Pin14),第一个位移寄存器能够将一个字节的数据位移到下一个位移寄存器,以此类推……
发布时间 发布于 2011-09-15 21:43:22 | 阅读次数 阅读过7461次 | 分类 Arduino | 评论 没有评论 | 引用 没有引用通告
欢迎回来,Arduino的爱好者!

欢迎来到这一周新的课程。这一期的课程开始的有些早。这一次我们要开了解一下如何用较少的端口来扩展出更多的输出端口,学一下如何输出声音音调,了解数组的使用,以及创建一个数据记录器!

那么,就让我们开始吧!

端口扩展 —— 听上去不太现实,对吗?不,这是真的!我们马上就要来学习如何使用一个小小的特殊的74HC595 8位串行输入/并行输出移位寄存器芯片来做到这一点。我们先来看一下他长什么样。

在开始前,我们需要先来了解一下 位、字节和二进制数。

二进制数仅仅使用0和1来表示数值。 二进制数(binary)也被称为 “二元数(base-2)″,因为它仅仅使用了两个数字。我们通常使用的数字是十进制数 (使用了0到9的数字;十六进制则使用了0到9和A到F)。二进制数是怎样用两个数字来表示一个很大的数值的呢?它使用了很多的1和0。我们来看一个二进制数 01010101(译者注:这里原文写错了,原文中的二进制数是10101010,与下表中的数字不符。记住2的0次方是最右边的最低位数字,而2的7次方则是左边的高位第八位数字)。作为一个二进制数,第几位就表示2的几次方,位数从0开始……
发布时间 发布于 2011-08-25 14:49:26 | 阅读次数 阅读过5619次 | 分类 Arduino | 评论 2条评论 | 引用 没有引用通告
欢迎回来,Arduino的爱好者们!

在这一章节,我们将会了解一下继电器,实现更多的功能的函数,中断操作,以及最后学习如何使用伺服电机。那么我们赶快开始吧!

根据计划,首先是继电器。

什么是继电器?我们把它想象成两个非常接近的物体:一个线圈,有时会有电流通过它;以及一个开关,默认值是一个方向。当电流通过线圈,那么它将产生一个电磁场使开关改变状态。使用继电器的好处是:你可以用一个小电流和电压来控制打开或关闭一个使用非常大的电流和/或电压的负载——开关和线圈电流是彼此独立的。下面是一个继电器的例子。

如果你仔细看,你可以看到线圈和内部的开关。这一款继电器有一个双刀双掷开关。这意味着两个输入可以切换两个方向中的任何一个。线圈需要12伏的电压才能激活;而开关能承受250伏5安培的交流电;线圈阻值是200欧姆。欧姆定律(电压=电流x电阻)告诉我们,该线圈电流是60毫安。由于我们无法通过Arduino得到很大的电流的——因此需要使用继电器。(如果任何人想要尝试,把它拍摄下来发给我们!)唯一的问题是,继电器中有移动的部件(开关),因此时间久了会有损耗。所以如果你设计了一个使用继电器的项目的话,要确保在给最终用户或维护的人的维修保养计划中要记录下这一点……
发布时间 发布于 2011-08-09 22:55:22 | 阅读次数 阅读过6241次 | 分类 Arduino | 评论 2条评论 | 引用 没有引用通告
Arduino的爱好者们,欢迎回来!

我希望通过这些文章大家能够学会并创造出一些有趣的东西。如果你还没能做到这一点,慢慢来,你很快就能做到了!

今天要完成以下几个课题:读取温度,将数据从Arduino传送回电脑,打开Arduino函数库,使用LCD显示屏,以及通过一些练习来回顾和巩固所学到的知识。

首先,我们要来研究一个新的传感器——温度传感器。你可以想象,这个传感器可以用来创造许许多多的应用,从简单的告诉你现在的温度,到一个基于Arduino的恒温控制系统。其实创造这些要比大多数人想象的简单的多——所以,准备好去让大家大吃一惊吧!

让我们来了解一下 Analog Devices 公司的 TMP36 低电压温度传感器吧:

非常小,不是么?因为它使用了标准的 TO-92 封装,它看上去就像是一个标准的三极管(例如 BC548)。TMP36使用起来也非常简单——把平的那面朝上,引脚 1 是 +5V 电源 (你可以把这个引脚连接到Arduino的+5V供电插孔中),引脚 2 是电压输出端 (读数,温度值),引脚 3 是接地 (连接到Arduino的接地插孔中)。 如果想知道更多的信息,可以参考TMP36的数据表文件,里面有着更详细的信息,也非常容易阅读……
发布时间 发布于 2011-07-22 00:11:59 | 阅读次数 阅读过4743次 | 分类 Arduino | 评论 没有评论 | 引用 没有引用通告
Arduino的爱好者们,欢迎回来!

希望大家能够享受Massimo的书和新学来的关于Arduino系统的技术所带来的乐趣。现在有许多非常有趣的任务要在这周完成:读完书的第四和第五章,其中有着一些重要的关于电子技术的信息;我们还要学习一些新的Arduino语言的语句,这些新的命令能够节省你的时间和Arduino的内部存储空间;再看一下脉宽调制技术;随机函数;接收模拟输入信号;条件判断语句;最后——完成一个练习项目来验证你所学到的知识。

首先,请继续从第38页一直阅读到第四章结束。其中包含了一些如何处理“弹跳开关(switch-bounce)”的不错的方法,这将在以后非常有用。我们稍后见!

欢迎回来。

让我们回顾一下上一课程中的练习代码,其中有许多重复的指令来按照顺序控制每个LED的开关。这看起来非常罗嗦并且还浪费了时间——这些都与Arduino存在的目的而相违背!不过,我们可以使用 for 循环语句来解决这个问题。for 语句的目的是根据指定的次数(当然这个次数必须是一个整数——你不可能重复执行一个循环3.141次!)来重复执行一段代码……
发布时间 发布于 2011-07-17 17:49:07 | 阅读次数 阅读过4682次 | 分类 Arduino | 评论 没有评论 | 引用 没有引用通告