:Arduino软硬件协同设计实战指南李永华,王思野 pdf下载pdf下载

:Arduino软硬件协同设计实战指南李永华,王思野百度网盘pdf下载

作者:
简介:本篇提供书籍《:Arduino软硬件协同设计实战指南李永华,王思野》百度网盘pdf下载
出版社:万泽惠远图书专营店
出版时间:2018-03
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

书名:Arduino软硬件协同设计实战指南(第2版)(清华开发者书库)

定价:89.00元

作者:李永华,王思野

出版社:清华大学出版社

出版日期:2018-03-01

ISBN:9787302488422

字数:

页码:387

版次:2

装帧:平装

开本:16开

商品重量:0.4kg

编辑推荐


内容提要


《Arduino软硬件协同设计实战指南》(第2版以物联网和智能开源硬件的发展为背景,总结了基于Arduino开源硬件的开发方法,并给出了系统开发Arduino智能硬件产品的实际案例。主要内容分四个方面: Arduino开源硬件产品、开发环境及编程语言(~3章)——主要介绍当今常用的开发板,以及Arduino IDE的使用和相关的编程语言等; Arduino开发产品的基本方法(第4~6章)——主要介绍硬件设计方法Fritzing的使用、Arduino程序设计和扩展板的使用; 外围硬件及传感器使用方法(第7~10章)——主要介绍智能开源硬件平台、各种传感器和模块; 综合案例的开发(1~20章)——主要介绍游戏类开发、控制类开发、交互类开发、物联网开发以及大型综合项目开发。本书内容由浅入深、先思考后实践,创新思维与实践案例相结合,以满足不同层次读者的需求; 同时,本书配有实际项目的硬件设计图和软件实现代码,可供读者学习使用。

本书可作为高校信息与通信工程专业的本科生教材,也可以作为智能硬件爱好者的参考用书。对于从事物联网开发的专业技术人员,也可以作为参考用书。

目录


目录


章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 Ether 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 MotioShield


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实验代码


0章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.4Ether通信


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实验代码


1章游戏类开发


11.1Jumping Pong


11.1.1功能构思


11.1.2设计原理


11.1.3参考代码


11.2打地鼠游戏机


11.2.1功能构思


11.2.2设计原理


11.2.3参考代码


2章控制类开发


12.1蓝牙控制智能车


12.1.1功能构思


12.1.2设计原理


12.1.3参考代码


12.2可抓取机械手臂


12.2.1功能构思


12.2.2设计原理


12.2.3参考代码


3章交互类开发


13.1虚拟架子鼓


13.1.1功能构思


13.1.2设计原理


13.1.3参考代码


13.2触摸按键交互设计


13.2.1功能构思


13.2.2设计原理


13.2.3参考代码


4章物联网开发


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参考代码


5章智慧农业设计与开发


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请求平台


6章手势图案解锁门项目设计


16.1项目背景


16.2创意描述


16.3功能及总体设计


16.3.1功能介绍


16.3.2总体设计


16.3.3模块介绍


16.4产品展示


16.5故障及问题分析


16.6元器件清单


7章激光雕刻机项目设计


17.1项目背景


17.2创意描述


17.3功能及总体设计


17.3.1功能介绍


17.3.2总体设计


17.3.3模块介绍


17.4产品展示


17.5故障及问题分析


17.6元器件清单


8章App遥控四轴飞行器项目设计


18.1项目背景


18.2创意描述


18.3功能与整体设计


18.3.1功能介绍


18.3.2总体设计


18.3.3模块介绍


18.4产品展示


18.5故障及问题分析


18.6元器件清单


9章肩带式转向警示器项目设计


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面包板的使用



作者介绍


文摘


第3章Arduino编程语言


Arduino编程语言是建立在C/C++语言基础上的,即以C/C++语言为基础,通过把AVR单片机(微控制器)相关的一些寄存器参数设置等进行函数化,以利于开发者更加快速地使用,其主要使用的函数包括: 数字I/O操作函数、模拟I/O操作函数、高级I/O操作函数、时间函数、中断函数、通信函数和数学库等多种函数。

3.1Arduino编程基础

Arduino的程序结构主要包括两部分: void setup和void loop。其中,前者是声明变量及接口名称(例如: int val;int ledPin=13;),是在程序开始时使用,初始化变量、引脚模式、调用库函数等(例如: pinMode(ledPin,OUTUPT);)。而void loop,是在setup函数之后,voidloop程序不断地循环执行,是Arduino的主体。

主要使用的关键字有: if、ifelse、for、switch、case、while、dowhile、break、continue、return、goto。

语法符号: 每条语句以分号“;”结尾,每段程序以花括号“{}”括起来。

数据类型: boolean、char、int、unsigned int、long、unsigned long、float、double、string、array、void。

常量: HIGH或者LOW,表示数字I/O口的电平,HIGH表示高电平(1),LOW表示低电平(0)。INPUT或者OUTPUT,表示数字I/O口的方向,INPUT表示输入(高阻态),OUTPUT表示输出(AVR能提供5V电压,40mA电流)。TRUE或者FALSE,TRUE表示真(1),FALSE表示假(0)。

1. setup

当程序开始运行时,函数调用一次。用于在循环loop开始执行之前定义初始环境属性,如引脚模式(INPUT或OUTPUT)、启动串行端口等。在setup中声明的变量在loop中是不可访问的。语法规则为void setup {},举例如下:


void setup


{


pinMode(8, OUTPUT);


Serial.begin(9600);


}




void loop


{


Serial.print('.');


delay(1000);


}


2. loop

连续执行包含在其块内的代码行,直到程序停止。loop函数与setup一起使用。每秒执行loop的次数可以用delay和delayMicroseconds函数来控制。

语法规则为loop {},举例如下:


void setup


{


pinMode(WLED, OUTPUT); //设置板载LED引脚为输出


}


void loop


{


digitalWrite(WLED, HIGH); //设置LED为开


delay(1000); //延迟1s


digitalWrite(WLED, LOW); //设置LED为关


delay(1000); //延迟1s


}


3.2数字I/O口的操作函数

数字I/O口的操作函数主要有pinMode、digitalWrite、digitalRead,下面分别介绍各自的用法。

1. pinMode

pinMode(pin,mode)函数将指定的数字I/O引脚设置为INPUT、OUTPUT或INPUT_PULLUP。可以使用digitalWrite和digitalRead方法设置或读取数字I/O引脚的值,它是一个无返回值函数。函数有两个参数: pin和mode。pin参数表示要配置的引脚,mode参数表示设置的参数INPUT(输入)、OUTPUT(输出),也可以使用INPUT_PULLUP模式使能内部上拉电阻。此外,INPUT模式显式禁用内部上拉。

INPUT参数用于读取信号,OUTPUT用于输出控制信号。PIN的范围是数字引脚0~13,也可以把模拟引脚(A0~A5)作为数字引脚使用,此时编号为14脚对应模拟引脚0,19脚对应模拟引脚5。一般会放在setup里,先设置再使用。

在下面的例子中,将数字引脚3定义为pinIN,将数字引脚4定义为pinOUT。通过方法pin将pinIN编程为INPUT,将pinOUT设置为OUTPUT。在循环中,用数字读数读取pinIN的值,如果为高电平(值为1),引脚输出设置为高电平或低电平。


int pinIN = 3;


int pinOUT = 4;


int value = 0;


void setup {


pinMode(pinIN, INPUT);


pinMode(pinOUT, OUTPUT);


}


void loop {


value = digitalRead(pinIN);


if (value == HIGH)


{


digitalWrite(pinOUT, HIGH);


} else {


digitalWrite(pinOUT, LOW);


}


}


序言