arduino基础入门教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章进入Arduino的世界欢迎来到Arduino的世界!Arduino是一个开源的开发平台,在全世界范围内成千上万的人正在用它开发制作一个又一个电子产品,这些电子产品包括从平时生活的小物件到时下流行的3D打印机,它降低了电子开发的门槛,即使是从零开始的入门者也能迅速上手,制作有趣的东西,这便是开源Arduino的魅力。通过本书的介绍,读者对Arduino会有一个更全面的认识。本章知识点:Arduino的起源与发展Arduino的特点Arduino开发板简介Arduino的未来展望1.1什么是Arduino什么是Arduino?相信很多读者会有这个疑问,也需要一个全面而准确的答案。不仅是读者,很多使用Arduino的人也许对这个问题都难以给出一个准确的说法,甚至认为手中的开发板就是Arduino,其实这并不准确。那么,Arduino究竟该如何理解呢?1.1.1Arduino不只是电路板Arduino是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器[1]和相应的开发软件,目前在国内正受到电子发烧友的广泛关注。自从2005年Arduino腾空出世以来,其硬件和开发环境一直进行着更新迭代。现在Arduino已经有将近十年的发展历史,因此市场上称为Arduino的电路板已经有各式各样的版本了。Arduino开发团队正式发布的是ArduinoUno和ArduinoMega2560,如图1-1和图1-2所示。[1]关于AVR单片机的内容会在第3章进行介绍。Arduino开发从零开始学·2·图1-1ArduinoUnoR3图1-2ArduinoMega2560R3图1-1和图1-2所示的开发板就是所谓的ArduinoI/O印刷电路板(PrintedCircuitBoard,PCB)。Arduino项目起源于意大利,该名字在意大利是男性用名,音译为“阿尔杜伊诺”,意思为“强壮的朋友”,通常作为专有名词,在拼写时首字母需要大写。其创始团队成员包括:MassimoBanzi、DavidCuartielles、TomIgoe、GianlucaMartino、DavidMellis和NicholasZambetti6人。Arduino的出现并不是偶然,Arduino最初是为一些非电子工程专业的学生设计的。设计者最初为了寻求一个廉价好用的微控制器开发板从而决定自己动手制作开发板,Arduino一经推出,因其开源、廉价、简单易懂的特性迅速受到了广大电子迷的喜爱和推崇。几乎任何人,即便不懂电脑编程,利用这个开发板也能用Arduino做出炫酷有趣的东西,比如对感测器探测做出一些回应、闪烁灯光、控制马达等。Arduino的硬件设计电路和软件都可以在官方网站上获得,正式的制作商是意大利的SmartProjects(),许多制造商也在生产和销售他们自己的与Arduino兼容的电路板和扩展板,但是由Arduino团队设计和支持的产品需要始终保留着Arduino的名字。所以,Arduino更加准确的说法是一个包含硬件和软件的电子开发平台,具有互助和奉献的开源精神以及团队力量。1.1.2Arduino程序的开发过程由于Arduino主要是为了非电子专业和业余爱好者使用而设计的,所以Arduino被设计成一个小型控制器的形式,通过连接到计算机进行控制。Arduino开发过程是:(1)开发者设计并连接好电路;(2)将电路连接到计算机上进行编程;(3)将编译通过的程序下载到控制板中进行观测;(4)最后不断修改代码进行调试以达到预期效果。进入Arduino的世界第1章·3·1.2为什么要使用Arduino在嵌入式开发中,根据不同的功能开发者会用到各种不同的开发平台。而Arduino作为新兴开发平台,在短时间内受到很多人的欢迎和使用,这跟其设计的原理和思想是密切相关的。首先,Arduino无论是硬件还是软件都是开源的,这就意味着所有人都可以查看和下载其源码、图表、设计等资源,并且用来做任何开发都可以。用户可以购买克隆开发板和基于Arduino的开发板,甚至可以自己动手制作一个开发板。但是自己制作的不能继续使用Arduino这个名称,可以自己命名,比如Robotduino。其次,正如林纳斯·本纳第克特·托瓦兹的Linux操作系统一样,开源还意味着所有人可以下载使用并且参与研究和改进Arduino,这也是Arduino更新换代如此迅速的原因。全世界各种电子爱好者用Arduino开发出各种有意思的电子互动产品。有人用它制作了一个自动除草机,去上班的时候打开,不久花园里的杂草就被清除干净了!有人用它制作微博机器人,配合一些传感器监测植物的状态,并及时发微博来提醒主人,植物什么时间该浇水、施肥、除草等,非常有趣。图1-3所示为日本一开发者用Arduino和Kinect制作的可以自己接住丢掉垃圾的智能垃圾桶。图1-3智能垃圾桶Arduino可以和LED、点阵显示板、电机、各类传感器、按钮、以太网卡等各类可以输出输入数据或被控制的任何东西连接,在互联网上各种资源十分丰富,各种案例、资料可以帮助用户迅速制作自己想要制作的电子设备。在应用方面,Arduino突破了传统的依靠键盘、鼠标等外界设备进行交互的局限,可以更方便地进行双人或者多人互动,还可以通过Flash、Processing等应用程序与Arduino进行交互。Arduino与Flash、Processing的交互将在第6章介绍。1.3Arduino硬件的分类在了解Arduino起源以及使用Arduino制作的各种电子产品之后,接下来对Arduino硬件和开Arduino开发从零开始学·4·发板,以及其他扩展硬件进行初步的了解和学习。1.3.1Arduino开发板Arduino开发板设计得非常简洁,一块AVR单片机、一个晶振或振荡器和一个5V的直流电源。常见的开发板通过一条USB数据线连接计算机。Arduino有各式各样的开发板,其中最通用的是ArduinoUNO。另外,还有很多小型的、微型的、基于蓝牙和Wi-Fi的变种开发板。还有一款新增的开发板叫做ArduinoMega2560,它提供了更多的I/O引脚和更大的存储空间,并且启动更加迅速。以ArduinoUNO为例,ArduinoUNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz的晶体振荡器,一个USB口,一个电源插座,一个ICSPheader和一个复位按钮。因为ArduinoUNO开发板的基础构成在一个表里显示不下,所以这里特意设计了两个表来展示,如表1-1和表1-2所示。表1-1ArduinoUNO开发板基本概要构成(ATmega328)1处理器工作电压输入电压数字I/O脚模拟输入脚串口ATmega3285V6-20V1461表1-2ArduinoUNO开发板基本概要构成(ATmega328)2IO脚直流电流3.3V脚直流电流程序存储器SRAMEEPROM工作时钟40mA50mA32KB2KB1KB16MHz图1-4对一块ArduinoUNO开发板功能进行了详细标注。图1-4ArduinoUNOR3功能标注ArduinoUNO可以通过以下三种方式供电,能自动选择供电方式:外部直流电源通过电源插座供电;电池连接电源连接器的GND和VIN引脚;USB接口直接供电,图1-4所示的稳压器可以把输入的7V~12V电压稳定到5V。进入Arduino的世界第1章·5·在电源接口上方,一个右侧引出3个引脚,左侧一个比较大的引脚细看会发现上面有AMST1117的字样,其实这个芯片是个三端5V稳压器,电源口的电源经过它稳压之后才给板子输入,其实电源适配器内已经有稳压器,但是电池没有。可以理解为它是一个安检员,一切从电源口经过的电源都必须过它这一关,这个“安检员”对不同的电源会进行区别对待。首先,AMS1117的片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力。再者根据输入电压的不同而输出不同的电压,可提供1.8V、2.5V、2.85V、3.3V、5V稳定输出,电流最大可达800mA,内部的工作原理这里不必去探究,读者只需要知道,当输入5V的时候输出为3.3V,输入9V的时候输出才为5V,所以用9V(9V~12V均可,但是过高的电源会烧坏板子)电源供电的原因就在这,如使用5V的适配器与Arduino连接,之后连接外设做实验,会发现一些传感器没有反应,这就是某些传感器需要5V的信号源,可是板子最高输出只能达到3.3V,必然有问题。重置按钮和重置接口都用于重启单片机,就像重启电脑一样。若利用重置接口来重启单片机,应暂时将接口设置为0V即可重启。GND引脚为接地引脚,也就是0V。A0~A5引脚为模拟输入的6个接口,可以用来测量连接到引脚上的电压,测量值可以通过串口显示出来。当然也可以用作数字信号的输入输出。Arduino同样需要串口进行通信,图1-4所示的串口指示灯在串口工作的时候会闪烁。Arduino通信在编译程序和下载程序时进行,同时还可以与其他设备进行通信。而与其他设备进行通信时则需要连接RX(接收)和TX(发送)引脚。ATmega328芯片中内置的串口通信硬件是可以通过同步和异步模式工作的。同步模式需要专用的信号来表示时钟信息,而Arduino的串口(USART外围设备,即通用同步/异步接收发送装置)工作在异步模式下,这和大多数PC的串口是一致的。数字引脚0和1分别标注着RX和TX,表明这两个可以当做串口的引脚是异步工作的,即可以只接收、发送,或者同时接收和发送信号。1.3.2Arduino扩展硬件与Arduino相关的硬件除了核心开发板外,各种扩展板也是重要的组成部分。Arduino开发板设计的可以安装扩展板,即盾板进行扩展。它们是一些电路板,包含其他的元件,如网络模块、GPRS模块、语音模块等。在图1-4所示的开发板两侧可以插其他引脚的地方就是可以用于安装其他扩展板的地方。它被设计为类似积木、通过一层层的叠加而实现各种各样的扩展功能。例如ArduinoUNO同W5100网络扩展板可以实现上网的功能,堆插传感器扩展板可以扩展Arduino连接传感器的接口。图1-5和图1-6为Arduino同扩展板连接的例子。图1-5ArduinoUNO与一块原型扩展板连接Arduino开发从零开始学·6·图1-6ArduinoUNO与网络扩展板连接虽然Arduino开发板支持很多扩展板来扩展功能,但其扩展插座中引脚的间距并不严格规整。仔细观察开发板会发现上面两个最远的引脚之间距离为4.064mm,这与标准的2.54mm网格的面包板及其他扩展工具并不兼容,尽管要求改正的呼声很强烈,但是这个误差却很难改正,一旦改正将使得原来的大量扩展板变得不兼容,所以这个误差便没有去改动。虽然这个误差没有改动,但是很多公司和个人在生产Arduino兼容的产品时兼顾增加了额外两行2.54mm的针孔来解决这个问题,另外美国Gravitech()公司完全舍弃了扩展板兼容来解决这个问题。1.4Arduino展望未来Arduino自诞生以来,简单、廉价的特点使得Arduino如同雨后春笋般迅速风靡全球,在不断发展的同时,Arduino也在发挥着更重要的作用。本节将对Arduino发展的特点和未来发展做一点总结和展望。1.4.1创客文化在介绍Arduino发展前景之前,首先需要了解逐渐兴起的“创客”文化。什么是“创客”?“创客”一词来源于英文单词“Maker”,指的是不以盈利为目标,努力把各种创意转变为现实的人。其实就是热爱生活,愿意亲手创新为生活增加乐趣的一群人。他们精力旺盛,坚信世界会因为自己的创意而改变。创客文化兴起于国外,经过一段时间红红火火的发展,如今已经成为一种潮流。国内也不示弱,一些硬件发烧友了解到国外的创客文化后被其深深吸引,经过圈子中的口口相传,大量的硬件、软件、创意人才聚集在了

1 / 61
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功