本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
本书将教学机器人引入C程序设计课程,在整个课程学习过程中采用基于项目的学习方法,将C语言的各种表达式、语法、关键词、逻辑结构和数据类型等教学内容融入一系列循序渐进的教学机器人制作和竞赛项目,直接在项目应用和竞赛过程中学习C语言,实现“做中学、学中赛、赛中会”的做学赛一体化学习,以提升C语言的学习效率和效果, 通过归纳总结,获得整个C语言程序设计的系统知识和技能。本书的编写 突破了传统教学方法的局限,解决了C程序设计课程抽象、枯燥、难学和学习效果差的老大难问题。
秦志强,东莞第六批领军人物入选者,全童科教有限公司董事长,中科乐活动中心创始人、中国教育机器人大赛创始人。秦志强主持编写和出版13本机器人教学方面教材,在电子工业出版社发行。秦志强是“无人机之父”香港科技大学李泽湘教授的弟子。2016年,李泽湘和秦志强在松山湖联合成立全童科教(东莞)有限公司,建立机器人STEAM研究院。
目 录
部分 基本技能学习和实践
第1章 一种新的C语言学习方式2
学习背景4
单片机和微控制器4
机器人与C语言学 台6
任务1.1 获得软件6
任务1.2 安装软件7
安装Keil μVision4 IDE7
任务1.3 硬件连接8
连接计算机8
连接电源8
教学板和单片机通电检查8
教学板程序下载与通信功能的切换8
任务1.4 个程序9
创建并编辑 个程序9
个C语言程序:HelloRobot.c11
编译程序12
程序调试12
下载可执行文件到单片机14
用串口调试软件查看单片机输出信息15
HelloRobot.c是如何工作的15
printf( )函数16
“while(1);”的作用17
任务1.5 断开电源17
工程素质和技能归纳17
本章涉及的主要技能17
常见错误18
科学精神的培养18
第2章 简单的C程序设计―机器人做算术20
学习背景21
任务2.1 整型数据的运算和结果显示22
任务2.2 浮点型数据的运算26
任务2.3 字符型数据27
字符常量27
转义字符28
字符变量28
工程素质和技能归纳29
本章涉及的主要技能29
常见错误29
科学精神的培养30
第3章 循环程序设计―让机器人动起来32
学习背景33
C51单片机的输入/输出接口34
任务3.1 单灯闪烁控制34
LED电路元器件34
LED电路搭建34
例程:HighLowLed.c37
HighLowLed.c是如何工作的37
无符号整型数据unsigned int37
while语句39
时序图简介39
任务3.2 机器人伺服电机控制信号40
例程:BothServoClockwise.c43
任务3.3 计数并控制循环次数44
for语句44
自增和自减45
for循环控制电机的运行时间45
例程:ControlServoRunTimes.c46
例程:BothServosThreeSeconds.c47
任务3.4 用计算机来控制机器人的运动48
例程:ControlServoWithComputer.c48
ControlServoWithComputer.c是如何工作的49
scanf( )函数49
工程素质和技能归纳50
本章涉及的主要技能50
科学精神的培养51
第4章 函数―机器人运动控制52
学习背景53
任务4.1 基本巡航动作54
向前巡航54
向后走、原地转弯和绕轴旋转56
任务4.2 匀加速、匀减速运动59
编写匀加速运动程序59
任务4.3 用函数调用简化运动程序62
函数62
任务4.4 用数组进一步简化函数调用67
程序是如何工作的68
工程素质和技能归纳69
本章涉及的主要技能69
科学精神的培养69
第5章 选择结构程序设计―机器人触须导航70
学习背景71
触须导航与单片机输入接口72
任务5.1 安装并测试机器人触须72
安装触须72
测试触须74
位操作运算符75
if语句76
操作符? :76
任务5.2 通过触须导航78
编程使机器人基于触须导航78
关系与逻辑运算符79
触须导航机器人怎样行走83
任务5.3 机器人进入死区后的人工智能决策83
编程逃离墙角死区83
任务5.4 机器人行进过程中的碰撞保护程序88
continue语句88
工程素质和技能归纳89
本章涉及的主要技能89
科学精神的培养90
第6章 选择结构程序设计―机器人红外导航92
学习背景93
使用红外发射器和接收器探测道路94
红外前灯94
任务6.1 搭建并测试IR发射和探测器对95
元器件清单95
搭建红外前灯95
测试红外检测器96
排错97
函数延时的不 性98
任务6.2 探测和避开障碍物99
宏定义99
改变触须程序,使其适合IR检测和躲避99
任务6.3 高性能的IR导航104
在每个脉冲之间采样,以避免碰撞104
do…while语句106
任务6.4 俯视的探测器107
材料108
用 缘带模拟桌子的边沿108
边沿探测编程109
工程素质和技能归纳112
本章涉及的主要技能112
科学精神的培养113
第7章 多分支结构程序设计――机器人循线运动114
学习背景115
竞赛任务116
任务7.1 QTI传感器及其通信接口117
任务7.2 安装QTI传感器到机器人前端117
任务7.3 编写QTI传感器的测试程序119
任务7.4 设计算法,实现机器人无接触游历121
switch语句126
任务7.5 修改算法实现机器人游历127
任务7.6 用数组实现机器人游历131
任务7.7 改进运动执行程序提升执行的可靠性137
工程素质和技能归纳143
本章涉及的主要技能143
科学精神的培养143
第二部分 综合实践案例
第8章 结构化程序设计――智能搬运竞赛146
学习背景147
竞赛任务148
任务8.1 给机器人安装循线传感器和搬运手爪149
任务8.2 根据比赛任务设计算法150
算法描述150
任务8.3 定义运动数据结构体存储运动数据151
结构体152
任务8.4 将运动函数存成其他文件包含进来155
“文件包含”处理159
任务8.5 循线运动函数的设计与实现160
循线到某目标节点的算法160
break语句164
任务8.6 根据算法完成搬运子函数和主程序的编写165
工程素质和技能归纳166
本章涉及的主要技能166
科学精神的培养166
第9章 结构化程序设计――擂台赛168
学习背景169
擂台赛场和竞赛规则170
任务9.1 红外线擂台机器人的软件设计172
任务9.2 优化红外线擂台机器人软件177
任务9.3 超声波擂台机器人的软件设计181
任务9.4 遥控擂台机器人的软件设计184
NEC协议184
遥控器解码185
电机驱动程序190
主控程序191
工程素质和技能归纳193
科学精神的培养194
附 录
附录A C语言概要归纳198
C语言概述198
数据类型、运算符与表达式198
分支结构程序200
循环控制202
数组203
函数204
预处理命令205
指针206
结构体207
位运算208
附录B C语言中的关键字索引210
附录C 无焊锡面包板211
附录D 中国教育机器人大赛简介214
附录E 完成本书项目学习所需配件清单216
附录F 教学板介绍217