简介
本书遵循由浅入深、由易到难的原则,循序渐进地介绍使用树莓派玩转机器人的必备软硬件知识与技术。全书共8章,第1~4章为树莓派入门部分,主要介绍树莓派软硬件、Scratch和Python编程语言以及各种传感器的使用,并提供丰富的操作案例,方便读者轻松构建树莓派项目。本部分学会之后,读者基本上可以掌握使用树莓派软硬件与第三方软硬件协同工作,搭配和使用传感器亲手搭建一个简单的用于巡线且自动跟随和停止的机器无人车。第5~8章为提高部分,本部分深入地介绍树莓派的各种高级玩法,还将介绍更多、更加智能的第三方软硬件,比如近年来火热的人工智能系列传感器以及机器人操作系统ROS的使用,同时兼顾PC和手机操作,为读者玩转机器人提供更多的趣味场景。 本书的特点是使用低成本硬件,趣味性和可操作性强,适合对树莓派及机器人感兴趣的各类读者阅读。
目录
目 录
第1章 树莓派全面介绍 1
1.1 树莓派项目 1
1.2 树莓派硬件 3
1.2.1 板载芯片 3
1.2.2 板载接口 5
1.2.3 专用拓展 7
1.3 点亮树莓派 9
1.4 树莓派软件 15
1.4.1 设置助手 15
1.4.2 桌面布局 18
1.4.3 浏览器及软件管理 19
1.4.4 文件管理器 21
1.4.5 编程套件 23
1.4.6 树莓派配置工具 26
第2章 树莓派软硬件开发入门 28
2.1 认识Scratch 29
2.1.1 “Hello World!”程序 30
2.1.2 流程 30
2.1.3 循环 32
2.1.4 变量和条件 33
2.2 使用Scratch完成一些小游戏 36
2.2.1 宇航员反应计时器 37
2.2.2 花样游泳 41
2.3 树莓派硬件入门 48
2.3.1 了解GPIO 48
2.3.2 常用电子元器件 49
2.4 使用Scratch控制硬件 51
2.4.1 控制发光二极管 51
2.4.2 控制蜂鸣器 54
2.4.3 控制按钮 55
第3章 树莓派软硬件开发进阶 57
3.1 树莓派玩转Python入门 57
3.1.1 超轻量开发环境:Thonny 57
3.1.2 Python IDLE和命令行 58
3.1.3 编写“Hello World!”程序 60
3.2 Python进阶 61
3.2.1 代码缩进和循环 61
3.2.2 条件和变量 64
3.2.3 “画”雪花 65
3.3 Python控制GPIO传感器 71
3.3.1 gpiozero库 71
3.3.2 gpiozero的输入和输出 73
3.3.3 模拟红绿灯 75
3.3.4 抢答器 77
3.4 Python与树莓派硬件的交互 80
3.4.1 Python与树莓派系统信息的交互 80
3.4.2 Python与发光二极管传感器的交互 81
3.4.3 Python与游戏操纵杆传感器的交互 85
3.4.4 Python与电子罗盘传感器的交互 88
第4章 机器人简单传感器 91
4.1 视觉传感器 91
4.1.1 简单提示:发光二极管 91
4.1.2 图像视频采集:摄像头 98
4.1.3 图像视频输出:显示器 101
4.2 声学传感器 106
4.2.1 简单提示音:蜂鸣器 106
4.2.2 播放声音和音乐:扬声器 107
4.2.3 超声波:距离传感器 108
4.3 电磁传感器 109
4.3.1 限制电路电流:电阻器 109
4.3.2 机器人的双脚:马达 111
4.3.3 角度微控制器:舵机 116
4.3.4 大型电器开关:继电器 117
4.3.5 测速计数:霍尔传感器 119
4.4 其他传感器 121
4.4.1 力学传感器:开关、体重、加速计和陀螺仪 121
4.4.2 热学传感器:人体感应器、温度传感器 126
4.4.3 红外传感器:光敏传感器、循迹传感器 128
第5章 树莓派人工智能传感器 131
5.1 Google AIY Voice Kit 131
5.1.1 组装配置 131
5.1.2 简单录音 133
5.1.3 语音识别与命令 134
5.2 谷歌语音套件 136
5.2.1 组装配置 136
5.2.2 人脸和物品检测引擎 137
5.2.3 使用代码演示人脸识别 139
5.3 Seeed ReSpeaker 140
5.3.1 硬件规格介绍 140
5.3.2 安装驱动 141
5.3.3 配置在线API 143
5.3.4 语音识别与命令 145
5.4 Pixy2 Cam 145
5.4.1 Pixy系列传感器介绍 145
5.4.2 连接到树莓派 146
5.4.3 颜色判定和巡线 147
5.4.4 Python接口调用 150
第6章 树莓派构建机器人 152
6.1 硬件规划 152
6.1.1 协议规划:深入gpiozero 152
6.1.2 协议规划:I2C、SPI 158
6.1.3 电路规划:FRITZING 162
6.2 软件规划 165
6.2.1 命令控制:SSH 165
6.2.2 电脑控制:gpiozero 169
6.2.3 手机控制:Blue Dot 172
6.3 机器人构建 175
6.3.1 远程控制机器人 175
6.3.2 循迹机器人 177
6.3.3 跟随/避障机器人 180
6.4 监测树莓派状态 181
6.4.1 命令行检测 181
6.4.2 苹果手机监控:PiHelper 184
6.4.3 安卓手机监控:RaspController 186
第7章 树莓派与产业机器人“语言”:ROS 190
7.1 机器人操作系统ROS 190
7.1.1 ROS是什么 190
7.1.2 ROS用来做什么 190
7.1.3 ROS版本的选择 191
7.1.4 在树莓派上安装Ubuntu 192
7.1.5 在Ubuntu上安装ROS 196
7.2 文件系统概览 197
7.2.1 安装ros-tutorials案例包 197
7.2.2 ROS软件包结构 197
7.3 ROS节点 200
7.3.1 首先启动内核roscore 200
7.3.2 启动节点rosnode 201
7.3.3 启动文件 203
7.4 ROS话题 205
7.4.1 rostopic命令 207
7.4.2 消息传递过程 209
7.5 ROS服务、参数和调试 211
7.5.1 服务rosservice 211
7.5.2 参数rosparam 214
7.5.3 打印ROS日志 216
第8章 树莓派集成机器人与人工智能 219
8.1 树莓派ROS传感器 219
8.1.1 配置宿主机和客户机 219
8.1.2 树莓派连接摄像头 221
8.1.3 树莓派连接激光雷达 223
8.1.4 树莓派连接3D摄像头 225
8.2 树莓派连接操纵手柄 226
8.2.1 硬件准备:PS3、PS4、XBOX 226
8.2.2 驱动安装和测试 227
8.2.3 代码编写与软件包编译 229
8.2.4 使用手柄控制小乌龟 231
8.3 手机控制ROS机器人 231
8.3.1 远程控制:ROS Control 232
8.3.2 人机界面:PocketBot for ROS 234
8.3.3 智能语音:ROS Teleop Controller 236
8.4 ROS人工智能 238
8.4.1 现实世界的人工智能 238
8.4.2 机器人视觉:OpenCV 239
8.4.3 机器人地图:SLAM 241
8.4.4 机器人导航:Navigation 242
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问