编辑推荐
《Arduino实战》是一本搭建原型和DIY电子制作的实践指南。作者团队由机器人设计专家、交互设计师和艺术家组成,将Arduino适合机器人设计者、艺术家、设计爱好者等的特质充分发挥出来。
《Arduino实战》将从基础的知识讲起——拆封电路板并用一个简单的程序做些什么,到连接到电动机、LED显示器、Wi-Fi、GPS和蓝牙的时候,你会学到更复杂的项目。
内容简介
《Arduino实战》是用Arduino搭建趣味电子产品的实践指南。《Arduino实战》循序渐进、深入浅出地讲解了Arduino创意电子制作的方方面面:拆封Arduino板卡并让一个LED闪烁,然后进一步介绍在实际项目中常用的技术,如控制电动机、LCD显示器、超声波和红外线传感器等。书中还讲解了一些流行的技术,如Wi-Fi、蓝牙、GPS、USB通信等。通过《Arduino实战》,读者可以尝试制作五音阶电子琴、简易气象站、微博盒子、可穿戴路标灯等妙趣横生的创意电子产品。除了Arduino和Processing开发环境以外,读者还会接触到Pure Data和Python编程、iOS开发等热点话题。书后附录包括了图解驱动安装、编程基础知识等,即使是没有编程基础的初学者也可以轻松入门,而书中丰富的案例不但兼具深度和广度,更是兼具实用性和艺术性,想必Arduino高手也会从中有所收获。
《Arduino实战》既可以作为Arduino初学者的入门教材,也可以作为Arduino进阶玩家的创意指南和参考手册。
作者简介
Martin Evans是一名专业的开发者,一名终身的电子发烧友,以及一个基于Arduino的水下ROV的创造者。
* Noble是一名作家和创新技术专家,他致力于智能空间方面的工作。
Jordan Hochenbaum使用Arduino来探索音乐表达和创新性交互。
目录
- 第一部分 入门
- 第1章 你好Arduino
- 1.1 Arduino简史
- 1.2 Arduino硬件
- 1.2.1 Arduino Uno
- 1.2.2 Arduino Duemilanove
- 1.2.3 Arduino Ethernet
- 1.2.4 Arduino Mega
- 1.2.5 另外几种Arduino电路板
- 1.2.6 复制品的冲击
- 1.2.7 获取一片Arduino
- 1.3 设置你的工作环境
- 1.3.1 Arduino软件
- 1.3.2 基本硬件安装
- 1.3.3 你的Arduino工具箱
- 1.4 做点什么
- 1.4.1 第一个闪烁的LED
- 1.4.2 使LED闪烁的程序
- 1.4.3 把所有的东西连起来
- 1.4.4 上传和测试
- 1.5 熟悉IDE
- 1.5.1 主编辑器
- 1.5.2 串口监视器
- 1.5.3 捕获错误
- 1.5.4 流程
- 1.6 Arduino程序的结构
- 1.6.1 setup子程序
- 1.6.2 限循环
- 1.7 为代码编写注释
- 1.8 小结
- 第2章 数字输入和输出
- 2.1 准备开始
- 2.1.1 面包板的使用
- 2.1.2 电路图
- 2.1.3 添加LED
- 2.1.4 连接硬件
- 2.1.5 使5个LED闪烁的程序
- 2.1.6 烧写和测试
- 2.2 获得控制权
- 2.2.1 电路图
- 2.2.2 连接
- 2.2.3 认识中断
- 2.2.4 通过按钮控制LED的程序
- 2.2.5 烧写和测试
- 2.2.6 使用break语句
- 2.2.7 烧写和测试
- 2.3 反应测试仪
- 2.3.1 电路图
- 2.3.2 连接
- 2.3.3 测试反应速度的程序
- 2.3.4 烧写和测试
- 2.4 反应速度计:谁真正拥有最快的反应时间
- 2.4.1 测定反应速度的程序
- 2.4.2 烧写和测试
- 2.5 小结
- 第3章 简单项目:输入和输出
- 3.1 认识模拟电路
- 3.1.1 模拟和数字有什么区别
- 3.1.2 读取电位器
- 3.1.3 连接硬件
- 3.1.4 读取电位器的程序
- 3.1.5 烧写和测试
- 3.2 压电换能器
- 3.2.1 电路图
- 3.2.2 连接硬件
- 3.2.3 用于测定压电换能器输出的程序
- 3.2.4 烧写和测试
- 3.2.5 添加一个扬声器的电路
- 3.2.6 连接硬件
- 3.2.7 产生一个音阶的程序
- 3.2.8 烧写和测试
- 3.3 制作一架五声音阶电子琴
- 3.3.1 电路图
- 3.3.2 连接硬件
- 3.3.3 制作一架五声音阶电子琴的程序
- 3.3.4 烧写和测试
- 3.4 小结
- 第二部分 将Arduino投入工作
- 第4章 扩展Arduino
- 4.1 用库来扩展Arduino
- 4.2 核心库
- 4.3 标准库
- 4.3.1 使用ArduinoTestSuite进行测试驱动型开发
- 4.3.2 使用EEPROM存储数据
- 4.3.3 使用SD卡存储更多数据
- 4.3.4 连接到以太网
- 4.3.5 使用Firmata进行串行数据通信
- 4.3.6 使用LiquidCrystal库显示数据
- 4.3.7 控制伺服电机
- 4.3.8 转动步进电机
- 4.3.9 与SPI外设通信
- 4.3.10 通过双线接口进行数据通信
- 4.3.11 通过SoftwareSerial库获得更多串口
- 4.4 第三方库
- 4.5 通过扩展板来扩展Arduino
- 4.5.1 常用扩展板
- 4.5.2 陷阱:它能用在我的Arduino上吗
- 4.6 小结
- 第5章 运动中的Arduino
- 5.1 认识直流电动机
- 5.1.1 开始和停止
- 5.1.2 启动和停止小型直流电机的程序
- 5.1.3 连接硬件
- 5.1.4 烧写和测试
- 5.2 转速控制和反向旋转
- 5.2.1 PWM来救场
- 5.2.2 用于电机控制的H桥
- 5.2.3 L293D双H桥驱动芯片
- 5.2.4 连接硬件
- 5.2.5 用L293D控制电动机的程序
- 5.2.6 烧写和测试
- 5.2.7 改变电动机的转速
- 5.2.8 烧写和测试
- 5.3 步进电机:每次进一步
- 5.3.1 单极型还是双极型
- 5.3.2 连接硬件
- 5.3.3 步进电机库函数
- 5.3.4 控制步进电机的程序
- 5.3.5 烧写和测试
- 5.4 尝试使用伺服电机
- 5.4.1 控制伺服电机
- 5.4.2 伺服电机的函数与方法
- 5.4.3 控制伺服电机的程序
- 5.4.4 连接硬件
- 5.4.5 烧写和测试
- 5.5 直流刷电动机:小身材,大力量
- 5.5.1 为什么要用刷电机
- 5.5.2 获得控制权
- 5.5.3 控制刷电机的程序
- 5.5.4 连接硬件
- 5.5.5 烧写和测试
- 5.5.6 反向旋转
- 5.5.7 反向旋转一个刷电机的程序
- 5.5.8 连接硬件
- 5.5.9 烧写和测试
- 5.6 用于更多电动机的电动机控制扩展板
- 5.7 小结
- 第6章 目标检测
- 6.1 使用超声波进行目标检测
- 6.1.1 选择一款超声波传感器
- 6.1.2 三线还是四线
- 6.1.3 超声波目标检测的程序
- 6.1.4 连接硬件
- 6.1.5 烧写和测试
- 6.2 红外测距
- 6.2.1 红外和超声波配合使用
- 6.2.2 夏普GP2D12红外测距仪
- 6.2.3 用于距离计算的非线性算法
- 6.2.4 距离测定的程序
- 6.2.5 连接硬件
- 6.2.6 烧写和测试
- 6.3 使用被动式红外进行运动侦测
- 6.3.1 使用Parallax被动式红外传感器(PIR)
- 6.3.2 红外运动侦测的程序
- 6.3.3 连接硬件
- 6.3.4 烧写和测试
- 6.4 小结
- 第7章 LCD显示器
- 7.1 LCD简介
- 7.2 并行字符LCD:日立HD44780
- 7.2.1 4位还是8位
- 7.2.2 库和函数
- 7.2.3 电路图
- 7.2.4 以4位模式连线
- 7.2.5 写入日立HD44780的程序
- 7.2.6 烧写和测试
- 7.3 串行LCD气象站
- 7.3.1 串行还是并行LCD
- 7.3.2 SerLCD库和函数
- 7.3.3 Maxim DS18B20集成温度传感器
- 7.3.4 OneWire和DallasTemperature库
- 7.3.5 电路图
- 7.3.6 将所有东西连接起来
- 7.3.7 LCD气象站的程序
- 7.3.8 烧写和测试
- 7.4 图形LCD:三星KS0108GLCD
- 7.4.1 库和函数
- 7.4.2 电路图
- 7.4.3 将一切都连接起来
- 7.4.4 在GLCD上绘图的程序
- 7.4.5 烧写和测试
- 7.5 小结
- 第8章 通信
- 8.1 以太网
- 8.1.1 Ethernet库
- 8.1.2 以太网扩展板与SD数据卡
- 8.2 Arduino Web服务器
- 8.2.1 建立服务器
- 8.2.2 建立Web服务器的程序
- 8.2.3 烧写和测试
- 8.2.4 故障排除
- 8.3 与Twitter通信
- 8.3.1 关于Twitter和令牌
- 8.3.2 库和函数
- 8.3.3 电路图和硬件连接
- 8.3.4 Twitter一键发推器的程序
- 8.3.5 烧写和测试
- 8.4 Wi-Fi
- 8.4.1 Arduino WiFi扩展板
- 8.4.2 WiFi库和函数
- 8.4.3 手势:线加速度计
- 8.4.4 连接硬件
- 8.4.5 Wi-Fi通信的程序
- 8.4.6 烧写和测试
- 8.5 蓝牙线
- 8.5.1 ArduinoBT
- 8.5.2 添加蓝牙
- 8.5.3 建立一个蓝牙连接
- 8.5.4 蓝牙通信的程序
- 8.6 串行外设接口(SPI)
- 8.6.1 SPI库
- 8.6.2 SPI设备和数字电位器
- 8.6.3 电路图和硬件连接
- 8.6.4 LED数字调光器的程序
- 8.7 数据记录
- 8.7.1 各种存储器
- 8.7.2 SD卡和SD库
- 8.7.3 SD卡传感器记录器的程序
- 8.8 Cosm
- 8.8.1 注册一个账户并获得API密钥
- 8.8.2 创建一个新的数据源
- 8.8.3 Cosm传感器记录程序
- 8.8.4 烧写和测试
- 8.9 小结
- 第9章 游戏开始
- 9.1 任天堂Wii欢迎你
- 9.1.1 Wii Nunchuk
- 9.1.2 连接Nunchuk
- 9.1.3 与Wii通信
- 9.1.4 测试Wii程序
- 9.2 发布Xbox
- 9.2.1 获得连接
- 9.2.2 USB Host库
- 9.2.3 利用USB Host扩展板学习Xbox控制器
- 9.2.4 Xbox报告数据分组
- 9.2.5 让我们启动它
- 9.2.6 与代码接驳
- 9.2.7 Xboxhid.ino
- 9.2.8 硬件连接和测试
- 9.3 小结
- 第10章 Arduino与iOS整合
- 10.1 将你的设备连接到Arduino
- 10.1.1 Redpark串口线
- 10.1.2 最终连接
- 10.2 iOS代码
- 10.2.1 在Xcode中创建一个单视图应用程序
- 10.2.2 编写代码
- 10.3 引入Arduino
- 10.3.1 利用iOS设备开关LED的程序
- 10.3.2 测试这个程序
- 10.4 用Xcode做更多事情
- 添加一个Slider控件
- 10.5 滑动控制Arduino
- 10.5.1 Arduino滑块控制电路
- 10.5.2 测试这个电路
- 10.6 将数据发送到iOS设备
- 10.6.1 Xcode编程
- 10.6.2 GP2D12红外距离传感器
- 10.6.3 测试
- 10.7 小结
- 第11章 制作可穿戴设备
- 11.1 LilyPad简介
- 11.1.1 LilyPad附件
- 11.1.2 导电缝纫线和布料
- 11.2 制作一件转向标夹克
- 11.3 制作一架可穿戴钢琴
- 11.4 Arduino Pro Mini
- 11.5 制作一个智能耳机
- 11.6 制作一件带指南针的夹克
- 11.7 小结
- 第12章 添加扩展板
- 12.1 扩展板基础
- 12.2 Adafruit电动机扩展板
- 12.2.1 AFMotor库
- 12.2.2 使用电动机扩展板控制一个步进电机
- 12.2.3 使用电动机扩展板控制直流电机
- 12.2.4 获得一块电动机扩展板
- 12.3 制作你自己的扩展板
- 12.3.1 存储器
- 12.3.2 电平转换器
- 12.3.3 SD卡插槽
- 12.3.4 将SD卡连接到Arduino
- 12.3.5 准备洞洞板
- 12.3.6 测试扩展板
- 12.4 小结
- 第13章 软件整合
- 13.1 串行信道
- 13.2 使用伺服电机进行人脸跟踪
- 13.2.1 组装人脸跟踪的硬件
- 13.2.2 人脸跟踪的代码
- 13.3 利用Firmata制作一个均衡器
- 13.3.1 在你的应用程序中使用Firmata
- 13.3.2 在Processing中进行音频分析
- 13.3.3 组装均衡器的硬件
- 13.3.4 均衡器的代码
- 13.4 利用Pure Data制作一个合成器
- 13.4.1 组装合成器的硬件
- 13.4.2 合成器的代码
- 13.5 使用Python来监测温度
- 13.5.1 Python中的串口库
- 13.5.2 组装温度计的硬件
- 13.5.3 用于监测温度的代码
- 13.6 小结
- 附录A 安装Arduino IDE
- 附录B 编程基础
- 附录C 软件库
- 附录D 器件列表
- 附录E 有用的链接