本书顺应创客的热潮,通过50余个有趣的创意案例,手把手带领读者通过实际动手的方式学习Arduino电子设计。本书共10章,分为3篇。书中从编程的概念和电子硬件的基础知识展开讲解,使得读者能够从“听说”Arduino到“精通”Arduino开发。本书内容涉及Arduino常用开发板、开发环境、开发语言、命令与函数、硬件要求、开发流程等基础知识;另外还涉及物联网、Web开发、TCP/IP通信、安卓开发、MS WPF开发、云平台、蓝牙、红外通信和各种传感器等应用。本书适合广大电子设计爱好者、创客、创客教育从业者、大中专学生和中学生等群体阅读。另外,本书非常适开设电子设计课程的学校作为教材使用,书中众多的动手小例子非常适合教学实验。
封面图
目录
- 前言
- 第1篇 认识Arduino
- 第1章 Arduino简介2
- 1.1 什么是Arduino2
- 1.2 Arduino的特点3
- 1.3 Arduino的应用领域4
- 1.4 小结4
- 第2章 常用Arduino开发板5
- 2.1 Arduino Uno开发板5
- 2.1.1 特点5
- 2.1.2 电气属性6
- 2.1.3 接口介绍6
- 2.2 Arduino Mega 2560开发板8
- 2.2.1 特点9
- 2.2.2 电气属性9
- 2.2.3 接口介绍9
- 2.3 Arduino Pro Mini开发板11
- 2.3.1 特点12
- 2.3.2 电气属性12
- 2.3.3 接口介绍13
- 2.4 小结14
- 第2篇 轻松上手Arduino开发
- 第3章 Arduino开发环境搭建16
- 3.1 开发环境16
- 3.2 搭建Arduino开发环境17
- 3.2.1 Windows系统下Arduino IDE的搭建18
- 3.2.2 Mac OS X系统下Arduino开发环境的搭建25
- 3.2.3 Linux系统下Arduino开发环境的搭建26
- 3.3 小结28
- 第4章 Arduino开发语言29
- 4.1 开发语言29
- 4.2 程序结构30
- 4.2.1 程序的基本结构30
- 4.2.2 变量定义32
- 4.2.3 函数和类库33
- 4.2.4 自定义函数35
- 4.2.5 自定义类库38
- 4.3 小结43
- 第5章 Arduino命令和函数44
- 5.1 基本语法符号44
- 5.1.1 标识符44
- 5.1.2 分隔符45
- 5.1.3 注释符45
- 5.1.4 运算符46
- 5.1.5 数据类型51
- 5.1.6 常量60
- 5.1.7 数据类型互转61
- 5.1.8 变量的操作62
- 5.1.9 预处理64
- 5.1.10 指针64
- 5.2 条件语句67
- 5.2.1 if语句67
- 5.2.2 switch语句69
- 5.2.3 while语句71
- 5.2.4 do···while语句72
- 5.2.5 for语句73
- 5.2.6 break语句74
- 5.2.7 continue语句74
- 5.2.8 goto语句74
- 5.3 数字I/O操作函数75
- 5.4 模拟I/O操作函数77
- 5.5 高级I/O操作函数78
- 5.6 时间函数80
- 5.7 随机数函数81
- 5.8 中断函数82
- 5.9 数据处理函数84
- 5.10 串口通信92
- 5.11 小结94
- 第6章 Arduino开发硬件要求95
- 6.1 必要的硬件95
- 6.1.1 Arduino开发板95
- 6.1.2 电源95
- 6.1.3 杜邦线96
- 6.1.4 面包板96
- 6.2 其他硬件97
- 6.2.1 小元件97
- 6.2.2 模块98
- 6.3 小结98
- 第7章 Arduino项目开发流程99
- 7.1 硬件搭建99
- 7.1.1 Arduino开发板的选择99
- 7.1.2 布线100
- 7.1.3 其他100
- 7.2 编程流程100
- 7.3 小结101
- 第3篇 一起动手做Arduino实验
- 第8章 Arduino基础实验104
- 8.1 LED的控制104
- 8.1.1 单个单色LED的控制105
- 8.1.2 三色LED的控制107
- 8.1.3 多个LED的控制110
- 8.1.4 调节LED的亮度112
- 8.2 信号输入114
- 8.2.1 按键115
- 8.2.2 电位器118
- 8.3 电机控制121
- 8.3.1 直流电机121
- 8.3.2 舵机125
- 8.3.3 步进电机128
- 8.4 继电器控制131
- 8.5 传感器134
- 8.5.1 碰撞传感器135
- 8.5.2 火焰传感器137
- 8.5.3 霍尔传感器138
- 8.5.4 气体传感器140
- 8.5.5 光电传感器141
- 8.5.6 超声波测距传感器143
- 8.5.7 红外人体感应传感器146
- 8.6 小结148
- 第9章 Arduino进阶实验150
- 9.1 LED的控制150
- 9.1.1 LED点阵的控制150
- 9.1.2 LED数码管155
- 9.1.3 串行控制LED点阵160
- 9.2 传感器168
- 9.2.1 温、湿度传感器168
- 9.2.2 气压传感器174
- 9.2.3 陀螺仪加速度传感器179
- 9.2.4 颜色传感器185
- 9.3 数据通信190
- 9.3.1 蓝牙数据传输190
- 9.3.2 单向无线数据传输196
- 9.3.3 2.4GHz频段的数据传输199
- 9.3.4 红外通信204
- 9.3.5 接入以太网209
- 9.3.6 WiFi通信217
- 9.3.7 GSM通信225
- 9.3.8 GPS定位227
- 9.4 数据读写230
- 9.4.1 内置EEPROM使用230
- 9.4.2 外置Flash芯片使用232
- 9.4.3 SD卡读写235
- 9.4.4 RFID读写241
- 9.4.5 实时时钟245
- 9.5 积木扩展板248
- 9.5.1 扩展板的功能248
- 9.5.2 电机扩展板248
- 9.6 图形显示250
- 9.6.1 LCD1602液晶显示屏251
- 9.6.2 OLED12864有机发光二极管显示屏255
- 9.7 蜂鸣器259
- 9.8 使用彩色显示屏261
- 9.9 小结263
- 第10章 Arduino高级实验264
- 10.1 Arduino与Microsoft WPF264
- 10.1.1 WPF实现Hello World264
- 10.1.2 建立串口通信269
- 10.1.3 颜色测试小工具275
- 10.1.4 温度曲线图278
- 10.1.5 通过网络控制LED284
- 10.2 Arduino与Android288
- 10.2.1 Android实现Hello World289
- 10.2.2 建立USB串口通信296
- 10.2.3 安防联动306
- 10.3 Arduino典型应用314
- 10.3.1 个性键(盘)鼠(标)外设314
- 10.3.2 上位机操作I/O317
- 10.3.3 接入云平台319
- 10.3.4 下载引导程序322
- 10.4 小结325
- 附录A 运算符优先级和结合性参考表326