发布:Easy Arduino--Two Projects To Help You Get Started

This commit is contained in:
wxy 2014-05-15 22:24:11 +08:00
parent 8d07abf586
commit 6a6b771631

View File

@ -1,61 +1,65 @@
+ translated ---------------------by tenght
+
Easy Arduino: 两个项目来帮助你开始 Easy Arduino: 开始你的Arduino之旅
================================================================================ ================================================================================
> 许多Arduino的项目是基于两个简单的程序。
能所你的电脑所不能的单片机那就是Arduino > 许多Arduino的项目都是基于两个简单的程序
我们每天使用的计算机是强大的但他们根本不了解身边发生了什么事。比如说你的笔记本电脑也不能感到光或水。另外Arduino对外专门设计成键控的。它有一个用于简化传感器通信的输入、输出板子 能电脑所不能的单片机这就是Arduino
Arduino是由Massimo Banzi和他的意大利搭档Ivrea开发的并由Ivrea[他最喜欢的酒吧][1]命名。Banzi希望他的设计学生们有一个原型硬件的廉价容易的解决方案。自2005年Arduino的发布它已经从一个教学工具发展成为世界各地制造商的DIY项目。现在有了[多模型][2]——更先进的Arduino Due大马力微纳米 我们每天使用的计算机是强大的但它们根本不了解身边发生了什么事。比如说你的笔记本电脑也不能感到光或水。另外Arduino对外专门设计成键控的。它有一个用于简化传感器通信的输入、输出板子
无论你购买哪个Arduino模型当你用它来做“[互联网][3]”项目时单片机的实用性便体现出来了——Arduino可以很容易让你连接到真实世界云端或两者。本书中我们将突出显示两个超基项目以便展示Arduino可以多简单。 Arduino是由Massimo Banzi和他的意大利搭档Ivrea开发的并用Ivrea——[他最喜欢的酒吧][1]命名。Banzi希望他的设计课程的学生们有一个原型的硬件的廉价容易的解决方案。自2005年Arduino的发布它已经从一个教学工具发展成为世界各地制造商的DIY项目。现在有了[多模型][2]——更先进的Arduino Due大功率微纳米。
无论你购买哪个Arduino模型当你用它来做“[互联网][3]”项目时单片机的实用性便体现出来了——Arduino可以很容易让你连接到真实世界云端或两者。本书中我们将重点介绍两个超基础项目以便展示Arduino可以多简单。
### 开始使用Arduino ### ### 开始使用Arduino ###
在我们能够完全解Arduino是什么之前知道它不是什么是很重要的。Arduino不是电脑跟卡片电脑[Raspberry Pi][4]不一样)。它不能被独立编程,需要被插入到计算机中去。它不是特别强大或Arduino Uno有[32 KB的内存][5] 而苹果笔记本平均有8G 在我们能够完全解Arduino是什么之前知道它不是什么是很重要的。Arduino不是电脑跟卡片电脑[Raspberry Pi][4]不一样)。它不能被独立编程,需要被插入到计算机中去。它不是特别强大Arduino Uno只有[32 KB的内存][5] 而苹果笔记本却平均有8G内存
所以为了使用Arduino你不能只买单片机。以下的项目你需要的是 所以为了使用Arduino你不能只买这个单片机。对于以下的项目,你需要的是:
### 硬件 ### ### 硬件 ###
- Arduino Uno. “Uno”在意大利语中是一的意思但这并不是有史以来第一个Arduino只是最基本的Arduino单片机的最新迭代。这些项目可以工作在任何一个模型上,但这是我用这一个 - Arduino Uno. “Uno”在意大利语中是一的意思但这并不是有史以来第一个Arduino只是最基本的Arduino单片机的最新版本。这些项目可以工作在任何一个型号上,但这里我用的是这个型号
- B型USB线。我已经很多年没见过这些旧式的USB端口了但你可能会通过旧的电子设备记住他们。[他们的成本约5-10美元][6] - B型USB线。我已经很多年没见过这些旧式的USB端口了但你可能会在旧的电子设备上用过他们。[他们的成本约5-10美元][6] 译注就是能连接题图的板子上的那个大大的USB口的线
- LED灯。可以直接粘在Arduino上的一个微小、发光的引脚;[这些往往是相当便宜的][7]。 - LED灯。可以直接粘在Arduino上的一个引脚上的小灯[这些往往是相当便宜的][7]。
### 软件 ### ### 软件 ###
- [Arduino IDE][8]意思是“集成开发环境,”是一个免费开源软件,用于“素描,”也就是Arduino用户所说的程序。 - [Arduino IDE][8]即“集成开发环境”是一个免费开源软件用于开发“sketches”也就是Arduino用户所说的程序。
当你第一次打开Arduino IDE你需要建立软件所使用的端口点击“工具”——>“串口”。 当你第一次打开Arduino IDE你需要建立软件所使用的端口它用于控制Arduino如何工作点击“工具”——>“串口”来建立
- 在[OS X][9]上对于Uno串口就像“/dev/tty.usbmodem”但其他类型的Arduino板可能不同。我的是“/dev/tty.usbmodem1421”。 - 在[OS X][9]上Uno串口的设备名叫做“/dev/tty.usbmodem”但其他类型的Arduino板可能不同。我的是“/dev/tty.usbmodem1421”。
- 在[Windows][10]串口是COM3或更高因为COM1和COM2通常保留给其他硬件。为确定端口号你可以拔掉Arduino并重新打开IDE菜单。哪个口子不再出现哪个就是你的Arduino。 - 在[Windows][10]串口是COM3或更高端口因为COM1和COM2通常保留给其他硬件。为确定端口号你可以拔掉Arduino并重新打开IDE菜单。哪个口子不再出现哪个就是你的Arduino。
一般来说你不用担心拔出你的Arduino电路板。我们知道功能齐全的电脑不会这样做包括Raspberry Pi因为他们可以在后台运行一个重要的操作系统任务。但是Arduino就是一个单片机除非你主动让它写内存否则它肯定是不会的。
一般来说你不用担心直接拔出你的Arduino电路板会有什么问题。我们知道功能齐全的电脑不应该这样做包括Raspberry Pi因为他们可以在后台运行一个重要的操作系统任务。但是Arduino只是一个单片机除非你主动让它写内存否则它肯定是不会的。
### Arduino 硬件初步: 闪烁一个LED ### ### Arduino 硬件初步: 闪烁一个LED ###
在这第一个项目中我们将概述Arduino产生物理输出的最基本方式在这个实例中闪烁一个LED灯。 在这第一个项目中我们将概述Arduino产生物理输出的最基本方式在这个实例中闪烁一个LED灯。
我们要去写一个非常简单的程序使得LED频闪——或者是当我自豪地向他展现了[我的迭代][11]时,我的朋友巧妙的跟我讲的,“一个非常小的狂欢”。本程序是基于开源项目[Blink sketch][12]它可以在Arduino的官网找到。 我们要去写一个非常简单的程序使得LED频闪——或者是当我自豪地向他展现了[我的作品][11]时,我的朋友明智的告诉我,“一点小成果”。本程序是基于开源项目[Blink sketch][12]它可以在Arduino的官网找到。
首先设置硬件将LED的两个脚分别插到到Arduino的公共地GND和引脚13上。
注意如果你准备将一个LED插到一个打开电源的Arduino板子上较长时间比如超过了这个项目的时间安全的做法是也接一个220欧姆的电阻。这里有一个你也许需要的[接线图][16]来自Arduino官网。
首先设置硬件将LED的两个叉分别粘到Arduino的GND和引脚13上。
![](http://readwrite.com/files/pin13andground.jpg) ![](http://readwrite.com/files/pin13andground.jpg)
一个叉略短于另外一个叉——短的这个时负极头,因此,这个接“地,”或是GND输入/输出。 一个叉略短于另外一个叉——短的这个是负极头,因此,这个接“地”,即GND输入/输出。
![](http://readwrite.com/files/led_leads.jpg) ![](http://readwrite.com/files/led_leads.jpg)
*注意短的接GND.* *注意短的接GND.*
现在让我们开始写程序。首先,让我们给它命名。Arduino将忽略行内双斜杠后边的内容,所以这是为自己写注释的好方法: 现在让我们开始写程序。首先,让我们给个程序的名字。Arduino会忽略行内双斜杠后边的内容,所以这是为自己写注释的好方法:
// Program 1: Making an LED blink on and off // 程序 1: 使一个LED闪烁开和关
包含硬件时我们需要告诉Arduino在它的14跟不同的输入/输出引脚中哪儿会有信号。在这种情况下我们固定13引脚的LED。这是我们的如何命名固定在引脚13的LED其中“LED”只是我给的变量名 硬件工作时我们需要告诉Arduino在它的14根不同的输入/输出引脚中哪儿会有信号。在这种情况下我们固定13引脚的LED。这是我们的如何命名固定在引脚13的LED其中“LED”只是我给的变量名
int LED = 13; int LED = 13;
@ -64,12 +68,12 @@ Arduino是由Massimo Banzi和他的意大利搭档Ivrea开发的并由Ivrea
在 **void setup()**中, 我们告诉Arduino初始化引脚为输出: 在 **void setup()**中, 我们告诉Arduino初始化引脚为输出:
void setup() { void setup() {
pinMode(LED, OUTPUT); pinMode(LED, OUTPUT);
} }
在**void loop()**中我们告诉Arduino“写”一个值到引脚13中。因为我想让它闪烁在每排中我们要使它写四个不同命令的一个序列。你能猜出的词“loop直到把Arduino关掉前我们希望它继续 在**void loop()**中我们告诉Arduino“写”一个值到引脚13中。因为我想让它闪烁在每个循环中我们要使它写一个序列的四个不同命令。如“loop”一词的意思直到把Arduino关掉前我们希望它不断执行
在下面的代码中LED代表我们分配了同一个变量。”HIGH”告诉Arduino给LED提供五伏的电源而“LOW”提供零伏。在闪烁时使得它延迟“1000”毫秒每一整秒 在下面的代码中LED代表了我们之前分配的那个变量。”HIGH”告诉Arduino给LED提供五伏的电源而“LOW”提供零伏。在闪烁时使得它延迟“1000”毫秒每一整秒
void loop() { void loop() {
digitalWrite(LED, HIGH); digitalWrite(LED, HIGH);
@ -92,29 +96,29 @@ Arduino是由Massimo Banzi和他的意大利搭档Ivrea开发的并由Ivrea
delay(1000); // wait a second delay(1000); // wait a second
} }
点击checkmark来验证你的代码是没有错误的然后按play键。如果你的Arduino已经插入,它应该开始运行你的闪烁程序了。 点击checkmark来验证你的代码是没有错误的然后按play键。如果你的Arduino已经连接,它应该开始运行你的闪烁程序了。
### Arduino 软件程序: 打印到电脑上 ### ### Arduino 软件程序: 打印到电脑上 ###
现在让我们来控制开关并试演示Arduino是如何产生数字输出的最基本工程 现在让我们来做一个控制开关并试演示Arduino是如何产生数字输出的最基本项目
我们将要设置Arduino “打印”或是在您的计算机屏幕上显示信息。这个程序基于Paul Bianchi的[Arduino printing tutorial][14]。 我们将要设置Arduino “打印”或是在您的计算机屏幕上显示信息。这个程序基于Paul Bianchi的[Arduino printing tutorial][14]。
在这个实例中没有硬件,这样我们就可以直接跳到程序。再次,这将发生在两个部分: **void setup()****void loop()** 在这个实例中没有硬件,这样我们就可以直接跳到程序部分。再说一次,程序分为两个部分: **void setup()****void loop()**
在**void setup()**中我们要打开一个Arduino和计算机之间通信的线特别是在9600 b/s。如果你使用另一个号码你可能会在计算机上打印出乱码而不是文字。 在**void setup()**中我们要打开一个Arduino和计算机之间通信的线指定速率是9600b/s。如果你使用另一个速率你可能会在计算机上得到乱码而不是文字。
void setup() { void setup() {
Serial.begin(9600); Serial.begin(9600);
} }
在**void loop()** 中这部分很像我们的一个LED程序。我们要给它两条独立的指令告诉它在他们之间每一整秒中断。[Println][15]是Arduino输出到你的电脑显示的命令。**注意"Println"使用的是小写的"L,"而不是大写的"i"!** 在**void loop()** 中这部分很像我们的一个LED程序。我们要给它两条独立的指令告诉它在他们之间每一整秒中断。[Println][15]是Arduino输出到你的电脑显示的命令。**注意"Println"中的"l"的是小写的"L"而不是大写的"i"!**
void loop() { void loop() {
Serial.println(“hello”); Serial.println(“hello”);
delay(1000); delay(1000);
Serial.println(“world.”); Serial.println(“world.”);
delay(1000); delay(1000);
} }
将标题和注释等放到一起,如下: 将标题和注释等放到一起,如下:
@ -130,17 +134,17 @@ Arduino是由Massimo Banzi和他的意大利搭档Ivrea开发的并由Ivrea
delay(1000); // wait a second delay(1000); // wait a second
} }
验证你的代码并运行。什么都不会显示直到你点击Arduino IDE窗口右上角的“Serial Monitor”。你应该看到一个不停输出的“Hello World”一遍又一遍直到你拔掉Arduino。你会看到它的不完美:我总是有点乱码,但很快它自己就好了。 验证你的代码并运行。什么都不会显示直到你点击Arduino IDE窗口右上角的“Serial Monitor”。你应该看到一个不停输出的“Hello World”一遍又一遍直到你拔掉Arduino。你会看到它并不完美:我总是得到一些乱码,但很快它自己就好了。
![](http://readwrite.com/files/Screen%20Shot%202014-04-21%20at%209.28.18%20AM.png) ![](http://readwrite.com/files/Screen%20Shot%202014-04-21%20at%209.28.18%20AM.png)
这两个Arduino项目都非常基本但是通过执行他们你已经开始看到可以与传感器通信和写结果到您的计算机的Arduino的潜力。如果你把这两个项目整合——例如你可以连接一个温度计到你的Arduino并告诉它将温度写到你的笔记本电脑你会很快实现Arduino的可能性几乎是无止境的。 这两个Arduino项目都非常基本但是通过执行他们你已经开始看到可以与传感器通信并写结果到您的计算机的Arduino的潜力所在。如果你把这两个项目整合——例如你可以连接一个温度计到你的Arduino并告诉它将温度写到你的笔记本电脑你会很快实现Arduino的可能性几乎是无止境的。
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
via: http://readwrite.com/2014/04/21/easy-arduino-projects-basics-tutorials-diy-hardware#feed=/hack via: http://readwrite.com/2014/04/21/easy-arduino-projects-basics-tutorials-diy-hardware#feed=/hack
译者:[tenght](https://github.com/tenght) 校对:[校对者ID](https://github.com/校对者ID) 译者:[tenght](https://github.com/tenght) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
@ -158,4 +162,5 @@ via: http://readwrite.com/2014/04/21/easy-arduino-projects-basics-tutorials-diy-
[12]:http://arduino.cc/en/Tutorial/Blink [12]:http://arduino.cc/en/Tutorial/Blink
[13]:http://arduino.cc/en/Tutorial/BareMinimum [13]:http://arduino.cc/en/Tutorial/BareMinimum
[14]:http://quarkstream.wordpress.com/2009/12/09/arduino-1-writing-and-uploading-sketches/ [14]:http://quarkstream.wordpress.com/2009/12/09/arduino-1-writing-and-uploading-sketches/
[15]:http://arduino.cc/en/Serial/Println [15]:http://arduino.cc/en/Serial/Println
[16]:http://arduino.cc/en/uploads/Tutorial/ExampleCircuit_bb.png