温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
Arduino
入门
精通
10
Arduino从入门到精通10讲智能硬件设计丛书杨帆 李欣 徐军 马静 编著内 容 简 介本书主要介绍基于 Arduino 这一开源平台的一系列电子制作方法。全书分为 10 讲,第 1 讲主要介绍 Arduino 的基础知识,如单片机的发展、种类以及编程基础等;第 2 8 讲主要讲解基于常见电子元器件的开发方法,如液晶显示屏、蓝牙、红外和常用的传感器,并结合实物进行实验探究,通过课后小结作业进行能力的提升;第 9 讲介绍 Arduino 设计方法和创新思维;第 10 讲介绍常用实例,将前 9讲的知识点进行融合并应用。本书内容框架明确,思路清晰,由易到难,让读者通过学习可以独立设计作品。本书适合 Arduino初学者,可以作为电子信息相关专业的课程实践类教材,也可以作为竞赛类队员的参考书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据Arduino 从入门到精通 10 讲/杨帆等编著.北京:电子工业出版社,2017.8(智能硬件设计丛书)ISBN 978-7-121-32299-0.A.杨.单片微型计算机 程序设计 .TP368.1中国版本图书馆 CIP 数据核字(2017)第 182032 号策划编辑:曲昕责任编辑:曲昕印 刷:北京千鹤印刷有限公司装 订:北京千鹤印刷有限公司出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036开 本:7871092 1/16 印张:10 字数:184 千字版 次:2017 年 8 月第 1 版印 次:2017 年 8 月第次印刷 定 价:39.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)88254468。Arduino从入门到精通10讲是大学生和初识Arduino单片机爱好者的入门教程,主要从十个方面进行介绍。第1讲Arduino基础知识;第2讲百变LED灯;第3讲输入装置;第4讲输出装置;第5讲液晶显示;第6讲红外遥控;第7讲蓝牙遥控;第8讲常用传感器;第9讲创新思维构架;第10讲项目实例。本书的主要特色:(1)每一讲配有相应实验练习,让读者直接了解学习和制作的过程;(2)真正让读者从零基础到可以自己动手制作想要的作品。在编写本书之前,笔者研究过51单片机,上手之后发现相关寄存器以及很多库函数的使用和调用较为复杂,对于初学者来说有一定的难度。然而在使用过程中我们不难发现,在执行同样的任务时,Arduino单片机在代码数量、I/O口使用、库函数的调用上远远易于51和大多数其他类型的单片机;另外,开发板的体积也远远小于其他类型单片机,所以无论在使用还是在便携性方面都在一定程度上占据优势。本书由杨帆撰写,李欣、徐军、马静参与本书的资料整理和审读指导。笔者在撰写之前,在国内电子制作杂志上发表过一些个人作品,多数读者反馈制作有一定的难度,所以才编写这样一本偏入门级的、面向初学者的,知识更全、实践指导性更强的书籍。笔者在开始接触Arduino时,由于一些资源还没有开源,网络也并不发达,所以在学习和资源整合汇总方面走了一些弯路,但在哈尔滨理工大学李欣、徐军、马静三位老师的指导下,找到了更好的学习方法以及更快的整合资源的方式,在此由衷感谢三位老师。由于作者水平有限,书中难免出现错误,希望广大读者能够批评指正。前言PREFACE目录CONTENTS第1讲第2讲百变LED 0211点亮发光二极管 0222闪烁的发光二极管 0263会呼吸的LED 0274炫彩LED灯环 029本讲小结 033习题2 033Arduino基础 0011Arduino简介 0022Arduino种类 0023开发环境的配置 0044Arduino开发准备 0075软件,你好 0096常用元器件 0117数字输入 0148数字输出 0149串口输入 01510串口输出 01711模拟输入 01812模拟输出 018本讲小结 019vi第3讲 输入装置0351按键控制LED 0362触摸按键控制LED 0403简易密码锁设计 043本讲小结 047习题3 047第4讲 输出装置0491DIY音乐键盘 0502旋转舵机控制 053本讲小结 055习题4 056第5讲液晶显示05711602液晶显示 058212864液晶显示 0623GPU22B液晶显示 065本讲小结071习题5 071第6讲 红外遥控0731红外遥控点亮LED 0742红外遥控液晶显示 077本章小结080习题6 080vii第8讲 常用传感器0911温湿度模块 0922光敏传感器模块 0943人体感应模块 0964超声波模块 0975SD卡模块 0996射频模块 1037气体采集模块 1078灰尘浓度检测模块 109本讲小结 112习题8 112第9讲 创新思维构架113第10讲 项目实例1171智能射频门禁 1182智能蓝牙门禁 1253基于Processing蓝牙智能小车 1334室内参数报警器 140第7讲蓝牙遥控0811蓝牙控制LED 0832蓝牙遥控液晶显示 087本讲小结 090习题7 090第 1 讲Arduino 基础002Arduino从入门到精通10讲1Arduino 简介Arduino是一个开放原代码、硬软件整合、方便中小型系统开发的平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。现在市场上最多的,也是初学者最早使用的,就是Arduino UNO系列。在这款单片机上,提供了用户使用的数字I/O口、模拟I/O口,也支持SPI、IIC、UART的串口通信。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、电动机和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。Arduino开发板的四大特性是:跨平台、简单清晰、开放性和发展迅速。首先,Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。其次,Arduino语言基于wiring语言开发,是对 avr-gcc库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,也可以快速地进行开发。值得一提的是,Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,在开源协议范围内可以任意修改原始设计及相应代码。最后,由于Arduino的各种特性,越来越被初识单片机的开发者们所信赖。2Arduino 种类Arduino常用的种类有:Arduino Mini、Arduino Nano、Arduino Leonardo、Arduino UNO、Arduino Mega 2560等,由于开发的方便和个人要求的简约设计,多数都以Arduino UNO和Arduino Pro mini作为开发的平台。1)Arduino UNOArduino UNO最大尺寸为2.72.1 inches。作为Arduino平台的参考标准模板,UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。UNO已经发布到第三版,与前两版相比有以下新的特点:(1)在AREF处增加了两个引脚SDA和SCL,支持I2C接口;增加IOREF和一个预留引脚,将来扩展板将能兼容5V和3.3V核心板。(2)改进了复位电路设计。(3)USB接口芯片由ATmega16U2替代了ATmega8U2。003第1讲Arduino基础在输入/输出方面,Arduino UNO 具有14路数字输入/输出口:工作电压为5V,每一路能输出和接入最大电流为40mA。每一路配置了20-50k内部上拉电阻(默认不连接)。除此之外,有些引脚有特定的功能。串口信号RX(0号)、TX(1号):与内部 ATmega8U2 USB-to-TTL 芯片相连,提供TTL电压水平的串口接收信号。外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。脉冲宽度调制PWM(3、5、6、9、10、11):提供6路8位PWM输出。SPI(10(SS),11(MOSI),12(MISO),13(SCK):SPI通信接口。LED(13号):Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。6路模拟输入A0到A5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限。除此之外,有些引脚有特定功能。TWI接口(SDA A4和SCL A5):支持通信接口(兼容I2C总线)。AREF:模拟输入信号的参考电压。Reset:信号为低时复位单片机芯片。在通信接口方面,串口有:ATmega328内置的UART可以通过数字口0(RX)和1(TX)与外部实现串口通信;ATmega16U2可以通过访问数字口来实现USB上的虚拟串口;以及TWI(兼容I2C)接口和SPI 接口等。整体外观如图1.1所示。图 1.1Arduino UNO 主控板2)Arduino ProMiniArduino ProMini是Arduino Mini的半定制版本,所有外部引脚通孔没有焊接,与Mini版本引脚兼容。Arduino ProMini的处理器核心是ATmega168,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个晶体谐振,一个复位按钮。有两个版本:工作在3.3V和8MHz时钟,工作在5V和16MHz时钟。004Arduino从入门到精通10讲Arduino ProMini与Arduino UNO的区别和特色是:支持ISP在线烧写,可以将新的“bootloader”固件烧入ATmega8或ATmega128芯片。有了bootloader之后,可以通过串口或者USB to Rs232线更新固件。可依据官方提供的Eagle格式PCB和SCH电路图,简化Arduino模组,完成独立运作的微处理控制,也可简单地与传感器、各式各样的电子元件连接。Arduino ProMini主控板整体外观如图1.2所示。图 1.2Arduino ProMini 主控板整体外观3开发环境的配置目前笔者常用的Arduino IDE编程环境软件是1.0.6,下载链接链接为:http:/ 密码:viyj(当然读者也可以到Arduino的中文官方网站下载最新的软件IDE,之后将库文件添加其中即可),将文件解压在本地的文件夹中,找到drivers文件夹,以图1.3所示计算机为例(win7_64位),找到对应位数的驱动进行安装,驱动安装目录如图1.3所示。图 1.3驱动安装目录005第1讲Arduino基础点击始终安装此驱动软件,如图1.4所示。如图 1.4安装软件提示勾选“始终信任来自Arduino srl的软件”,并点击安装按钮,如图1.5所示。勾选“始终信任来自Arduino LLC的软件”,并点击安装按钮,如图1.6所示。图 1.5信任 Arduino srl图 1.6信任 Arduino LLC点击完成,结束安装,如图1.7所示。006Arduino从入门到精通10讲图 1.7驱动安装成功界面找到Arduino文件夹中的arduino.exe,点击进入,开启画面如图1.8所示。图 1.8Arduino 软件开启界面将开发板通过USB连接线接上计算机,系统正常运行并分配COM口,如图1.9所示。图 1.9COM 口自动安装编程主界面如图1.10所示。根据现有的开发板,选择没有被占用的COM口,如图1.11所示。007第1讲Arduino基础图 1.10Arduino IDE