描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302488422丛书名: 清华开发者书库
本书可作为高校信息与通信工程专业的本科生教材,也可以作为智能硬件爱好者的参考用书。对于从事物联网开发的专业技术人员,也可以作为参考用书。
目录
第1章Arduino开源硬件
1.1Arduino UNO
1.1.1概述
1.1.2技术规范
1.2Arduino YUN
1.2.1概述
1.2.2技术规范
1.3Arduino DUE
1.3.1概述
1.3.2技术规范
1.4Arduino MEGA 2560
1.4.1概述
1.4.2技术规范
1.5Arduino LEONARDO
1.5.1概述
1.5.2技术规范
1.6Arduino ETHERNET
1.6.1概述
1.6.2技术规范
1.7Arduino ROBOT
1.7.1概述
1.7.2技术规范
1.8Arduino NANO
1.8.1概述
1.8.2技术规范
第2章Arduino软件开发平台
2.1Arduino平台特点
2.2Arduino IDE的安装
2.3Arduino IDE的使用
第3章Arduino编程语言
3.1Arduino编程基础
3.2数字I/O口的操作函数
3.3模拟I/O口的操作函数
3.4高级I/O操作函数
3.5时间函数
3.6中断函数
3.7串口通信函数
第4章Arduino硬件设计平台
4.1Fritzing软件简介
4.1.1主界面
4.1.2项目视图
4.1.3工具栏
4.2Fritzing使用方法
4.2.1查看元件库已有元件
4.2.2添加新元件到元件库
4.2.3添加新元件库
4.2.4添加或删除元件
4.2.5添加元件间连线
4.3Arduino电路设计
4.4Arduino样例与编程
第5章Arduino开发基础
5.1入门开发例程
5.1.1Blink
5.1.2AnalogReadSerial
5.1.3DigitalReadSerial
5.1.4Fade
5.1.5ReadAnalogVoltage
5.2数字信号处理开发例程
5.2.1BlinkWithoutDelay
5.2.2Button
5.2.3Debounce
5.2.4DigitalInputPullup
5.2.5StateChangeDetection
5.2.6toneKeyboard
5.2.7toneMelody
5.2.8toneMultiple
5.2.9tonePitchFollower
5.3模拟信号处理开发例程
5.3.1AnalogInOutSerial
5.3.2AnalogInput
5.3.3AnalogWriteMega
5.3.4Calibration
5.3.5Fading
5.3.6Smoothing
第6章Arduino扩展板
6.1Arduino Ethernet Shield
6.1.1概述
6.1.2技术规范
6.2Arduino GSM Shield
6.2.1概述
6.2.2技术规范
6.3Arduino Motor Shield
6.3.1概述
6.3.2技术规范
6.4Arduino 9 Axes Motion Shield
6.4.1概述
6.4.2技术规范
6.5Arduino WiFi Shield
6.5.1概述
6.5.2技术规范
6.6Arduino的库函数
第7章Arduino数据采集
7.1温湿度采集
7.1.1原理
7.1.2实验代码
7.2水位采集
7.2.1原理
7.2.2实验代码
7.3光强采集
7.3.1原理
7.3.2实验代码
7.4气体传感器
7.4.1原理
7.4.2实验代码
7.5超声波传感器
7.5.1原理
7.5.2实验代码
7.6压力传感器
7.6.1原理
7.6.2实验代码
7.7风速传感器
7.7.1原理
7.7.2实验代码
7.8拍照模块
7.8.1原理
7.8.2实验代码
第8章Arduino显示控制
8.1LED
8.1.1原理
8.1.2电路图
8.1.3实验代码
8.2数码管
8.2.1原理
8.2.2电路图
8.2.3实验代码
8.3点阵
8.3.1原理
8.3.2点阵的使用方法
8.3.3实验代码
8.4液晶LCD
8.4.1原理
8.4.2电路图
8.4.3引脚扩展
8.4.4实验代码
第9章Arduino电流控制
9.1直流电机
9.1.1原理
9.1.2电路图
9.1.3实验代码
9.2步进电机
9.2.1原理
9.2.2电路图
9.2.3实验代码
9.3舵机
9.3.1原理
9.3.2电路图
9.3.3实验代码
9.4继电器
9.4.1原理
9.4.2电路图
9.4.3实验代码
第10章Arduino通信控制
10.1SPI串口通信
10.1.1原理
10.1.2电路图及使用
10.1.3实验代码
10.2红外线通信
10.2.1原理
10.2.2电路图及使用
10.2.3实验代码
10.3RFID通信
10.3.1原理
10.3.2电路图及使用
10.3.3实验代码
10.4Ethernet通信
10.4.1原理
10.4.2电路图及使用
10.4.3实验代码
10.5WiFi通信
10.5.1原理
10.5.2电路图及使用
10.5.3实验代码
10.6BlueTooth通信
10.6.1原理
10.6.2电路图及使用
10.6.3实验代码
10.7XBee通信
10.7.1原理
10.7.2电路图及使用
10.7.3实验代码
第11章游戏类开发
11.1Jumping Pong
11.1.1功能构思
11.1.2设计原理
11.1.3参考代码
11.2打地鼠游戏机
11.2.1功能构思
11.2.2设计原理
11.2.3参考代码
第12章控制类开发
12.1蓝牙控制智能车
12.1.1功能构思
12.1.2设计原理
12.1.3参考代码
12.2可抓取机械手臂
12.2.1功能构思
12.2.2设计原理
12.2.3参考代码
第13章交互类开发
13.1虚拟架子鼓
13.1.1功能构思
13.1.2设计原理
13.1.3参考代码
13.2触摸按键交互设计
13.2.1功能构思
13.2.2设计原理
13.2.3参考代码
第14章物联网开发
14.1植物生长助手
14.1.1功能构思
14.1.2设计原理
14.1.3参考代码
14.2环境信息采集系统
14.2.1功能构思
14.2.2设计原理
14.2.3参考代码
14.3家居灯光控制系统
14.3.1功能构思
14.3.2设计原理
14.3.3参考代码
第15章智慧农业设计与开发
15.1简介
15.2系统逻辑结构图
15.3开发板选型
15.3.1开发板简介
15.3.2参考代码
15.4感知层的设计
15.4.1流程图
15.4.2Arduino的GET、POST程序
15.5平台层的设计
15.5.1创建RESTFul WCF服务
15.5.2相关数据库设计
15.5.3平台数据接口开发
15.5.4Fiddler测试REST服务
15.5.5编写平台图片数据接收
15.5.6Arduino请求平台
第16章手势图案解锁门项目设计
16.1项目背景
16.2创意描述
16.3功能及总体设计
16.3.1功能介绍
16.3.2总体设计
16.3.3模块介绍
16.4产品展示
16.5故障及问题分析
16.6元器件清单
第17章激光雕刻机项目设计
17.1项目背景
17.2创意描述
17.3功能及总体设计
17.3.1功能介绍
17.3.2总体设计
17.3.3模块介绍
17.4产品展示
17.5故障及问题分析
17.6元器件清单
第18章App遥控四轴飞行器项目设计
18.1项目背景
18.2创意描述
18.3功能与整体设计
18.3.1功能介绍
18.3.2总体设计
18.3.3模块介绍
18.4产品展示
18.5故障及问题分析
18.6元器件清单
第19章肩带式转向警示器项目设计
19.1项目背景
19.2创意描述
19.3功能及总体设计
19.3.1功能介绍
19.3.2总体设计
19.3.3模块介绍
19.4产品展示
19.5故障及问题分析
19.6元器件清单
第20章变声器项目设计
20.1项目背景
20.2创新描述
20.3功能及总体设计
20.3.1功能介绍
20.3.2总体设计
20.3.3模块介绍
20.4产品展示
20.5故障及问题分析
20.6元器件清单
参考文献
附录A面包板的使用
前言
进入21世纪,信息技术的发展日新月异,特别是近五年的快速发展,移动互联网、物联网、智能硬件给社会带来了巨大的冲击,个性化、定制化和时尚化的智能硬件设备已经成为未来的发展趋势。大学作为传播知识、科研创新和服务社会的主要机构,为社会培养具有创新思维的现代化人才是责无旁贷的,而具有时代感的教材又是培养现代化人才的基础,所以,教材的重要性不言而喻。
人类工业的发展阶段为大规模生产—电气化生产—自动化生产—智能定制化生产。不同的社会发展阶段对人才的需求是不同的,因此,人才的培养模式在不同的时代背景下应该具有不同的要求。作者依据当今信息社会的发展趋势,结合智能硬件的发展需求,基于工程教育教学经验,探索了创新工程教育的基本方法,并将其提炼为适合我国国情、具有自身特色的创新实践教材。尽管这个理想是非常远大的,却是一次大胆的尝试。因此,本书将实际教学中应用智能硬件的工程教学案例进行总结,包括基本开发方法、产品设计、产品实现和具体应用,希望对教育界及工业界有所帮助,起到抛砖引玉的作用。
本书以当前物联网和智能开源硬件的发展为背景,总结Arduino开源硬件的开发方法,给出了系统开发Arduino智能硬件产品的实际案例。主要内容分四个方面: Arduino开源硬件产品、开发环境及编程语言(第1~3章),为开源硬件开发提供基本的知识和方法,主要介绍常用的开发板以及Arduino IDE的使用和相关的编程语言等; Arduino开发产品的基本方法(第4~6章),包括硬件设计方法Fritzing的使用、Arduino入门程序设计和扩展板的使用;
外围硬件及传感器使用方法(第7~10章),包括智能开源硬件平台、各种传感器和模块,从功能、使用方法、电路连接和实例程序等方面介绍其使用方法;
综合案例的开发(第11~20章),包括游戏类开发、控制类开发、交互类开发、物联网开发及大型综合项目开发。
本书的内容和素材来源,除了引用的参考文献之外,主要来自于以下几方面的教学和科研工作:
首先,是作者所在学校近几年承担的*和北京市的教育、教学改革项目的成果,在此特别感谢林家儒教授的鼎力支持和悉心指导;
其次,是作者指导的研究生在物联网和智能硬件方面的研究工作及成果总结,在此特别感谢郑铖、谭扬、黄旭新、顾铁钥、高凡石和陈佳丰等研究生同学的大力协助;
再次,是北京邮电大学信息工程专业的同学的成果,通过基于CDIO工程教育的方法,创新产品得到了实现,不但学到了知识、提高了能力,而且为本书提供了手素材和资料,在此向信息工程专业的所有同学表示感谢。后,感谢父母妻儿在精神上给予的支持与鼓励,才使得此书得以问世!
本书的编写得到了*电子信息类专业教学指导委员会、信息工程专业国家类特色专业建设项目、信息工程专业国家第二类特色专业建设项目、*CDIO工程教育模式研究与实践项目、*本科教学工程项目、信息工程专业北京市特色专业项目、北京高等学校教育教学改革项目和北京邮电大学教育教学改革项目(2017JY04)的大力支持,在此表示感谢!
本书内容由浅入深、先思考后实践,创新思维与实践案例相结合,以满足不同层次的人员需求;
同时,本书附有实际项目的硬件设计图和软件实现代码,供读者自我学习和自我提高。本书可作为大学信息与通信工程及相关领域的本科生教材,也可以作为智能硬件爱好者的创新手册使用,还可以为创客的需求产生、分析产品、设计生产、实现产品提供帮助。对于从事物联网、创新开发和设计的专业技术人员,本书也可以作为主要的技术参考书。
本书主要由李永华、王思野编著。此外,李和禹、陈河泉、陈向梅、张秋彤、李昕烨、张国利也参与了部分内容的编写。
由于作者水平有限,书中的不当之处在所难免,衷心地希望各位读者多提宝贵意见及具体的整改建议,以便作者进一步修改和完善。
李永华于北京邮电大学2018年1月
本章以Arduino IDE中的开发案例为基础,对其中的典型案例进行详细介绍,为Arduino程序深度开发打下坚实的基础。在Arduino Software中可以找到嵌入例程(框架)。这些简单的程序包含了所有基础的Arduino指令。在工具条菜单上点击并打开它们: File→Examples。这部分是从初级阶段向高级阶段进阶,能保证大多数人快速上手,然后进行有趣的实验,并开拓新的想法。5.1入门开发例程本节主要讲述Arduino开发的基本例程,包括电路连接、程序说明等,其中的案例包括Blink、AnalogReadSerial、DigitalReadSerial、Fade、ReadAnalogVoltage。5.1.1Blink这个例程是Arduino开发板作为物理输出、简单的例程,是闪烁板载LED。在大多数开发板上,这个板载LED在D13引脚,但是,Arduino Gemma在D1引脚,MKR1000在D6引脚上。当然,也可以通过220Ω电阻,使用外接LED。LED的长引脚通过电阻连接到D13,短的引脚连接到GND,电路如图51和图52所示,代码如下:
/*打开一个LED灯1s,然后关1s,以此重复*/
//当按下reset或者给板子供电后setup程序会运行一次
void setup() {
pinMode(13, OUTPUT); //初始化D13作为一个输出
}
void loop() {//循环一次又一次地运行
digitalWrite(13, HIGH); //打开LED(HIGH为电压级别)
delay(1000); //等1s
digitalWrite(13, LOW); //设置电压为LOW来关闭LED
delay(1000); //等1s
}
评论
还没有评论。