作品简介

Arduino已成为学习微控制器的首选课程,《Arduino完全实战》是Arduino设计全方位的指引,广泛且深入核心平台开发,全面讲述Arduino所有函数与API(应用程序界面),并介绍了市面上常见的数十种传感器,辅以实例设计。最后,结合Android和iOS系统,导入云端系统与物联网的运用基础,用丰富的实例介绍市面上的传感器,书中还特别介绍了可免费学习Arduino的联机仿真器运用,并额外提供教学视频与执行视频,以搭配书籍辅助学习。

《Arduino完全实战》适合想了解Arduino的来龙去脉的技术人群。

柯博文,美国硅谷创业家,全球数十家科技企业与业界指定讲师,美国硅谷LoopTek公司CTO,台北录克公司CEO。目前专注于Google Android和Apple iPhone手机应用软件开发与物联网的设备技术,并为大型上市公司开发相关软件。

作品目录

  • 推荐序
  • 1 简介
  • 1.1 什么是Arduino
  • 1.2 Arduino的特色
  • 1.3 Arduino历史
  • 1.4 Arduino相关网站
  • 2 Arduino硬件
  • 2.1 Arduino硬件介绍
  • 2.2 Arduino硬件外观
  • 2.2.1 Arduino硬件
  • 2.2.2 Arduino外接板
  • 2.3 自制Arduino板子
  • 2.4 Arduino MCU IC介绍
  • 2.4.1 ATMega8
  • 2.4.2 ATMega168
  • 2.5 相关网站介绍
  • 2.5.1 画硬件电路图Fritzing
  • 2.5.2 本书博客与讨论区
  • 3 Arduino开发环境介绍
  • 3.1 Arduino软件
  • 3.1.1 安装Arduino
  • 3.1.2 安装Arduino的Windows驱动程序
  • 3.2 用Eclipse写Arduino
  • 3.3 Arduino汉化设置
  • 4 我的第一个Arduino
  • 4.1 面包板怎么接
  • 4.2 Arduino上的第一个程序:LED闪烁
  • 4.3 确认你的程序是否编译成功
  • 4.4 烧录I/O Board
  • 4.5 了解我的第一个Arduino程序
  • 5 Digital数字输入与输出
  • 5.1 Digital Output设置Pin的输出——霹雳灯示例
  • 5.2 Digital Input——读取按钮信号数值code
  • 6 Analog模拟
  • 6.1 Analog Input——读取可变电阻的数据
  • 6.2 Analog Output的输出,示例LED的明暗控制
  • 7 UART、Serial RX/TX——TTL、RS232传输数据
  • 7.1 UART通信
  • 7.2 UART的数据传递
  • 7.2.1 通过UART显示数据到Serial Monitor——除错功能
  • 7.2.2 通过UART在两个Arduino之间传递数据
  • 8 PWM脉冲宽度调制
  • 8.1 PWM脉冲宽度调制
  • 8.2 PWM通过DigitalWrite达成效果
  • 9 Pulse脉冲
  • 9.1 pulseIn(pin,state,timeout)
  • 9.2 pulseIn示例——查用户多久没有按下按钮
  • 10 SPI
  • 10.1 SPI介绍
  • 10.1.1 SPI接口数据传输
  • 10.1.2 SPI类及其成员函数
  • 10.2 SPI示例程序——主从端Master
  • 10.3 SPI示例程序——被控制端Master
  • 11 Arduino函数
  • 11.1 输入/输出函数
  • 11.1.1 pinMode(pin,mode)
  • 11.1.2 digitalWrite(pin,value)
  • 11.1.3 digitalRead(pin)
  • 11.1.4 analogRead(pin)
  • 11.1.5 analogWrite(pin,value)
  • 11.1.6 analogReference(mode)模拟参考
  • 11.1.7 shiftOut(dataPin,clockPin,bitOrder,val)
  • 11.2 数据类型datatype
  • 11.2.1 int整数
  • 11.2.2 float浮点数
  • 11.2.3 char字符
  • 11.2.4 String字符串
  • 11.2.5 byte字符组
  • 11.2.6 long长字符
  • 11.2.7 word字组
  • 11.2.8 boolean布尔代数
  • 11.2.9 short
  • 11.2.10 unsigned char、unsigned int、unsigned long
  • 11.3 时间
  • 11.3.1 millis()
  • 11.3.2 delay(ms)
  • 11.3.3 delayMicroseconds(us)
  • 11.4 数学
  • 11.4.1 min(x,y)
  • 11.4.2 max(x,y)
  • 11.4.3 abs(x)
  • 11.4.4 constrain(amt,low,high)
  • 11.4.5 map(x,in_min,in_max,out_min,out_max)
  • 11.5 逻辑流程控制
  • 11.5.1 if...else条件判断语句
  • 11.5.2 switch...case条件判断语句
  • 11.5.3 for循环语句
  • 11.5.4 while循环语句
  • 11.5.5 do....while循环语句
  • 11.5.6 Array,实验:霹雳灯
  • 11.6 中断函数
  • 11.6.1 attachInterrupt(interrupt,function,mode),实验:按键计数器
  • 11.6.2 interrupts()使用中断函数和noInterrupts()停止中断函数
  • 11.7 字符串处理函数String
  • 11.7.1 String字符串对象
  • 11.7.2 charAt()
  • 11.7.3 compareTo()
  • 11.7.4 concat()
  • 11.7.5 endsWith()
  • 11.7.6 equals(),equalsIgnoreCase()
  • 11.7.7 getBytes()
  • 11.7.8 indexOf()
  • 11.7.9 lastIndexOf()
  • 11.7.10 length()
  • 11.7.11 replace()
  • 11.7.12 setCharAt()
  • 11.7.13 startsWith()
  • 11.7.14 substring()
  • 11.7.15 toCharArray()
  • 11.7.16 toInt()
  • 11.7.17 toLowerCase()
  • 11.7.18 toUpperCase()
  • 11.7.19 trim()
  • 11.8 串行端口通信
  • 11.8.1 Serial.begin(baud)
  • 11.8.2 Serial.print()和Serial.println()
  • 11.8.3 Serial.available()和Serial.read()
  • 11.9 特殊函数库
  • 11.10 开发自己专属的函数库和设计自己的函数
  • 11.10.1 设计函数
  • 11.10.2 设计函数库
  • 11.10.3 使用函数库
  • 12 Arduino与传感器
  • 12.1 水银开关读取
  • 12.2 光敏电阻——实验小夜灯
  • 12.3 晶体管
  • 12.3.1 NPN晶体管——NPN与DC直流马达
  • 12.3.2 PNP晶体管——PNP与DC直流马达
  • 12.4 湿度传感器
  • 12.5 温度传感器
  • 12.5.1 实验:温度计
  • 12.5.2 实验:冰热温度显示杯
  • 12.6 Servo步进马达
  • 实验:控制Servo步进马达旋转角度
  • 12.7 游戏杆
  • 实验:游戏杆动作
  • 12.8 一氧化碳传感器
  • 实验:一氧化碳浓度警报器
  • 12.9 超声波距离传感器
  • 12.9.1 实验1 尺寸测量器(3个引脚的超声波距离传感器)
  • 12.9.2 实验2 倒车警告器(4个引脚的超声波距离传感器)
  • 12.10 火焰传感器
  • 实验:防火警报器
  • 12.11 一氧化碳/瓦斯传感器/烟雾传感器
  • 实验:烟雾警报器
  • 12.12 红外线运动传感器
  • 实验:小偷监测警报系统
  • 12.13 继电器
  • 实验:继电器110V自动控制家电开关
  • 12.14 七段式数字号码LED
  • 实验:数字显示定时器
  • 12.15 土壤湿度传感器
  • 实验:植物也吵着要水喝
  • 12.16 数字键盘
  • 实验:数字键盘的按键反应
  • 12.17 声音监测器
  • 实验:拍手开灯
  • 12.18 温度计和湿度计二合一的传感器DHT11
  • 12.19 酒精测试器
  • 12.20 DC马达
  • 实验:可以控制转速的马达
  • 12.21 8×8LED
  • 8×8LED和IC Max7219
  • 12.22 颜色测试器
  • 12.23 FM收音机
  • 实验:收音机
  • 12.24 蓝色背光液晶模块LCD 2×16面板
  • 实验:数据显示面板
  • 12.25 RFID读卡器
  • 实验:显示RFID卡片里的数据
  • 12.26 SD读卡器
  • 12.26.1 实验:显示SD卡片文件名、容量
  • 12.26.2 实验:使用SD卡片储存和读取数据
  • 12.27 ADXL345三轴重力加速度/倾斜角度模块
  • 12.28 三轴磁场传感器——指南针
  • 13 通信
  • 13.1 遥控器
  • 13.1.1 读取遥控器送来的数据
  • 13.1.2 把Arduino当遥控器
  • 13.2 与个人计算机传递数据
  • 13.2.1 PC与Arduino互传数据——USB线
  • 13.2.2 PC与Arduino互传数据——RS232
  • 13.2.3 与其他程序语言交互——Arduino与Processing沟通
  • 13.2.4 与其他程序语言交互——Arduino与Unity沟通
  • 13.2.5 与其他程序语言交互——Arduino与Java互传数据
  • 13.2.6 与其他程序语言交互——Scratch
  • 13.2.7 与其他程序语言交互——ardublock
  • 13.2.8 与其他程序语言交互——Flash连接
  • 13.3 MIDI
  • 13.4 网络Ethernet
  • 13.4.1 实验:读取网页数据
  • 13.4.2 抓取Yahoo的天气数据
  • 13.4.3 Web Server——成为网页服务器
  • 13.5 ZigBee/XBee
  • 实验:两个XBee交换数据
  • 13.6 蓝牙
  • 13.6.1 蓝牙JY-MCU
  • 13.6.2 设定修改蓝牙速度
  • 13.6.3 修改蓝牙设备名称
  • 13.6.4 修改配对密码
  • 13.7 RF 433MHz
  • 14 Arduino与IC实验
  • 14.1 74HC 595——延伸出多个引脚
  • 14.2 LM 393——比较A引脚和B引脚哪个大
  • 15 Arduino综合实验
  • 15.1 音乐播放
  • 15.1.1 实验:利用Tone和Pitch播放音乐
  • 15.1.2 实验:加上功率放大器播放音乐
  • 15.1.3 实验:mp3播放器
  • 15.2 计算按钮按下的时间
  • 16 Android手机与Arduino连接——移动物联网
  • 16.1 Arduino USB Host
  • 16.2 使用蓝牙将Arduino和Android连接
  • 16.3 Android与Arduino连接——通过Android IOIO
  • 16.3.1 Android IOIO介绍
  • 16.3.2 Android IOIO初次安装设定
  • 16.3.3 Android IOIO实验
  • 16.4 Android与Arduino连接——直接连接
  • 16.5 iOS与Arduino连接——通过蓝牙4.0BLE
展开全部