新書推薦:
《
迷人的化学(迷人的科学丛书)
》
售價:HK$
147.2
《
宋代冠服图志(详尽展示宋代各类冠服 精美插图 考据严谨 细节丰富)
》
售價:HK$
87.4
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
79.4
《
加加美高浩的手部绘画技法 II
》
售價:HK$
91.8
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
89.7
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
193.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
135.7
|
編輯推薦: |
编辑推荐:
快速精通Arduino编程的实战指南,深入透彻讲解Arduino的编程语言,快速掌握编程技能与作品实践操作。
原Arduino中国董事总经理陈愈容、创客布道师程晨、知名创客教师吴俊杰联合推荐。
丛书解读:
“创客+”丛书希望成为创客的“水果书”,水果美味又富有营养,缤纷的色彩又能激发无限创意。丛书通过甄选全球更好的作品与作译者,提供好玩又有趣的创客知识,激发大小创客们更多创造的灵感,玩出乐趣,创出梦想。
|
內容簡介: |
内容特色:
Arduino编程涵盖了学习Arduino所需的各方面知识。更关键的是,Arduino编程解析了Arduino的编程语言,以及在根据设计需要添加程序库之后我们可以获得哪些额外的功能。同时贯穿整Arduino编程的大量实例对电子电路方面的知识也进行了讲解。
阅读Arduino编程,Arduino可以变成你的“画布”,而你所编写的程序可以成就你的数字杰作。Arduino编程非常适合创客,帮助他们创造出令人惊讶的应用程序,让日常任务智能化。并且Arduino编程也同样适用于对Arduino编程感兴趣的开发者。
阅读Arduino编程你将学到:
通过以太网、Wi-Fi、USB、Firmata的多种通信方式。
如何查找、导入和更新用户库,并学会创建自己的库。
探究专门为外设创建的特定设备库的用法。内容特色:
Arduino编程涵盖了学习Arduino所需的各方面知识。更关键的是,Arduino编程解析了Arduino的编程语言,以及在根据设计需要添加程序库之后我们可以获得哪些额外的功能。同时贯穿整Arduino编程的大量实例对电子电路方面的知识也进行了讲解。
阅读Arduino编程,Arduino可以变成你的“画布”,而你所编写的程序可以成就你的数字杰作。Arduino编程非常适合创客,帮助他们创造出令人惊讶的应用程序,让日常任务智能化。并且Arduino编程也同样适用于对Arduino编程感兴趣的开发者。
阅读Arduino编程你将学到:
通过以太网、Wi-Fi、USB、Firmata的多种通信方式。
如何查找、导入和更新用户库,并学会创建自己的库。
探究专门为外设创建的特定设备库的用法。
掌握使用Arduino Due、Esplora、Yun和Robot板。
如何播放音频,控制LED、键盘、鼠标,以及实现更多功能的好方法。
|
關於作者: |
詹姆斯 A.兰布里奇是一名软件顾问,专门从事嵌入式系统和代码优化。他在航空、国防、工业领域及电信行业有超过十余年的工作经验。他也是意法半导体公司和Amtel的研发顾问。工作之余他做过嵌入式系统工程师培训工作,帮助开发人员快速获得提升。或者做一些令他的同事爱不释手的小玩意。
詹姆斯在他六岁的时候就写了他人生的第1个程序,此后从未间断。他开始使用苹果IIs、ZX80s和ZX81s,随后开始使用BBC Micros和Amiga,到后来开始使用计算机进行工作与创作。
|
目錄:
|
第1部分Arduino的基本知识
第1章Arduino的简介
1.1Atmel AVR
1.2Arduino 项目
1.3ATmega
1.3.1ATmega系列
1.3.2ATtiny系列
1.3.3其他系列
1.4不同的Arduino
1.4.1Arduino Uno
1.4.2Arduino Leonardo
1.4.3Arduino Ethernet
1.4.4Arduino Mega 2560
1.4.5Arduino Mini
1.4.6Arduino Micro
1.4.7Arduino Due
1.4.8LilyPad Arduino
1.4.9Arduino Pro
1.4.10Arduino Robot
1.4.11Arduino Esplora
1.4.12Arduino Yún
1.4.13Arduino Tre
1.4.14Arduino Zero
1.4.15你自己的Arduino
1.5扩展板
1.5.1什么是扩展板
1.5.2不同的扩展板
1.5.3Arduino电动机扩展板
1.5.4Arduino无线SD扩展板
1.5.5Arduino以太网扩展板
1.5.6Arduino WiFi扩展板
1.5.7Arduino GSM扩展板
1.5.8你自己的扩展板
1.6你能用Arduino做什么
1.7你需要为本书准备什么
1.8小结
第2章Arduino编程
2.1安装环境
2.1.1下载软件
2.1.2运行软件
2.1.3使用自己的IDE
2.2你的第一个程序
2.3理解你的程序
2.4编程基础
2.4.1变量和数据类型
2.4.2控制结构
2.4.3函数
2.4.4库
2.5小结
第3章电子基础
3.1电子入门
3.2电压、电流和电阻
3.2.1电压
3.2.2电流
3.2.3电阻
3.3基本元器件
3.3.1电阻
3.3.2电容
3.3.3二极管
3.3.4发光二极管
3.3.5晶体管
3.4面包板
3.5输入和输出
3.6连接发光二极管
3.6.1计算
3.6.2软件
3.6.3硬件
3.6.4接下来呢
3.7小结
第2部分标准程序库
第4章Arduino语言
4.1IO函数
4.1.1数字IO
4.1.2模拟IO
4.1.3生成音调
4.1.4读取脉冲
4.2时间函数
4.2.1delay()
4.2.2delayMicroseconds()
4.2.3millis()
4.2.4micros()
4.3数学函数
4.3.1min()
4.3.2max()
4.3.3constrain()
4.3.4abs()
4.3.5map()
4.3.6pow()
4.3.7sqrt()
4.3.8random()
4.4三角函数
4.4.1sin()
4.4.2cos()
4.4.3tan()
4.4.4常量
4.5中断
4.5.1attachInterrupt()
4.5.2detachInterrupt()
4.5.3noInterrupt()
4.5.4interrupts()
4.6小结
第5章串口通信
5.1串口通信的简介
5.2UART通信
5.2.1波特率
5.2.2数据位
5.2.3奇偶校验位
5.2.4停止位
5.3调试和输出
5.4启动一个串行连接
5.5写数据
5.5.1发送文本
5.5.2发送数据
5.6读数据
5.6.1开始通信
5.6.2是否阻塞
5.6.3读取一个字节
5.6.4读取多个字节
5.6.5数据预览
5.6.6解析数据
5.6.7清除
5.7示例编程
5.8软件串口
5.9小结
第6章EEPROM
6.1EEPROM的简介
6.2Arduino上的不同存储器
6.3EEPROM库
6.3.1读取和写入字节
6.3.2读取和写入位
6.3.3读取和写入字符串
6.3.4读取和写入其他值
6.3.5示例程序
6.4准备EEPROM存储
6.5扩展非易失性存储器
6.6小结
第7章SPI
7.1SPI的简介
7.2SPI总线
7.2.1与RS232比较
7.2.2配置
7.2.3通信
7.3Arduino SPI
7.4SPI库
7.5Arduino Due上的SPI
7.6示例程序
7.6.1硬件
7.6.2程序
7.6.3练习
7.7小结
第8章Wire
8.1Wire的简介
8.2连接I2C
8.3I2C协议
8.3.1地址
8.3.2通信
8.4进行通信
8.4.1主机通信
8.4.2从机通信
8.5陷阱和缺陷
8.5.1不同电压
8.5.2总线速率
8.5.3I2C扩展板
8.6小结
第9章Ethernet
9.1以太网的简介
9.2以太网
9.2.1以太网电缆
9.2.2交换机和集线器
9.2.3以太网供电
9.3TCPIP
9.3.1MAC地址
9.3.2IP地址
9.3.3DNS
9.3.4端口
9.4Arduino上的以太网
9.4.1导入Ethernet库
9.4.2开始构建以太网
9.5Arduino作为客户端
9.5.1发送和接收数据
9.5.2示例程序
9.5.3Arduino作为服务器
9.5.4示例程序
9.6小结
第10章WiFi
10.1引言
10.2WiFi协议
10.2.1拓扑
10.2.2网络参数
10.3Arduino WiFi
10.3.1导入库
10.3.2初始化
10.3.3状态
10.3.4扫描网络
10.3.5连接和配置
10.3.6无线客户端
10.3.7无线服务器
10.4示例应用
10.4.1硬件
10.4.2程序
10.4.3练习
10.5小结
第11章LiquidCrystal
11.1引言
11.2LiquidCrystal库
11.2.1写入文本
11.2.2光标命令
11.2.3文本方向
11.2.4滚动
11.2.5自定义文本
11.3示例程序
11.3.1硬件
11.3.2软件
11.3.3练习
11.4小结
第12章SD
12.1引言
12.2SD卡
12.2.1容量
12.2.2速率
12.3在Arduino中使用SD卡
12.3.1公认的SD卡
12.3.2限制
12.4SD库
12.4.1导入库
12.4.2连接SD卡
12.4.3打开和关闭文件
12.4.4读取和写入文件
12.4.5文件操作
12.4.6SD卡操作
12.4.7高级用法
12.5示例程序
12.6小结
第13章TFT
13.1引言
13.2技术
13.3TFT库
13.3.1初始化
13.3.2屏幕准备
13.3.3文本操作
13.3.4基本图形
13.3.5上色
13.3.6图形图像
13.4示例程序
13.4.1硬件
13.4.2程序
13.4.3练习
13.5小结
第14章Servo
14.1伺服电动机的简介
14.2控制伺服电动机
14.2.1连接伺服电动机
14.2.2转动伺服电动机
14.2.3断开
14.2.4准确性与安全性
14.3示例程序
14.3.1电路图
14.3.2程序
14.3.3练习
14.4小结
第15章Stepper
15.1电动机的简介
15.2控制步进电动机
15.2.1硬件
15.2.2单极性与双极性步进电动机
15.3Stepper库
15.4示例项目
15.4.1硬件
15.4.2程序
15.5小结
第16章Firmata
16.1Firmata的简介
16.2Firmata库
16.2.1发送消息
16.2.2接收消息
16.2.3回调
16.2.4SysEx
16.3示例程序
16.4小结
第17章GSM
17.1全球移动通信系统(GSM)的简介
17.2移动数据网络
17.2.1GSM
17.2.23G
17.2.34G和未来
17.2.4调制解调器
17.3Arduino和GSM
17.4Arduino GSM库
17.4.1GSM类
17.4.2SMS类
17.4.3VoiceCall类
17.4.4GPRS
17.4.5Modem
17.5应用示例
17.6小结
第3部分特殊设备程序库
第18章Audio
18.1音频的简介
18.2数字语音文件
18.3Arduino上的音乐
18.4Arduino Due
18.4.1数模转换器
18.4.2数字音频到模拟音频
18.4.3创建数字音频
18.4.4存储数字音频
18.4.5播放数字音频
18.5示例程序
18.5.1硬件
18.5.2程序
18.5.3练习
18.6小结
第19章Scheduler
19.1调度器的简介
19.2Arduino多任务
19.3调度
19.3.1多任务合作
19.3.2非合作函数
19.4示例程序
19.4.1硬件
19.4.2程序
19.4.3练习
19.5小结
第20章USBHost
20.1USBHost的简介
20.2USB协议
20.3USB设备
20.3.1键盘
20.3.2鼠标
20.3.3集线器
20.4Arduino Due
20.5USBHost库
20.5.1键盘
20.5.2鼠标
20.6示例程序
20.6.1硬件
20.6.2源代码
20.7小结
第21章Esplora
21.1Esplora的简介
21.2Arduino Esplora库
21.2.1RGB LED
21.2.2传感器
21.2.3按键
21.2.4蜂鸣器
21.2.5TinkerKit
21.2.6LCD模块
21.3示例程序和练习
21.4小结
第22章Robot
22.1Robot库的简介
22.2Arduino机器人
22.3Robot库
22.3.1控制板
22.3.2电动机板
22.4示例程序和练习
22.5小结
第23章Bridge
23.1Bridge库的简介
23.2Bridge
23.2.1Process
23.2.2FileIO
23.2.3YunServer
23.2.4YunClient
23.3示例应用程序
23.3.1硬件
23.3.2程序
23.3.3练习
23.4小结
第4部分用户程序库和扩展板
第24章导入第三方库
24.1库
24.1.1查找库
24.1.2导入一个库
24.1.3使用扩展库
24.2示例应用程序
24.3练习
24.4小结
第25章创建你自己的扩展板
25.1创建一个扩展板
25.1.1想法
25.1.2必备硬件
25.1.3必备软件
25.2你的第一个扩展板
25.2.1第1步: 面包板
25.2.2第2步: 原理图
25.2.3第3步: PCB
25.3小结
第26章创建你自己的库
26.1库
26.1.1库基础
26.1.2初级库
26.1.3高级库
26.1.4添加注释
26.1.5添加示例
26.1.6须知
26.1.7编码风格
26.1.8发布你的库
26.1.9闭源库
26.2示例库
26.2.1库
26.2.2示例
26.2.3须知
26.2.4收尾
26.3小结
|
內容試閱:
|
Arduino为我们开辟了一个新世界。无论是业余爱好者还是专业人员都能够利用Arduino系统创造出一些精彩复杂的设备来帮助他们完成一个个引人入胜的小玩意。按下按钮点亮一盏灯。这样的简单设备可以驱动3D打印。你可以把Arduino应用于很多设备中。
要开启这一切。Arduino需要使用一款编程软件来进行设计以帮助你完成程序。它们在与外界通信时会注意项目本身的逻辑性。为了提供更多的帮助。Arduino自带程序库。可以根据需求安装软件。也根据应用程序以及硬件需要添加程序。Arduino编程用实例对每个程序进行了详解。
Arduino编程介绍了Arduino的编程环境。你可能会用到的软件程序。以及在遇到各种不同的Arduino开发板时应该选用哪种程序库。Arduino可以变成你的“画布”。而你所编写的程序可以成就你的数字杰作。
关于Arduino编程以及相关技术的概述
Arduino编程涵盖了学习Arduino所需的各方面知识。介绍了目前市场上常见的Arduino开发板,解释了如何下载并运行软件以及如何编程。更关键的是,Arduino编程解析了Arduino的编程语言,以及在根据设计需要添加程序库之后我们可以获得哪些额外的功能。同时贯穿整Arduino编程的大量实例对电子电路方面的知识也进行了入门级的讲解。
Arduino编程的结构框架
Arduino编程为帮助想要学习Arduino编程的人提供了尽可能多的信息,Arduino编程分成四个部分。
第1部分,“Arduino的基本知识”第1~3章对Arduino进行了概述。包括它们的来源以及为什么需要去学习。介绍了Arduino的编程语言、C语言的入门知识以及电子方面的基本知识,也对编程中常用的组件部分进行了讲解。
第2部分,“标准程序库”(第4~17章 详细阐述了每种Arduino开发板可能用到的程序库,也就是说你可以根据不同的功能需要以及硬件支持选用不同的软件组件。每个程序库按章呈现,其使用方法会结合具体的实例进行解释,有助于理解其用途.
第3部分,“特殊设备程序库”(第18~23章 主要介绍特殊类型的Arduino开发板所用的程序库,可以将其加载到新的软件中与硬件设备连接或者完成指定任务。此外,每一个库中程序的使用都提供了相应的示例。
第4部分,“用户程序库和扩展板”第24~26章。这一部分是关于Arduino的进一步研究,说明了如何导入用户的程序库以及如何设计、分享自己的程序。介绍了如何将一个电路板加到你的板子中以增加一些功能,并形成自己的扩展板。
谁应该读Arduino编程
Arduino编程主要适用对象为创客。他们知道如何能够创造出令人惊讶的应用程序,如何使日常任务智能化。当然Arduino编程也同样适用于对Arduino编程感兴趣的开发者。
需要的工具
每一章都有示例。每一章的开头部分都准确地列出了学习该章所需要的工具。根据Arduino编程中的示例介绍。我们需要以下的硬件:
●计算机
●USB数据线以及微型USB数据线
●5V电源
●面包板和与其相适应的导线
●几种Arduino开发板: 两个Arduino Uno、Arduino Due、Arduino Mega 2560、Arduino Esplora、Arduino Robot、Arduino各一个
●SainSmart LCD扩展板
●SainSmart以太网扩展板
●LM35温度传感器
●SD存储卡
●Adafruit ST7735 TFT接口板
●Adafruit MAX31855接口板
●K型热电偶丝
●Adafruit的SI1145 UV传感器板
●SainSmart的Wi-Fi无线扩展板
●DHT11湿度传感器
●HC-SR04超声波测距传感器
●HYX-S0009或者伺服电动机
●L293D
●5V双极步进电动机
●红绿蓝LED灯
●10kΩ电阻
●4.7kΩ电阻关于网站
书中的案例的源代码都可以从www.wiley.comgoarduinosketches网站下载。
总结
Arduino开发是一个有趣的话题。它为人们打开一个拥有无数可能的新世界。Arduino不仅非常适合嵌入式开发的学习,也适用于将日常生活智能化,或者是用它做出一些夺人眼球的小玩意。在Arduino编程中你会看到许多关于如何制作一个简单设备的示例讲解,详细地从硬件原理图开始直到你能够组装设备并运行程序。
对每个程序的介绍以及对不同功能的解释能够帮助你获得更想要的运行效果。每个程序库中都提供了相应的示例,逐行显示的代码帮助你理解整个程序在做什么。希望在你启动新项目的时候,Arduino编程能够为你提供一些参考,帮助你玩得开心!
|
|