Arduino程序设计基础查看源代码讨论查看历史
《Arduino程序设计基础》,陈吕洲 著,出版社: 北京航空航天大学出版社。
书,是历史的见证、文化的赋形、知识的宝库、智慧[1]的结晶,是一个民族一个国家显示其文明的标志。读书,是时代的呼唤、历史的昭示、职责的要求,是一个民族一个国家走向伟大复兴的证明[2]。
内容简介
Arduino不仅仅是全球的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注于创意与实现,更快地完成自己的项目开发,大大节约学习的成本,缩短开发的周期。 《Arduino程序设计基础(第2版)》是作者几年间开发Arduino的经验总结,纯干货分享。本书针对大学教育编写,体系结构清晰,开发细节完善,适合初学者学习,亦可以用于专业开发者查阅。
目录
第1章 初识Arduino
1.1什么是Arduino
1.2 Arduino的由来
1.3为什么使用Arduino作为开发平台
1.4 Arduino硬件——选择一款适合自己的Arduino控制器
1.4.1认识不同型号的Arduino控制器
1.4.2众多的Arduino外围模块
1.4.3从Arduino UNO开始
1.5 Arduino软件
1.5.1下载配置Arduino开发环境
1.5.2认识Arduino IDE
1.5.3安装Arduino驱动程序
1.6 Blink——Arduino的Hello World!
第2章 基础篇
2.1 Arduino语言及程序结构
2.1.1 Arduino语言
2.1.2 Arduino程序结构
2.2 C/C++语言基础
2.2.1数据类型
2.2.2运算符
2.2.3表达式
2.2.4数组
2.2.5字符串
2.2.6注释
2.2.7用流程图表示程序
2.2.8顺序结构
2.2.9选择结构
2.2.10循环结构
2.3电子元件和Arduino扩展模块
2.4传感器扩展板的使用
2.5 Arduino I/O的简单控制
2.5.1数字I/O的使用
2.5.2项目:人体感应灯(继电器模块与数字传感器)
2.5.3模拟I/O的使用
2.5.4项目:电子温度计
2.5.5数字传感器与模拟传感器的使用
2.6与计算机交流——串口的使用
2.6.1串口输出
2.6.2串口输入
2.6.3实验:串口控制开关灯
2.7时间控制函数
2.7.1运行时间函数
2.7.2延时函数
第3章I/O口高级应用
3.1调声函数
3.2项目:简易电子琴
3.3脉冲宽度测量函数及超声波测距
3.3.1脉冲宽度测量函数
3.3.2超声波测距
3.4设置ADC参考电压
3.5外部中断
3.5.1外部中断的使用
3.5.2实验:外部中断触发蜂鸣器报警
第4章 使用和编写类库
4.1编写并使用函数,提高程序的可读性
4.2使用Arduino类库
4.3编写Arduino类库
4.3.1编写头文件
4.3.2预处理命令
4.3.3宏定义
4.3.4文件包含
4.3.5条件编译
4.3.6版本兼容
4.3.7编写.cpp文件
4.3.8关键字高亮显示
4.3.9建立示例程序
4.4类库优化与发布
第5章 通信篇
5.1硬件串口通信——HardwareSerial类库的使用
5.1.1 HardwareSerial类库成员函数
5.1.2 print()和write()输出方式的差异
5.1.3 read()和peek()输入方式的差异
5.1.4串口读取字符串
5.1.5串口事件
5.1.6串口缓冲区
5.1.7实验:串口控制RGB LED调光
5.1.8更好的串口监视器——串口调试助手
5.2软件模拟串口通信——SoftwareSerial类库的使用
5.2.1 SoftwareSerial类库的局限性
5.2.2 SoftwareSerial类库成员函数
5.2.3建立一个软串口通信
5.2.4实验:Arduino间的串口通信
5.2.5同时使用多个软串口
5.3 IIC总线的使用——Wire类库的使用
5.3.1 IIC主机、从机与引脚
5.3.2 Wire类库成员函数
5.3.3 IIC连接方法
5.3.4主机写数据,从机接收数据
5.3.5从机发送数据,主机读取数据
5.4 SPI总线的使用——SPI类库的使用
5.4.1 SPI引脚
5.4.2 SPI总线上的从设备选择
5.4.3 SPI类库成员函数
5.4.4 SPI总线上的数据发送与接收
5.4.5实验:使用数字电位器AD5206
5.4.6软件模拟SPI通信
5.4.7实验:使用74HC595扩展I/O口
第6章 存储篇
6.1断电也能保存数据——EEPROM类库的使用
6.1.1 EEPROM类库成员函数
6.1.2写入操作
6.1.3读取操作
6.1.4清除操作
6.1.5存储各类型数据到EEPROM
6.2保存大量数据——SD卡类库的使用
6.2.1格式化SD卡
6.2.2 SD卡类库成员函数
6.2.3使用SD卡读/写模块
6.2.4创建文件
6.2.5删除文件
6.2.6写文件
6.2.7读文件
6.3项目:SD卡环境数据记录器
6.3.1 DHT11温湿度检测模块的使用
6.3.2硬件连接方法
6.3.3温湿度记录器
6.3.4在Excel中分析数据
第7章 无线通信篇——红外遥控
7.1 IRremote类库成员函数
7.2红外接收
7.3红外发射
7.4实验:遥控家电设备
第8章LCD显示篇
8.1 1602 LCD的使用——LiquidCrystal类库的使用
8.1.1将1602 LCD与Arduino连接
8.1.2 1602 LCD相关参数
8.1.3 LiquidCrystal类库成员函数
8.1.4实验:“hello,world!”
8.1.5实验:将串口输入数据显示到1602 LCD上
8.1.6实验:显示滚动效果
8.1.7实验:显示自定义字符
8.2项目:制作电子时钟
8.2.1 DS1307时钟模块的使用
8.2.2电子时钟
8.3图形显示器的使用——u8glib类库的使用
8.3.1使用MINI12864显示屏
8.3.2使用其他图形液晶显示器
8.3.3 u8glib程序结构
8.3.4纯文本显示
8.3.5数据显示
8.3.6实验:绘制图形
8.3.7实验:显示图片——位图取模
第9章USB类库的使用
9.1 USB设备模拟相关函数
9.1.1 USB鼠标类的成员函数
9.1.2 USB键盘类的成员函数
9.2模拟键盘输入信息
9.2.1 Arduino Leonardo在模拟USB设备后,无法正常下载程序
9.2.2模拟键盘组合按键
9.3实验:使用摇杆模块控制计算机鼠标
9.4项目:PPT播放遥控器
第10章Ethernet类库的使用
10.1 Ethernet相关硬件介绍
10.2 Ethernet类库
10.2.1 Ethernet 类
10.2.2 IPAddress 类
10.2.3 EthernetServer类
10.2.4 EthernetClient类
10.3 Ethernet的初始化
10.3.1自定义IP地址
10.3.2 DHCP获取IP地址
10.4通过Telnet建立简易聊天室
10.4.1建立Arduino Telnet聊天服务器
10.4.2 Windows Telnet客户端的使用
10.5 Ethernet与Web应用
10.5.1 HTTP协议简介
10.5.2 HTTP响应
10.5.3网页客户端
10.5.4网页服务器
10.6 UDP通信
10.6.1 EthernetUDP类
10.6.2使用UDP收/发数据
10.7项目:网页控制Arduino
附录
A.1使用专业IDE编写Arduino项目
A.2常见问题及解决方法
A.3 Arduino Leonardo手册
A.4 Arduino Due手册
A.5 ASCII码对照表
A.6串口通信可用的config配置
A.7 USB键盘库支持的键盘功能按键列表
A.8常见Arduino型号的参数比较表
后记
参考文献