文档介绍:arduino 学 1- 什么是 arduino ? 要了解 arduino 就先要了解什么是单片机, arduino 平台的基础就是 AVR 指令集的单片机。 1 、什么是单片机?它与个人计算机有什么不同? 一台能够工作的计算机要有这样几个部份构成:中央处理单元 CPU (进行运算、控制)、随机存储器 RAM ( 数据存储)、存储器 ROM (程序存储)、输入/ 输出设备 I/O ( 串行口、并行输出口等)。在个人计算机( PC ) 上这些部份被分成若干块芯片, 安装在一个被称之为主板的印刷线路板上。而在单片机中, 这些部份全部被做到一块集成电路芯片中了, 所以就称为单片( 单芯片)机, 而且有一些单片机中除了上述部份外, 还集成了其它部份如模拟量/ 数字量转换( A/D ) 和数字量/ 模拟量转换( D/A )等。 2 、单片机有什么用? 实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能, 一个控制电冰箱温度的计算机难道要用酷睿处理器吗?应用的关键是看是否够用, 是否有很好的性能价格比。如果一台冰箱都需要用酷睿处理起来进行温度控制,那价格就是天价了。单片机通常用于工业生产的控制、生活中与程序和控制有关(如:电子琴、冰箱、智能空调等)的场合。下图就是一个 Atmega328P-PU 单片机, 基于 AVR 指令集的 8 位处理器,频率 20MHz ,存储器空间 32KB 。什么是 Arduino ? Arduino 是一个能够用来感应和控制现实物理世界的一套工具。它由一个基于单片机并且开放源码的硬件平台, 和一套为 Arduino 板编写程序的开发环境组成。 Arduino 可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。 Arduino 项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如: Flash , Processing , MaxMSP )进行通讯。 Arduino 板你可以选择自己去手动组装或是购买已经组装好的; Arduino 开源的 ID E 可以免费下载得到。 Arduino 的编程语言就像似在对一个类似于物理的计算平台进行相应的连线,它基于处理多媒体的编程环境。为什么要使用 Arduino ? 有很多的单片机和单片机平台都适合用做交互式系统的设计。例如: Parallax Basic Stamp , Netmedia ’s BX-24 , Phidgets , MIT ’s Handyboard 和其它等等提供类似功能的。所有这些工具,你都不需要去关心单片机编程繁琐的细节, 提供给你的是一套容易使用的工具包。 Arduino 同样也简化了同单片机工作的流程, 但同其它系统相比 Arduino 在很多地方更具有优越性, 特别适合老师, 学生和一些业余爱好者们使用: ?便宜- 和其它平台相比, Arduino 板算是相当便宜了。最便宜的 Arduino 版本可以自己动手制作,即使是组装好的成品, 其价格也不会超过 200 元。?跨平台- Arduino 软件可以运行在 Windows , Macintosh OSX ,和 Linux 操作系统。大部分其它的单片机系统都只能运行在 Windows 上。?简易的编程环境- 初学者很容易就能学会使用 Arduino 编程环境,同时它又能为高级用户提供足够多的高级应用。对于老师们来说, 一般都能很方便的使用 Processing 编程环境, 所以如果学生学习过使用 Processing 编程环境的话, 那他们在使用 Arduino 开发环境的时候就会觉得很相似很熟悉。?软件开源并可扩展- Arduino 软件是开源的,对于有经验的程序员可以对其进行扩展。 Arduino 编程语言可以通过 C++ 库进行扩展, 如果有人想去了解技术上的细节, 可以跳过 Arduin o 语言而直接使用 AVR C 编程语言( 因为 Arduino 语言实际上是基于 AVR C的)。类似的, 如果你需要的话, 你也可以直接往你的 Arduino 程序中添加 AVR-C 代码。?硬件开源并可扩展- Arduin o 板基于 Atmel 的 ATMEGA8 和 ATMEGA168/328 单片机。 Arduino 基于 mons 许可协议,所以有经验的电路设计师能够根据需求设计自己的模块,可以对其扩展或改进。甚至是对于一些相对没有什么经验的用户, 也可以通过制作试验板来理解 Arduino 是怎么工作的, 省钱又省事。 Arduino 基于 AVR 平台,对 AVR 库进行了二次编译封装,把端口都打包好了, 寄存器啦、地址指针之类的基本不用管。大大降低了软件开发难度, 适宜非专业爱