《Arduino程序设计基础》是由北京航空航天大学出版社出版的一本关于Arduino方面的书籍,作者是陈吕洲,主要介绍了关于Arduino、程序设计方面的知识内容,目前在Arduino类书籍综合评分为:9.8分。
书籍介绍
Arduino不仅仅是全球*流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注于创意与实现,更快地完成自己的项目开发,大大节约学习的成本,缩短开发的周期。
《Arduino程序设计基础(第2版)》是作者几年间开发Arduino的经验总结,纯干货分享。本书针对大学教育编写,体系结构清晰,开发细节完善,适合初学者学习,亦可以用于专业开发者查阅。
《Arduino程序设计基础(第2版)》涵盖Arduino基础知识及高级应用,中途穿插简单项目制作,用于巩固知识与扩展提高,同时提供常用的API参考,以便读者实践时查阅。第2版中,作者修正了之第1版的纰漏,并根据Arduino近年来的发展,更新了部分内容,重写了部分章节,也融入了更多作者对Arduino开发的思考。
本书主要针对本科生及研究生阶段的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型号的参数比较表
- 后记
- 参考文献