前言
第一篇基础篇
第1章初识arduino
1.1arduino的历史
1.2arduino的家族
1.3arduino的资源
1.4arduino的开发环境
1.5添加新硬件及设置开发环境
1.6arduino开发环境的应用
第2章编写arduino程序
2.1绘制流程图
2.1.1流程图基本符号
2.1.2流程图的三种基本结构
2.2c语言的标识符与关键字
2.2.1标识符
2.2.2关键字
2.2.3运算符
2.2.4分隔符
2.2.5常量
2.2.6注释符
2.3控制语句
2.3.1if语句
2.3.2switch语句
2.3.3while语句
2.3.4do-while语句
2.3.5for语句
2.3.6break语句
2.3.7continue语句
2.3.8goto语句
2.4程序结构
第3章arduino的基本函数
3.1数字i/o
3.1.1pinmode(pin,mode)
3.1.2digitalwrite(pin,value)
3.1.3digitalread(pin)
3.2模拟i/o
3.2.1analogreference(type)
3.2.2analogread(pin)
3.2.3analogwrite(pin,value)
3.3高级i/o
3.3.1shiftout(datapin,clockpin,bitorder,val)
3.3.2pulsein(pin,state,timeout)
3.4时间函数
3.4.1millis()
3.4.2delay(ms)
3.4.3delaymicroseconds(us)
3.5数学库
3.5.1min(x,y)
3.5.2max(x,y)
3.5.3abs(x)
3.5.4constrain(amt,low,high)
3.5.5map(x,in_min,in_max,out_min,out_max)
3.5.6三角函数
3.6随机数
3.6.1randomseed(seed)
3.6.2random(howsmall,howbig)
3.7位操作
3.8中断函数
3.8.1interrupts()和nointerrupts()
3.8.2attachinterrupt(interrupt,function,mode)
3.9串口通信
3.10spi接口
3.10.1spi接口概述
3.10.2spi接口数据传输
3.10.3spi类及其成员函数
第4章arduino硬件平台
4.1arduino的原理图
4.2串行通信口的使用
4.2.1实例功能
4.2.2硬件电路
4.2.3程序设计
4.3数字i/o口的使用
4.3.1实例功能
4.3.2硬件电路
4.3.3程序设计
4.4模拟i/o口的使用
4.4.1实例功能
4.4.2硬件电路
4.4.3程序设计
4.5烧写引导程序
4.5.1下载器avrisp
4.5.2avrstudio
4.5.3烧写引导程序
第二篇模块篇
第5章arduino基本扩展模块
5.1l293motorshield
5.1.1直流电机的工作原理
5.1.2h桥驱动电路
5.1.3线性放大调速原理
5.1.4pwm调速原理
5.1.5l293motorshield的原理
5.1.6l293motorshield的应用
5.1.7程序设计
5.1.8程序分析
5.1.9程序的精练
5.2inputshield
5.2.1inputshield原理图
5.2.2inputshield的实例
5.2.3程序设计
5.2.4程序分析
5.2.5使用摇杆控制直流电机转速
5.3lcdkeypadshield
5.3.1液晶显示原理
5.3.2标准1602液晶模块
5.3.31602液晶模块控制方式
5.3.4lcdkeypadshield原理图
5.3.5lcdkeypadshield应用实例
5.3.6程序设计
5.3.7程序分析
5.3.8arduino的液晶控制方式
5.3.9“helloarduino!”
5.4ethernetshield
5.4.1ethernetshield原理图
5.4.2w5100芯片介绍
5.4.3w5100芯片的寄存器
5.4.4w5100芯片的使用
5.4.5ethernetshield应用实例
5.4.6程序设计
5.5i/o扩展板
5.5.1xbee传感器扩展板v
5.5.2伺服电机控制
5.5.3伺服电机应用实例
5.5.4interfaceshield
5.5.5rgbledmodule
5.5.6rgbledmodule应用实例
5.5.7程序的精练
第6章arduino的扩展库
6.1arduino扩展库介绍
6.1.1arduino扩展库的作用
6.1.2arduino扩展库的应用
6.2对象和类
6.2.1类的定义
6.2.2对象的创建及成员函数的调用
6.2.3对象的初始化和构造函数
6.2.4函数的重载
6.2.5析构函数
6.3liquidcrystal库
6.3.1构造函数
6.3.2command()和write()
6.3.3begin()
6.3.4clear()
6.3.5home()
6.3.6setcursor()
6.3.7nodisplay()和display()
6.3.8cursor()和nocursor()
6.3.9blink()和noblink()
6.3.10autoscroll()和noautoscroll()
6.3.11scrolldisplayleft()和scrolldisplayright()
6.3.12print()
6.4ethernet库
6.4.1ethernetclass类定义
6.4.2server类定义
6.4.3server类构造函数
6.4.4server类成员函数
6.4.5client类定义
6.4.6client类构造函数
6.4.7client类成员函数
6.5softwareserial库
6.5.1构造函数
6.5.2begin()
6.5.3read()
6.5.4print()和println()
6.5.5使用限制
6.6eeprom库
6.6.1read()
6.6.2write()
6.7wire库
6.7.1iic总线概述
6.7.2twowire类定义
6.7.3begin()
6.7.4requestfrom()
6.7.5available()
6.7.6receive()
6.7.7begintransmission()
6.7.8endtransmission()
6.7.9send()
6.7.10onreceive()
6.7.11onrequest()
6.8servo库
6.8.1构造函数
6.8.2attach()
6.8.3write()
6.8.4writemicroseconds()
6.8.5read()
6.8.6readmicroseconds()
6.8.7attached()
6.8.8detach()
6.9stepper库
6.9.1步进电机概述
6.9.2步进电机的基本参数
6.9.3步进电机的优缺点
6.9.4步进电机的工作原理
6.9.5步进电机的控制电路
6.9.6stepper类定义
6.9.7构造函数
6.9.8setspeed()
6.9.9step()
6.10tlc5940库
6.10.1tlc5940类的定义
6.10.2init()
6.10.3update()
6.10.4set()
6.10.5get()
6.10.6setall()
6.10.7clear()
6.11onewire库
6.11.1单总线的结构
6.11.2单总线控制方式
6.11.3单总线信号形式
6.11.4onewire类
6.11.5构造函数
6.11.6reset()
6.11.7write_bit()
6.11.8read_bit()
6.11.9write()
6.11.10read()
6.11.11select()
6.11.12skip()
6.12xbee库
6.12.1xbee类定义
6.12.2构造函数
6.12.3begin()
6.12.4readpacket()
6.12.5send()
6.13创建自己的库
6.13.1库的功能-morse
6.13.2morsecode类的定义
6.13.3morsecode类的成员函数
6.13.4morsecode库的使用
6.13.5关键字的定义
第7章无线模块的应用
7.1apc
7.1.1apc220性能指标
7.1.2模块引脚定义
7.1.3模块的使用
7.1.4注意事项
7.2dfduinowireless
7.2.1dfduinowireless性能指标
7.2.2模块引脚定义
7.2.3模块的使用
7.3bluetoothv
7.3.1bluetoothv3性能指标
7.3.2模块引脚定义
7.3.3模块的使用
7.4xbee和xbeepro
7.4.1xbee及xbeepro性能指标
7.4.2模块引脚定义
7.4.3模块的使用
7.4.4程序设计
第三篇应用篇
第8章打造自己的遥控履带车
8.1履带车的驱动
8.1.1实现功能
8.1.2所需器材
8.1.3硬件连接
8.1.4程序设计
8.1.5motorcar类
8.1.6类的应用
8.2添加感知器件
8.2.1实现功能
8.2.2所需器材
8.2.3器材介绍
8.2.4硬件连接
8.2.5程序设计
8.3添加无线模块
8.3.1实现功能
8.3.2所需器材
8.3.3硬件连接
8.3.4程序设计
8.4制作遥控器
8.4.1实现功能
8.4.2所需器材
8.4.3硬件连接
8.4.4程序设计
8.5履带车遥控调速
8.5.1实现功能
8.5.2程序设计
8.6添加无线摄像头
8.6.1实现功能
8.6.2所需器材
8.6.3器材介绍
8.6.4硬件连接
8.6.5程序设计
8.7环境信息获取器件
8.7.1实现功能
8.7.2所需器材
8.7.3器材介绍
8.7.4硬件连接
8.7.5程序设计
第9章仿生机器人
9.1遥控机械臂
9.1.1实例功能
9.1.2器材列表
9.1.3搭建硬件环境
9.1.4安装控制部分
9.1.5wii游戏手柄
9.1.6机械臂程序设计
9.2双足机器人
9.2.1实例功能
9.2.2器材列表
9.2.3搭建硬件环境
9.2.4双足机器人程序设计
9.2.5pc调试软件编写
9.2.6双足机器人的调试
附录aarduino引脚与avr单片机管脚对应关系
附录barduino扩展板
附录c其他可扩展模块