Arduino技术内幕目录
1.1什么是arduino 1?
1.2arduino uno 2
1.2.1处理器3
1.2.2串口4
1.2.3电源5
1.2.4扩展插座6
1.2.5屏蔽8
1.3 arduino mega 2560 11
1.4之前的硬件12
1.4.1arduino序列号12
1.4.2arduino usb 13
1 . 4 . 3 arduino extreme 14
1.4.4 Arduino四星龙通用(新一代)14
1 . 4 . 5 arduino diecimila 14
1 . 4 . 6 arduino duemilanove 15
1.4.7arduino mega 15
1.5谁在做arduino 15?
1.5.1官方授权产品15
. 1.5.2其他17
1.6自己动手arduino 17
1 . 6 . 1 arduino PCB 17
1.6.2面包板arduino 18
1.7汇总19
第二章软件21
2.1主机和目标21
2.2循序渐进21
第一步:编写代码22
2.2.2步骤2:编译代码27
2.2.3步骤3:对芯片进行编程28
2.2.4步骤4:测试和调试29
2.2.5步骤5:重复29
2.3半自动29
2.4进一步33
2.5摘要33
第3章atmel avr 34
3.1原点34
3.2avr芯片系列34
3.3如有疑问:芯片设备手册35
3.4芯片封装35
3.4.1倾角)35
3.4.2表面贴装器件(smd) 36
额外引脚37
3.5引脚定义37
3.6avr内核43
3.6.1时钟源45
地址空间46
指令集49
3.7片内外设54
通用输入/输出(i/o) 55
外部中断55
定时器/计数器56
3.7.4usart 57
3.7.5双线串行接口(twi),即i2c 57。
模拟输入58
3.8摘要58
第4章支持硬件59
4.1电路图59
4.1.1组件类型60
4.1.2部件号60
4.1.3元件值61
4.1.4元件值误差61
4.1.5组件的其他参数62
4.1.6连接62
4.2电路板的电源63
4.2.1接线柱电源插座63
4.2.2输入电源调整63
电压调节器65
4.2.4电源电路的演变65
4.3串行端口67
4.4处理器69
4.4.1功耗69
4.4.2i/o驱动能力70
复位信号70
4.4.4时间基准
4.4.5去耦电容71
4.4.6闪光灯71
4.5扩展空间71
4.6结构形状72
4.7通用串行总线(usb):信号加电源73
4.8摘要74
第5章arduino软件75
5.1开源软件76
5.2多平台支持76
5.3 Arduino 76的继承和发展
5.4软件安装77
5.5练习77
5.6用户界面78
文件菜单79
编辑菜单和编辑上下文菜单80
5 . 6 . 3按键菜单80
5 . 6 . 4工具菜单81
帮助菜单82
5.7摘要82
第六章优化83
6.1可行性83
6.2压缩闪存程序83
6.2.65438如何实现+0闪烁84
6.2.2衡量空间节省的优化措施84
代码分析84
6.2.4没有pinmode的生活()85
6.2.5缩写和简称86
6.2.6二进制书写87
深入分析87
6.2.8轻松翻转88
进一步精简88
6.2.10更有效地“浪费时间”89
6.2.11下级代码89
6.3使用简单的串行通信以节省空间90
6.3.1“你好,世界!”你做了什么?91
6.3.2写入配置寄存器91
发送数据93
6.3.4一串字符94
6.3.5输出编号95
6.4保存sram 96
6.4.1 sram 96用于测量
6.4.2最低裸机98
内存分区99
变量100的位置
使用适当的数据类型100。
6.4.6重新探索字符串101
6.5低功耗还是高速度?102
6.6电子测量103
6.6.1使用arduino作为测试仪器103
6.6.2尽快105
6.6.3减速108
6.6.4进一步降低功耗110。
6.7汇总112
第七章硬件和软件113
7.1可用外设113
7.1.1串口113
7.1.2通用数字输入和输出119
7.1.3定时器和计数器121
7.1.4脉宽调制(pwm)输出124
7.1.5模拟输入129
7.1.6外部中断133
7.1.7中断手册135
7.2汇总137
第八章样板工程139
8.1不仅仅是一个闪烁的led:从简单139开始。
8.1.1够慢了142
8.1.2优化后的六通道调光器基本完成144。
8.1.3变暗147
8.2闪光led的其他用途154
8.2.1红外遥控器154
8 . 2 . 2电视-广播-播出156
8.3多个闪烁led 157
8.3.1直接驱动157的示例
8.3.2用led驱动器直接驱动159。
8.3.3复用技术160
8.4数字时钟174
8.4.1精确度179
用户界面180
8.4.3其他功能180
8.5汇总181
第九章项目管理182
9.1文档182
9.1.1源代码注释183
9.1.2空间184
9.1.3按你的意思编程,按你的代码解释185。
9.1.4自动文档186
9.1.5为您的“读者”186
9.1.6硬件文档187
9.1.7进一步188
9.2团队合作和协作发展189
博客190
9.2.2论坛190
维基191
9.2.4修改后的控制系统191
9.2.5修订号和版本号192的描述
9.2.6作品发布网站192
9.3选择许可方式195
9.3.1专利和商标195
版权196
9.3.3开源197
9.3.4公共领域198
9.4摘要199
第10章硬件设计200
10.1了解硬件200
10.1.1必备的东西201
想要点什么202
10.2红外接近传感器203
一个简单的原型205
一些简单的改进207
印刷电路板210
10.2.4pcb布局技术
第一次尝试212
10.2.6较小版本214
连接215
10.3定制的arduino 216。
10.3.1兼容现有arduino和屏蔽板216。
10.3.2可能的电源选择217
处理器选择218
10.3.4还有呢?219
10.4设计软件219
10 . 4 . 1 CAD soft eagle 220
鹰尖220
10.5汇总221
第11章软件设计222
11.1arduino高级主题222
11.1写arduino库222
11.1.2备选内核229
不需要11.2 arduino 239。
11.2.1裸机再探239
11.2.2其他开发环境242
11.3汇总245
第12章联网246
12.1对等网络246
12.1.1通过串口246通话
12.1.2arduino 248之间的对话
12.2midi:乐器数字接口260
12.3互联网264
12.4摘要268
第13章更多作品样本269
一个自动机器人269
13.2电源270
13.3动作控制270
13.4传感器276
13.4.1光敏传感器276
接触传感器277
13.4.3非接触传感器278
13.4.4声音传感器279
13.4.5指示器、控制器和其他通信形式279
65438+3.5控制系统281
13.5.1开环系统
13.5.2闭环系统282
13.6机器人工程示例283
1一个练习机器人284
下一个机器人304
13.6.3你的终极机器人318
13.7汇总319