内容简介
交互设计在国内还属于发展的初期阶段,属于一个综合性相对较强的领域,是今后技术与艺术相结合的一个重要趋势。《完美图解Arduino互动设计入门》主要针对没有电子电路基础,但又对微控制器、电子电路、互动装置等感兴趣的读者,以轻松幽默的方式讲解Arduino及其相关的各种电子元件。书中配有一些实际的制作项目,具有较高的实用价值。另外,该书在讲述基本电子电路和程序设计概念时,精心制作了大量的手绘图,让读者能够很快地理解这些概念。
内页插图
目录
CHAPTER 01 认识Arduino
1-1 │ Arduino 微电脑板
1-2 │ Arduino 的相关软件
1-3 │ Arduino 开发环境安装
动手做1-1 执行与设置Arduino 开发环境
1-4 │下载“LED 闪烁”示例程序
CHAPTER 02 认识电子零件、工具与基础焊接
2-1 │电压、电流与接地
2-2 │微电脑板的电源适配器
2-3 │电阻
2-4 │电容
2-5 │二极管
2-6 │发光二极管(LED)
2-7 │看懂电路图
2-8 │电子工作必备的测量工具:万用表
动手做2-1 测量电阻、电容、电压和电流
2-9 │用面包板组装实验电路
CHAPTER 03 Arduino 互动程序设计入门
3-1 │ Arduino 程序设计基础
动手做3-1 写一个LED 闪烁控制程序
3-2 │用“变量”来管理代码
3-3 │认识数字系统
3-4 │不变的“常量”
CHAPTER 04 开关电路与LED 流水灯效果
4-1 │认识开关
4-2 │读取数字输入值
4-3 │改变程序流程的if 条件式
动手做4-1 用面包板组装开关电路
动手做4-2 LED 流水灯示例一
4-4 │编写循环程序
动手做4-3 流水灯示例二:使用for 循环
4-5 │认识数组
动手做4-4 流水灯示例三:使用数组变量
4-6 │使用端口操作指令与位移运算符制作流水灯程序
动手做4-5 流水灯示例四:使用位移运算符
CHAPTER 05 串口通信
5-1 │并行与串行通信简介
5-2 │处理文字信息:认识字符与字符串数据类型
5-3 │从Arduino 传递串行信息给电脑
5-4 │从Arduino 接收串口数据
动手做5-2 从串口控制LED 开关
5-5 │ switch case 控制结构
CHAPTER 06 模拟信号处理
6-1 │读取模拟值
动手做6-1 从串口读取“模拟输入”值
6-2 │认识光敏电阻与分压电路
动手做6-2 使用光敏电阻制作小夜灯
6-3 │压力传感器与弯曲传感器
6-4 │电容式麦克风与运算放大器
动手做6-3 自制麦克风声音放大器(拍手控制开关)
动手做6-4 拍手控制开关改良版
CHAPTER 07 七段LED 数码管
7-1 │数码管
动手做7-1 连接LED 数码管与Arduino 板
7-2 │使用集成电路简化电路
动手做7-2 串接数码管
CHAPTER 08 LED 点阵屏与SPI 接口控制
8-1 │建立自定义函数
动手做8-1 建立自定义函数
8-2 │认识变量的作用域
8-3 │ LED 点阵屏简介
8-4 │认识SPI 接口与MAX7219
动手做8-2 组装LED 点阵屏电路
8-5 │显示单一矩阵图像
动手做8-3 在矩阵LED 上显示音符图像
动手做8-4 在串口监视器输出矩形排列的星号
8-6 │ LED 点阵屏动画与多维数组程序设计
动手做8-5 在矩阵LED 上显示动态图像
8-7 │ LED 点阵屏流水灯
动手做8-6 LED 点阵屏逐字滚动效果程序
8-8 │将常数保存在“程序内存”里
CHAPTER 09 LCD 液晶屏+温湿度传感器+ 超声波传感器
9-1 │认识文本型LCD 显示模块
动手做9-1 在LCD 液晶屏上显示一段文本
动手做9-2 在LCD 上显示自定义字符符号
动手做9-3 序列连接LCD 显示模块
9-2 │数字温湿度传感器
动手做9-4 制作数字温湿度显示器
9-3 │认识超声波
动手做9-5 使用超声波传感器制作数字量尺
CHAPTER 10 变频控制LED 灯光和电机
10-1 │调节电压变化
10-2 │模拟输出(PWM)指令和默认频率
动手做10-1 调光器
动手做10-2 随机数字与烛光效果
动手做10-3 通过串口调整灯光亮度
动手做10-4 使用atoi( ) 转换字符串成数字
10-3 │认识直流电机
10-4 │齿轮箱∕滑轮组和动力模型玩具
10-5 │认识晶体管元器件
动手做10-5 晶体管电机控制与调速器
10-6 │控制电机正反转的H 桥式电机控制电路
动手做10-6 自动回避障碍物的自走车
CHAPTER 11 使用Wii 游戏杆控制机械手臂
11-1 │认识舵机
动手做11-1 自制机械手臂
11-2 │认识Wii 左手把的通信接口:I2C
动手做11-2 通过I2C 接口串联两个Arduino 板
动手做11-3 在I2C 接口下载发送整数数据
动手做11-4 读取Wii 左手把的游戏杆、按钮与加速度计值
动手做11-5 使用Wii 左手把控制机械手臂
11-3 │改造舵机成连续360°旋转
CHAPTER 12 红外线遥控与间隔拍摄控制器
12-1 │认识红外线
动手做12-1 监测人体移动
12-2 │红外线遥控
动手做12-2 使用IRremote 扩展库解析红外线遥控值
动手做12-3 使用红外线遥控器控制舵机
动手做12-4 从Arduino 发射红外线遥控电器
12-3 │运用红外线遥控照相机
动手做12-5 遥控照相机间隔拍摄影片
CHAPTER 13 制作光电子琴与MIDI 电子鼓
13-1 │发音体和声音
13-2 │使用tone() 函数发出声音
动手做13-1 演奏一段马里奥旋律
13-3 │使用#define 替换数据
13-4 │认识反射型与遮光型光电开关
动手做13-2 光电子琴制作
13-5 │认识MIDI
13-6 │ MIDI 信息格式
动手做13-3 通过Arduino 演奏MIDI 音乐
动手做13-4 通过“虚拟MIDI”接口演奏音乐
动手做13-5 制作MIDI 电子鼓
CHAPTER 14 手机蓝牙遥控机器人制作
14-1 │电波、频段和无线传输简介
14-2 │认识蓝牙(Bluetooth)
动手做14-1 使用软件串口程序连接Arduino 与蓝牙模块
动手做14-2 用Android 手机蓝牙遥控机器人
CHAPTER 15 网络与HTML 网页基础+嵌入式网站服务器制作
15-1 │认识网络与IP 地址
15-2 │域名、URL 网址和传输协议
动手做15-1 认识网页与HTML
15-3 │网络的联机标准与封包
15-4 │认识HTTP 协议
15-5 │连接以太(Ethernet)网卡建立Arduino 微型网站服务器
动手做15-2 建立微型网站服务器
CHAPTER 16 网络家电控制
16-1 │使用Webduino 扩展库建立微型网站
16-2 │定义错误信息网页与超链接设置
动手做16-1 监控远程的温湿度值
16-3 │传递数据给网站服务器
动手做16-2 建立网页表单
16-4 │认识传递数据的GET/POST 方法和查询字符串
动手做16-3 建立接收POST 表单数据的自定义命令
动手做16-4 从浏览器控制远程的灯光开关
16-5 │控制家电开关
动手做16-5 使用继电器控制家电开关
CHAPTER 17 Arduino + Flash 集成互动应用
17-1 │ Arduino + Flash = 多元互动媒体
动手做17-1 测试Arduino 与Flash 联机
动手做17-2 “接电子零件”互动游戏
17-2 │认识Arduino 的String(字符串)扩展库
动手做17-3 Flash 灯光开关和调光器
17-3 │使用Firmata 在Flash 和Arduino 之间传递数据
CHAPTER 18 RFID 无线识别设备与问答游戏制作
18-1 │认识条码与RFID
18-2 │ RFID 模块规格介绍与标签读取实验
动手做18-1 读取RFID 标签
18-3 │存储与比对RFID 编码
动手做18-2 使用RFID 控制开关
动手做18-3 使用RFID 进行Flash 问答游戏
APPENDIX A 认识焊接工具:焊锡、电烙铁及焊接助手
A-1 │焊接工具
动手做A-1 基础焊接练习
动手做A-2 焊接鳄鱼夹
A-2 │印刷电路板及万用板
动手做A-3 焊接电路板
动手做A-4 活用USB 电源适配器
APPENDIX B 烧写ATmega 微处理器的引导程序(boot loader)
动手做B-1 使用Arduino 控制板编程ATmega328 固件
动手做B-2 用面包板组装Arduino 微电脑实验板
APPENDIX C 改造3C 小玩意的控制钮
C-1 │认识光电耦合元器件
APPENDIX D 中断处理与交流电调光器制作
D-1 │轮询VS 中断
D-2 │调整交流电的输出功率
D-3 │定时激发运行的 TimerOne 扩展库
动手做D-1 交流电调光器电路
INDEX 索引 索引
前言/序言
本书的目标是让高中以上,没有电子电路基础,对微电脑、电子DIY及交互装置有兴趣的人士,也能轻松阅读,进而顺利使用ArdtJino控制板完成互动应用。因此,实验用到的电子和程序思想,皆以手绘图解的方式说明。
书中涉及某些较深入的概念,或者和“动手做”相关,但是在实验过程中没有用到的相关背景知识,都安排在各章节的“充电时间”单元(该单元的左上角有一个电池充电符号),像第4章4—1 1页“启用微控器内部的上拉电阻”,读者可以日后再阅读。启用微控制器内部的上拉电阻
ATmeg328微控制器的数字引脚其实有内建上拉电阻,根据AtnleI公司的技术文件指出,此上拉电阻值介于20—50kQ之间。但它预设并没有启用,假设要启用第8脚的上拉电阻,请执行下面两行代码,先将该脚设置成输入(IMPUT),再通过digitalWnrite0启用上拉电阻(此处的digitalWrite0并非代表写入)。
在撰写本书的过程中,得到许多亲朋好友的宝贵意见,笔者也依照这些想法和指正,逐一调整叙述方式,让图文内容更清楚易懂。此外,书末也附上按主题分类的关键字索引,方便读者查阅,如C程式语言的语法,可浏览“程式设计基础”分类。
Arduino控制板有许多不同的版本,目前的主流是UNO,因此本书的Arduino控制板插图,全数采用UNO与Leonardo。本书内容等同于繁体中文第二版,非常感谢科学出版社副编审张濮的赏识,以及本书编辑王哲辛勤地校阅并修订简体的专业术语,让本书得以顺利出版。
现在,准备好Arduino控制板、打开电脑,让Arduino从你的手中展现出最与众不同的惊艳吧!
探索数字世界的无限可能:开启你的互动设计之旅 在飞速发展的数字时代,我们周围的一切都变得越来越智能,越来越具有互动性。从你手中的智能手机,到家中的智能家电,再到各种新颖的创意装置,背后都离不开精妙的互动设计。你是否曾好奇,那些能够响应你触摸、声音甚至动作的设备是如何实现的?你是否渴望亲手创造出属于自己的、充满趣味和创意的互动体验? 现在,你的机会来了。本书并非一本简单的技术教程,而是一扇通往充满无限创意与可能性的数字世界的大门。它将带你踏上一段精彩纷呈的互动设计探索之旅,让你在玩乐中学习,在实践中成长,最终掌握将你的奇思妙想转化为真实可触的互动作品的秘诀。 谁适合阅读这本书? 这本书面向所有对互动设计充满好奇、渴望将创意付诸实践的朋友们。无论你是: 创意迸发的学生: 想要为你的课程项目增添亮点,或者为毕业设计寻找灵感?本书将为你提供坚实的基础和丰富的实践经验。 充满热情的创客: 喜欢动手制作,热衷于将想法变为现实的你,一定会在书中找到让你兴奋不已的工具和方法。 对新技术着迷的爱好者: 希望了解智能设备如何工作,并渴望参与到未来科技创造中的你,本书将为你揭示前沿技术的奥秘。 渴望跨界学习的专业人士: 无论你是设计师、艺术家、工程师,还是任何希望拓展技能边界的朋友,本书都能为你打开新的视角。 充满好奇心的初学者: 即使你从未接触过编程或电子技术,本书也将以最直观、最易懂的方式引领你入门。 本书将为你带来什么? 本书的核心在于“互动”二字。我们将聚焦于如何创造出能够与用户、环境以及其他设备进行智能响应的体验。你将学习到: 理解互动设计的核心理念: 什么是好的互动设计?如何让用户在使用产品时感到愉悦、高效和直观?我们将从理论层面剖析互动设计的本质,并结合大量生动的案例进行讲解。 掌握核心技术与工具: 互动设计离不开技术支撑。本书将深入浅出地介绍实现互动设计所需的关键技术和工具。你将不再对复杂的电子元件和代码感到畏惧,而是能够将其视为实现创意的强大伙伴。 学习从构思到实现的完整流程: 很多时候,创意卡壳并不是因为缺乏灵感,而是不知道如何将灵感落地。本书将为你梳理从最初的创意萌芽,到详细的设计构思,再到具体的原型制作和最终的实现,一个完整的互动设计项目流程。你将学会如何将抽象的概念转化为可执行的步骤。 激发无限的创意灵感: 互动设计的魅力在于它的无限可能性。本书将通过丰富的案例研究和实践项目,为你打开想象的翅膀。你将接触到各种前沿的互动形式,例如: 响应式界面设计: 探索如何让你的数字界面能够根据用户的操作、设备的状态甚至周围环境而实时变化,提供更加个性化和智能的体验。 物理计算与实体互动: 学习如何将传感器、执行器等电子元件与代码结合,创造出能够感知世界并做出响应的物理装置。例如,一个会根据你情绪改变颜色的灯光,一个能和你玩耍的智能玩具,或者一个能监测环境并发出预警的智能家居设备。 创意编程与数据可视化: 了解如何利用编程语言将数据转化为可视化的动态图形,或者创造出能够根据复杂算法而产生独特互动效果的艺术装置。 声音、光影与空间互动: 探索如何利用声音、光影等元素与用户和空间进行互动,营造出沉浸式的体验。例如,一个能与环境声音互动的灯光秀,或者一个能根据你的走动而改变声音的装置。 人机协作与智能系统: 学习如何设计更具人性化的交互方式,让机器更好地理解和满足人类的需求,实现更高效、更友好的协作。 本书的独特之处 本书最大的特色在于其“实践导向”和“深度解构”。我们不仅仅告诉你“怎么做”,更重要的是让你理解“为什么这么做”。 理论与实践的完美结合: 我们深知,脱离实际的理论是空洞的,而只有实践而没有理论指导则容易陷入迷茫。本书将理论知识巧妙地融入实践项目之中,让你在动手操作的过程中,深刻理解背后的原理。 由浅入深的教学体系: 无论你是零基础还是有一定基础,都能找到适合自己的学习路径。我们会从最基础的概念讲起,逐步深入到更复杂的应用,确保每一个读者都能循序渐进地掌握知识。 丰富的案例与项目解析: 大量的真实案例分析将帮助你理解互动设计的应用场景和落地方法。书中精心设计的实践项目,将让你有机会亲手完成一件件充满创意的互动作品,从零开始体验设计、开发到最终实现的完整过程。 强调创新思维的培养: 互动设计的核心是创意。本书将通过引导性的提问、启发性的案例和开放式的项目设计,鼓励你跳出思维定势,大胆尝试,形成自己独特的创新风格。 踏上这段精彩的旅程 互动设计是一个充满活力和无限可能的领域,它正在深刻地改变着我们的生活方式和思维模式。掌握互动设计的技能,不仅意味着掌握一项前沿的技术,更意味着拥抱一种创新、创造的思维方式。 准备好迎接挑战了吗?翻开本书,你将走进一个全新的世界,在这里,你不再是被动的使用者,而是主动的创造者。你将有机会将你的每一个奇思妙想,都变成能够打动人心的互动体验。 别再犹豫,让我们一起踏上这段精彩绝伦的互动设计探索之旅,用你的双手和智慧,点亮数字世界的无限可能!