本书是一本Arduino基础教程,旨在帮助读者实现Arduino开发快速入门。全书详略得当,可以帮助读者快速掌握Arduino基础知识;本书后半部分着力讲解各种相关器件的使用,让读者可以在最短时间内实现自己的电子设计构想。
全书共16章,分为3篇。内容涉及Arduino认识、电路设计软件Fritzing、Ardunio IDE的安装和使用、编程语言基础、通用元器件、LED、蜂鸣器、按钮、电位器、光敏电阻、火焰传感器、湿度传感器、红外线收发、液位传感器、LCD、麦克风、超声波、RFID、RTC、伺服电机、步进电机等。,本书还讲解了一个创新性实战案例——打地鼠,帮助读者扩展思路,启发创意。
由于本书内容从Arduino基础部分开始,所以非常适合入门读者学习。同时,在讲解的时候涉及了大量各种器件的应用,所以本书也适合作为电子设计人员阅读和参考。
一分钟了解本书内容
Arduino概述
电路设计软件Fritzing
Arduino IDE的安装与使用
Arduino编程语言基
通用元器件介绍
发光二极管LED
蜂鸣器
按钮
电位器
光敏电阻和常见传感器
LCD
声音模块
RFID——射频识别
实时时钟——RTC
伺服电机和步进电机
用Arduino做游戏——打地鼠
快速入门:零门槛学Ardunio开发,只需5章内容就可以快速入门,设计产品,实现自己的创意和想法
大量器件:讲解24种常见的元器件和7种传感器,重点讲解了RFID和控制电机等器件
第三方库:精挑细选高性能代码库并结合元器件进行了充分讲解
实例丰富:所有的器件和代码库都配有完整实例,全书112个实例
创新思想:讲解时注重传达创新思想,后以迭代的思路实现了一个创意实例——打地鼠
答疑解惑:提供QQ群、技术论坛坛和电子邮件等方式解答读者的疑问
推荐阅读(请点丛书链接查看)
简简单单学通51单片机开发》 (一个电子技术狂热爱好者、研发者的感悟!)
玩转四轴飞行器》 (国内本四轴飞行器图书)
妙趣横生的算法 (C语言实现)第2版》 (经典畅销书,算法入门必读)
妙趣横生的算法 (C 语言实现)》 (算法入门必读经典!)
程序员的数学思维修炼(趣味解读)》 (专为程序员而写,生动有趣)
C语言入门很简单》(菜鸟快速入门必读,10小时配套视频)
C语言入门1.2.3——一个老鸟的C语言学习心得》(看得懂,学得会,10小时配套视频)
杨佩璐,现任教于山东中医药大学理工学院。长期从事计算机相关课程的教学和课题研究,先后发表过多篇相关论文,并出版了多部计算机类图书。
任昱衡,高级硬件工程师。中国电子商务协会电子商务研究院副院长。担任多所高校的客座讲师,从事相关教学和科研活动。先后发表过多篇相关论文,出版过多部图书。
第1篇 Arduino开发基
第1章 Arduino概述
1.1 Arduino的起源
1.2 术语Arduino的含义
1.2.1 Arduino的硬件
1.2.2 Arduino的软件
1.2.3 Arduino的社区
1.3 Arduino的硬件产品——主板
1.3.1 Arduino UNO
1.3.2 Arduino Leonardo
1.3.3 Arduino Due
1.3.4 Arduino Yún
1.3.5 Arduino Tre
1.3.6 Arduino Micro
1.3.7 Arduino Robot
1.3.8 Arduino Esplora
1.3.9 Arduino Mega系列
1.3.10 Arduino Ethernet
1.3.11 Arduino Mini
1.3.12 LiLyPad Arduino系列
1.3.13 Arduino Nano
1.3.14 Arduino Pro系列
1.3.15 Arduino Fio
1.3.16 Arduino Zero
1.4 Arduino的硬件产品——盾板
1.4.1 Arduino GSM盾板
1.4.2 Arduino Ethernet盾板
1.4.3 Arduino WiFi盾板
1.4.4 Arduino Wireless SD盾板
1.4.5 Arduino Motor盾板
1.4.6 Arduino Wireless Proto盾板
1.4.7 Arduino Proto盾板
1.5 Arduino硬件产品——新手套件
1.6 Arduino硬件产品——附件
1.6.1 TFT LCD屏幕
1.6.2 微型USB/Serial适配器
1.6 Arduino UNO
1.6.1 Arduino UNO上的主要元器件
1.6.2 Arduino UNO上的端口
1.7 Arduino可以做什么
第2章 电路设计软件Fritzing
2.1 Fritzing基
2.1.1 Fritzing的下载与安装
2.1.2 认识Fritzing的主面板
2.2 Fritzing的元件库
2.2.1 元件的组织形式
2.2.2 导入元件库
2.2.3 导出元件库
2.3 编辑元件
2.3.1 Fritzing的元件编辑器
2.3.2 制作元件的面包板视图
2.3.3 制作元件的原理图视图
2.3.4 制作元件的PCB视图
2.3.5 元件编辑器的图标和元数据视图
2.3.6 关联所有视图的针脚
2.4 画出手电筒的电路图
第3章 Arduino IDE安装与使用
3.1 Arduino IDE安装
3.1.1 Arduino IDE安装包下载
3.1.2 使用二进制安装包安装Arduino IDE
3.1.3 使用压缩包形式安装Arduino IDE
3.1.4 Arduino IDE中文化
3.2 Windows7下的Arduino驱动安装
3.2.1 自动安装Arduino驱动
3.2.2 手动安装Arduino驱动
3.3 在Arduino上运行程序
3.3.1 Arduino IDE主界面简介
3.3.2 运行一个闪烁LED示例程序
3.3.3 运行一个控制台输出示例程序
3.4 Arduino IDE编码流程
3.4.1 创建、保存和打开源文件
3.4.2 编辑源文件
3.4.3 校验源文件
3.4.4 下载程序到开发板
3.5 高级的Arduino IDE——MariaMole
第4章 Arduino编程语言基
4.1 Arduino程序必要的setup()和loop
4.2 程序中的值
4.2.1 变量和常量
4.2.2 变量类型
4.2.3 变量的作用域和修饰符
4.2.4 获取变量大小的工具——sizeof
4.2.5 变量类型转换
4.3 运算符
4.3.1 数学运算符
4.3.2 比较运算符
4.3.3 布尔运算符
4.3.4 指针运算符
4.3.5 位运算符
4.3.6 复合运算符
4.4 语法进阶
4.4.1 预定义命令#define和#include
4.4.2 语句和语句块
4.4.3 注释
4.5 控制结构
4.5.1 条件判断语句if和if…else
4.5.2 跳转语句break、continue、return和goto
4.5.3 分支语句switch case
4.5.4 循环语句while和do…while
4.5.5 循环语句for
4.6 函数
4.6.1 系统函数
4.6.2 调用函数
4.6.3 自定义函数
4.7 C 语言的类和对象
4.7.1 类
4.7.2 对象
4.8 库
4.8.1 Arduino官方库
4.8.2 使用第三方库和创建自己的库
第2篇 Arduino元器件篇
第5章 通用元器件介绍
5.1 导线、电缆和连接器
5.2 电阻
5.2.1 概念
5.2.2 阻值识别
5.2.3 欧姆定律
5.2.4 电阻的作用
5.2.5 电阻的串联与并联
5.3 面包板
第6章 发光二极管LED
6.1 使用到的专用器件
6.2 驱动单个LED程序
6.2.1 使用数字针脚点亮LED
6.2.2 使用模拟针脚点亮LED
6.2.3 使用LED发送S.O.S摩尔斯码
6.2.4 使用LED发送摩尔斯电码
6.2.5 LED跑马灯
6.2.6 使用LED模拟交通灯
6.3 驱动LED点阵
6.3.1 LED点阵显示表情
6.3.2 LED点阵跑马灯
6.3.3 回纹灯
6.3.4 矩形回缩灯
6.4 使用74HC595驱动LED
6.4.1 74HC595使用方式
6.4.2 使用74HC595驱动LED点阵
6.5 使用MAX7219驱动LED
6.5.1 MAX7219LED显示驱动器
6.5.2 MAX7219的数据格式
6.5.3 MAX7219的寄存器
6.5.4 LedControl库
6.5.5 Arduino通过MAX7219控制88LED点阵
6.5.6 MAX7219级联控制840LED点阵
6.6 RGB三色LED
6.7 七段数码管
6.7.1 Arduino直接控制七段数码管
6.7.2 Arduino通过74HC595控制一个七段数码管
6.7.3 使用两个74HC595驱动4位七段数码管
6.7.4 Arduino通过MAX7219控制七段数码管
第7章 蜂鸣器
7.1 蜂鸣器的工作原理及分类
7.2 驱动蜂鸣器程序
7.2.1 驱动有源蜂鸣器
7.2.2 驱动无源蜂鸣器
7.3 蜂鸣器使用实例
7.3.1 使用无源蜂鸣器输出7个基本音级
7.3.2 使用无源蜂鸣器演奏音乐
7.3.3 使用有源蜂鸣器发送S.O.S摩尔斯码
第8章 按钮
8.1 按钮的作用及分类
8.2 按钮的实质
8.3 按钮的使用示例
8.3.1 使用按钮控制LED灯
8.3.2 使用Arduino的中断
8.3.3 按钮矩阵的使用
8.3.4 使用按钮矩阵模拟钢琴
第9章 电位器
9.1 普通电位器
9.2 游戏摇杆
9.3 使用示例
9.3.1 读取电位器的值
9.3.2 使用电位器控制LED亮度
9.3.3 使用电位器控制LED流水灯速度
9.3.4 游戏摇杆的使用
第10章 光敏电阻和常见传感器
10.1 光敏电阻
10.1.1 光敏电阻应用原理
10.1.2 光控灯
10.2 火焰传感器
10.3 温湿度传感器
10.3.1 精密摄氏温度传感器LM35
10.3.2 温湿度传感器模块
10.4 红外线收发
10.4.1 红外线模块构成
10.4.2 使用第三库Irremote
10.5 液位传感器
10.5.1 接触式液位传感器
10.5.2 完善液位传感器
第11章 LCD
11.1 LCD模块LCD1602
11.2 LCD控制库LiquidCrystal
11.2.1 LiquidCrystal八线模式
11.2.2 LiquidCrystal四线模式
11.3 LiquidCrystal_I2C库
第12章 声音模块
12.1 麦克风模块
12.1.1 读取麦克风数据
12.1.2 声控灯
12.1.3 自适应声控灯
12.2 超声波模块
12.2.1 超声波模块HC-SR04
12.2.2 第三方库NewPing
12.2.3 超声波模块应用
第13章 RFID——射频识别
13.1 RFID概览
13.2 RFID硬件
13.2.1 RFID读/写器
13.2.2 RFID应答器
13.3 为RFID编程
13.3.1 读取RFID应答器的出厂数据
13.3.2 RFID开发流程
13.3.3 操作RFID应答器的值块
13.3.4 操作RFID应答器读写块
13.4 简易公交收缴费系统
13.4.1 缴费系统
13.4.2 收费系统
第14章 实时时钟——RTC
14.1 RTC简介
14.2 DS1302集成电路
14.3 DS1302工作原理
14.3.1 CE和时钟控制
14.3.2 数据输入和输出
14.3.3 时钟/日历
14.3.4 写保护寄存器
14.3.5 RAM寄存器
14.3.6 涓流充电寄存器
14.4 寄存器的突发模式
14.5 第三方库ds1302
14.5.1 ds1302简介
14.5.2 使用ds1302库设置日期和时间
14.5.3 使用ds1302库读取日期和时间
14.6 简易LED时钟
第15章 伺服电机和步进电机
15.1 伺服电机
15.1.1 伺服电机工作原理
15.1.2 伺服电机与Arduino
15.1.3 使用Arduino官方库Servo
15.2 使用其他器件控制伺服电机
15.2.1 使用旋转电位器控制伺服电机
15.2.2 使用按钮开关控制伺服电机
15.2.3 使用游戏摇杆控制伺服电机
15.2.4 使用遥控器控制伺服电机
15.3 步进电机
15.3.1 步进电机工作原理
15.3.2 步进电机的类型
15.3.3 28BYJ-48和ULN2003
15.3.4 Arduino、ULN2003和28BYJ-48连接
15.3.5 使用Arduino的官方库Stepper
15.3.6 自己实现28BYJ-48的控制函数
第3篇 Arduino实例篇
第16章 用Arduino做游戏——打地鼠
16.1 需求分析
16.2 打地鼠——雏形
16.2.1 实现随机"地鼠"
16.2.2 按钮逻辑
16.2.3 整合代码
16.3 打地鼠——高级
16.3.1 加入击中动画
16.3.2 加入随机速度
16.3.3 整合代码
16.4 打地鼠——终极
16.4.1 加入积分系统
16.4.2 将分数显示在LED上
16.4.3 整合代码