本书分为四个部分。第一部分主要讲解使用Arduino必备的基础知识。第二部分主要对机器人制作中使用的电机控制技术进行了讲解。第三部分主要介绍各种传感器。第四部分则介绍各种无线通信方式。第五部分综合前面四部分知识,讲解如何使用这些技术进行机器人制作。
封面图
目录
- 前言
- 第一篇Arduino入门篇
- 第1章Arduino简介2
- 1.1认识Arduino2
- 1.2Arduino资源2
- 1.2.1Arduino Uno开发板3
- 1.2.2Arduino Mega 2560开发板3
- 1.3安装Arduino Uno驱动4
- 1.3.1常规Arduino Uno驱动程序安装方法4
- 1.3.2Arduino驱动安装过程出现的问题及解决方法5
- 1.4Arduino开发环境8
- 第2章Arduino的基本函数13
- 2.1数字I/O口的操作函数13
- 2.1.1pinMode(pin, mode)13
- 2.1.2digitalWrite(pin, value)13
- 2.1.3digitalRead(pin)14
- 2.2模拟I/O口的操作函数14
- 2.2.1analogReference(type)14
- 2.2.2analogRead(pin)15
- 2.2.3analogWrite(pin,value)15
- 2.3高级I/O16
- 2.3.1PulseIn(pin,state,timeout)16
- 2.3.2shiftOut(dataPin,clockPin, bitOrder,val)17
- 2.4时间函数17
- 2.4.1delay(ms)17
- 2.4.2delayMicroseconds(μs)18
- 2.4.3millis()18
- 2.4.4micros()19
- 2.5中断函数19
- 2.5.1interrupts()和noInterrupts()19
- 2.5.2attachInterrupt(interrput, function,mode)19
- 2.5.3detachInterrupt(interrput)20
- 2.6串口通信函数21
- 2.6.1Serial.begin()21
- 2.6.2Serial.available()21
- 2.6.3Serial.read()21
- 2.6.4Serial.print()21
- 2.6.5Serial.printIn()21
- 2.7数学库22
- 2.7.1min(x,y)22
- 2.7.2max(x,y)22
- 2.7.3abs(x)22
- 2.7.4三角函数22
- 2.7.5random(small,big)22
- 第二篇机电控制篇
- 第3章直流电机控制24
- 3.1直流电机简介24
- 3.2直流电机工作原理25
- 3.3直流电机驱动电路原理26
- 3.4PWM速度控制原理27
- 3.5常用电机驱动芯片介绍28
- 3.6编程原理与示例程序30
- 第4章步进电机控制32
- 4.1步进电机简介32
- 4.2步进电机工作原理33
- 4.3步进电机驱动电路原理34
- 4.4常用步进电机驱动芯片简介35
- 4.5编程原理与示例程序36
- 第5章舵机控制40
- 5.1舵机简介40
- 5.2舵机工作原理40
- 5.2.1舵机的结构40
- 5.2.2PPM角度控制41
- 5.3舵机控制函数库41
- 5.3.1attach(pin)42
- 5.3.2write(value)42
- 5.3.3writeMicroseconds()42
- 5.3.4detach(pin)42
- 5.3.5read()43
- 5.3.6readMicroseconds()43
- 5.4编程原理与示例程序43
- 第三篇传感器应用篇
- 第6章传感器介绍和编程46
- 6.1激光传感器46
- 6.1.1激光传感器工作原理46
- 6.1.2编程原理与示例程序47
- 6.2光敏传感器48
- 6.2.1光敏传感器工作原理48
- 6.2.2编程原理与示例程序48
- 6.3倾斜传感器50
- 6.3.1倾斜传感器工作原理50
- 6.3.2编程原理与示例程序50
- 6.4水银开关式碰撞传感器51
- 6.4.1水银开关式碰撞传感器工作原理51
- 6.4.2编程原理与示例程序51
- 6.5振动传感器52
- 6.5.1振动传感器工作原理52
- 6.5.2编程原理与示例程序53
- 6.6敲击传感器53
- 6.6.1敲击传感器工作原理53
- 6.6.2编程原理与示例程序54
- 6.7金属触摸传感器54
- 6.7.1金属触摸传感器工作原理54
- 6.7.2编程原理与示例程序55
- 6.8红外线传感器56
- 6.8.1红外线传感器工作原理56
- 6.8.2编程原理与示例程序57
- 6.9火焰传感器58
- 6.9.1火焰传感器工作原理58
- 6.9.2编程原理与示例程序58
- 6.10红外避障传感器59
- 6.10.1红外避障传感器工作原理59
- 6.10.2编程原理与示例程序60
- 6.11寻线传感器60
- 6.11.1寻线传感器工作原理60
- 6.11.2编程原理与示例程序61
- 6.12光遮断传感器61
- 6.12.1光遮断传感器工作原理61
- 6.12.2编程原理与示例程序62
- 6.13霍尔传感器63
- 6.13.1霍尔传感器工作原理63
- 6.13.2编程原理与示例程序63
- 6.14磁环传感器64
- 6.14.1磁环传感器工作原理64
- 6.14.2编程原理与示例程序64
- 6.15旋转编码器66
- 6.15.1旋转编码器工作原理66
- 6.15.2编程原理与示例程序67
- 6.16声音传感器69
- 6.16.1声音传感器工作原理69
- 6.16.2编程原理与示例程序70
- 6.17模拟温度传感器71
- 6.17.1模拟温度传感器工作原理71
- 6.17.2编程原理与示例程序72
- 6.18DHT11数字温湿度传感器73
- 6.18.1DHT11数字温湿度传感器工作原理73
- 6.18.2编程原理与示例程序73
- 6.19DS18B20数字温度传感器75
- 6.19.1DS18B20数字温度传感器工作原理75
- 6.19.2编程原理与示例程序76
- 6.20MQ-2烟雾传感器77
- 6.20.1MQ-2烟雾传感器工作原理77
- 6.20.2编程原理和示例程序77
- 6.21水位传感器78
- 6.21.1水位传感器工作原理78
- 6.21.2编程原理与示例程序78
- 6.22超声波测距传感器79
- 6.22.1超声波测距传感器工作原理79
- 6.22.2编程原理与示例程序81
- 6.23Joystick PS2摇杆82
- 6.23.1Joystick PS2摇杆工作原理82
- 6.23.2编程原理与示例程序83
- 6.24TCS3200D颜色传感器83
- 6.24.1TC S3200D颜色传感器工作原理83
- 6.24.2编程原理与示例程序84
- 6.25气压传感器87
- 6.25.1气压传感器工作原理87
- 6.25.2编程原理与示例程序89
- 6.26MPU6050运动检测传感器95
- 6.26.1MPU6050运动检测传感器工作原理95
- 6.26.2编程原理与示例程序97
- 6.27HMC5883L磁阻传感器99
- 6.27.1HMC5883L磁阻传感器工作原理99
- 6.27.2编程原理与示例程序100
- 第四篇无线控制篇
- 第7章ZigBee无线传输模块104
- 7.1ZigBee技术简介104
- 7.2DRF1605H模块的使用104
- 7.2.1模块介绍104
- 7.2.2组网原理105
- 7.2.3数据传输方式108
- 7.2.4配置说明110
- 7.3编程原理与示例程序112
- 第8章蓝牙传输模块115
- 8.1蓝牙技术简介115
- 8.2蓝牙模块的连接过程115
- 8.3BLK-MD-BC04-B蓝牙模块的使用116
- 8.3.1BLK-MD-BC04-B蓝牙模块简介116
- 8.3.2常用AT指令设置117
- 8.3.3软件主从配置119
- 8.3.4硬件主从配置122
- 8.4编程原理与示例程序123
- 第9章WiFi传输模块127
- 9.1WiFi技术简介127
- 9.2WiFi转串口模块的使用127
- 9.2.1模块介绍127
- 9.2.2配置说明129
- 9.3编程原理与示例程序136
- 第10章2.4G无线数传模块139
- 10.12.4G无线数传模块简介139
- 10.2nRF24L01模块使用140
- 10.3编程原理与程序设计140
- 第11章DigiMesh远距离传输模块150
- 11.1DigiMesh技术简介150
- 11.2XBee PRO 900HP模块使用150
- 11.3编程原理与示例程序155
- 第五篇机器人设计制作篇
- 第12章走迷宫的超声波避障车162
- 12.1硬件平台的搭建162
- 12.1.1物料清单162
- 12.1.2组建超声波避障车162
- 12.1.3总装接线表163
- 12.2编程原理164
- 12.3程序设计164
- 第13章蓝牙控制的机器人169
- 13.1硬件平台的搭建169
- 13.1.1物料清单169
- 13.1.2总装接线表170
- 13.2配置说明170
- 13.2.1蓝牙模块配置170
- 13.2.2手机连接测试170
- 13.3编程原理与程序设计172
- 13.3.1Android程序设计172
- 13.3.2智能车程序设计191
- 第14章无人机操纵装置194
- 14.1硬件的选型194
- 14.2硬件安装与电路连接198
- 14.2.1飞行摇杆198
- 14.2.2飞行器199
- 14.3控制协议200
- 14.4编程原理与程序设计202
- 14.4.1飞行摇杆控制程序202
- 14.4.2飞行器Flyduino程序204
- 第六篇机器人竞赛篇
- 第15章打保龄球的机器人208
- 15.1设计思想208
- 15.2任务设计208
- 15.2.1任务一:取保龄球瓶208
- 15.2.2任务二:通过机械门208
- 15.2.3任务三:放保龄球瓶208
- 15.2.4任务四:击打保龄球209
- 15.2.5终极任务:夺取奖杯210
- 15.3比赛场地设计211
- 15.3.1场地设置要求211
- 15.3.2地图设计说明211
- 15.3.3道具设计212
- 15.4竞赛规则与评分标准213
- 15.4.1竞赛规则213
- 15.4.2评分标准213
- 15.5物料清单214
- 15.6机械零件设计图215
- 15.7组装说明书231
- 15.7.1零件清单231
- 15.7.2组装流程235
- 15.8电路设计与接线242
- 15.8.1硬件系统框图242
- 15.8.2电路模块设计242
- 15.8.3总装接线表249
- 15.9程序设计250
- 15.9.1程序设计思想250
- 15.9.2算法设计250
- 15.9.3示例代码251
- 第16章神勇消防员(消防机器人)262
- 16.1设计思想262
- 16.2任务设计262
- 16.2.1任务一:搜索火源262
- 16.2.2任务二:灭火263
- 16.2.3任务三:搜救263
- 16.2.4任务四:返回安全区263
- 16.3比赛场地设计264
- 16.3.1场地设置要求264
- 16.3.2地图设计说明264
- 16.3.3道具设计265
- 16.4竞赛规则与评分标准265
- 16.4.1竞赛规则265
- 16.4.2时间限制265
- 16.4.3评分标准265
- 16.5物料清单266
- 16.6机械零件设计267
- 16.7组装说明279
- 16.7.1零件清单279
- 16.7.2机器人组装流程和详解283
- 16.8电路设计288
- 16.8.1硬件系统框图288
- 16.8.2电路模块设计290
- 16.8.3总装接线表293
- 16.9程序设计294
- 16.9.1程序设计思想294
- 16.9.2算法设计294
- 16.9.3示例代码295