设计灭火机器人教参(总)
- 格式:docx
- 大小:19.77 KB
- 文档页数:6
第二单元 活动4-3 设计灭火机器人(初稿)
一、本课内容分析
设计灭火机器人是在循迹机器人和迷宫机器人基础上增加了火焰传感器应用的一节综合课,分为2课时。本课为第2课时,主要是在上节课机器人迷宫灭火流程设计的基础上,进行程序编写和调试,最终在仿真环境下模拟完成灭火任务。
二、教学目标
1、知识与技能:
①掌握子程序的新建、编写及调用方法。
②掌握机器人迷宫灭火的程序编写及仿真运行。
2、过程与方法:
通过任务驱动、上机演练、小组竞赛的方式让学生学会机器人迷宫灭火的程序编写和仿真运行。
3、情感态度与价值观:
①培养学生的动手能力、创新能力,养成良好的思维习惯。
②锻炼学生的团队合作精神,让学生体会学习和探究的乐趣。
三、教学重点、难点
重点:1、子程序的编写及调用。
2、永久循环、条件循环、多分支结构的综合运用。
难点:各种程序结构及子程序的综合运用。
四、教学建议
上节课已经学会了火焰传感器的使用方法、子程序的编写及调用方法、机器人迷宫灭火的流程分解,本节课主要是在此基础上进行程序的编写、调试及仿真运行。程序相对比较复杂,教师可以采取化整为零的方式进行任务分解,以小组合作的方式来完成各子程序的编写,锻炼学生的团队合作精神。为了使枯燥的编程充满活力,还可以采取小组竞赛的机制来激励学生。
面对基础不同的学生群体,在教学过程中力求做到分层教学。在要求全体学生都能达到课标要求的前提下,对程度好的学生提出更高要求,教师可以给出拓展内容:在能够顺利完成灭火的前提下,改进算法,提高机器人迷宫灭火的效率。
五、教学简案
案例:机器人迷宫灭火程序设计及仿真运行
(一)教学目标
1、知识与技能:
①掌握子程序的新建、编写及调用方法。
②掌握机器人迷宫灭火的程序编写及仿真运行。
2、过程与方法:
通过任务驱动、上机演练、小组竞赛的方式让学生学会机器人迷宫灭火的程序编写和仿真运行。
3、情感态度与价值观:
①培养学生的动手能力、创新能力,养成良好的思维习惯。
②锻炼学生的团队合作精神,让学生体会学习和探究的乐趣。
(二)教学重点和难点
重点:1、子程序的编写及调用。
2、永久循环、条件循环、多分支结构的综合运用。
难点:各种程序结构及子程序的综合运用。
(三)教学方法
采用任务驱动、小组合作、竞赛相结合的教学方法。
(四)教学环境
机器人教室。
(五)教学过程
教学环节 教师活动 学生活动 说明
一、接入课题、明确目标。 1、展示上节课做好的机器人迷宫灭火流程图。
2、仿真环境下演示教师提前做好的灭火程序。
3、提出本课任务 观看教师活动,听老师讲解。 明确本节课任务:根据上节课流程图,进行程序设计并仿真运行。
二、提出问1、提出问题:根据大家的流程图,本课任学生思考,讨论问题。 化整为零,每个学生领到题、任务分工。 务可以分为什么样的子任务?
2、根据学生的回答,把任务分解为“搜寻模块”、“灭火模块”等子任务(可根据小组成员及流程图数灵活分解子任务数),并让小组长根据情况,进行组内任务分工。
小组长根据组内情况分配子任务到人。 自己的子任务。
三、动手实践、逐个击破。 教师巡视,并对有疑问的小组和学生进行指导。 上机实践,进行子程序编写。 小组分工,完成子程序编写。
四、作品展示、发现问题。 1、让各小组在仿真条件下运行自己编写的子程序,并抽查展示。
2、根据展示情况发现问题、分析问题、并引导学生解决问题。 运行、展示子程序。
和老师一起发现问题、分析问题、解决问题。 确保子程序正确无误。
五、小组竞赛、程序集成。 1、给出竞赛机制:各小组成员进行合作,把刚刚做好的子程序相互共享,并在此基础上,把子程序进行集成,根据流程图完成机器人迷宫灭火和安全返回的完整程序设计。
2、巡视学生的上机情况,既做教练,辅导学生编程,又做裁判,看哪个组最先完成,哪个组完成的质量最好。 听老师讲解竞赛机制,小组成员酝酿如何才能最快实现程序。
各组成员之间进行合作互助,按要求完成子程序的集成,最终实现整个任务的程序设计。 通过竞赛机制,让学生进行团结协作,齐心协力完成整个任务的程序设计。
六、评价总结、知识拓展。 1、选择具有代表性小组的作品进行仿真演示,并对各组作品进行点评,对各知识点及重难点进行归纳总结,从而达到知识的查漏补缺。
2、抛砖引玉:(1)如何让机器人以最快的速度找到火源,灭火以后又以最快的速度返回起点?(2)在顺利完成迷宫灭火任务的前提下,能否对机器人硬件进行精简? 参与到作品的自评、互评,认真听老师的点评。
认真思考老师抛出的问题,酝酿课后如何对程序和硬件进行改进。 对知识查漏补缺。
给学生拓展的空间,充分发挥其想象力和创造力。
六、附录(源文件及使用说明):
1、机器人迷宫灭火程序源文件
//灭火子程序
void sub1(){
HighMotor(0,0);
Fan(0,1);
Delay(100);
Fan(0,0);
Turn(10,90);
Turn(10,90);
HighMotor(10,10); }
//左手法则走迷宫,2传感器
void sub2(){
GetRed(2,1);
if(red_2==1){
GetRed(0,0);
if(red_1==1){
Turn(10,90);
HighMotor(10,10);
}else{
HighMotor(10,10);
}
}else{
Forward(10,30);
Turn(-10,90);
Forward(10,40);
GetRed(0,0);
if(red_1==1){
Turn(10,90);
HighMotor(10,10);
}else{
}
}
}
//右手法则走迷宫,2传感器
void sub3(){
GetRed(2,2);
if(red_3==1){
GetRed(0,0);
if(red_1==1){
Turn(-10,90);
HighMotor(10,10);
}else{
HighMotor(10,10);
}
}else{
Forward(10,30);
Turn(10,90);
Forward(10,40);
GetRed(0,0);
if(red_1==1){
Turn(-10,90);
HighMotor(10,10);
}else{
}
}
} //主程序
int main(void){
init_devices();
int_1=0;
while(1){
GetFire(0);
if(fire_1==1){
sub1();
break;
}else{
if(int_1==0){
do{
GetRed(0,0);
HighMotor(10,10);
}while(red_1==0);
int_1=1;
Turn(10,90);
HighMotor(10,10);
}else{
}
sub2();
}
}
int_1=0;
while(1){
GetColor(0);
if(color_1==0){
if(int_1==0){
do{
GetRed(0,0);
HighMotor(10,10);
}while(red_1==0);
int_1=1;
Turn(-10,90);
HighMotor(10,10);
}else{
}
sub3();
}else{
break;
}
}
Forward(10,50);
HighMotor(0,0);
}
2、程序说明 1、通用变量的加入避免了设置机器人的初始角度。
2、搜寻火源采取左手法则走迷宫,返回起点采取右手法则走迷宫,保证了机器人“原路”返回,也可以只用一种算法,这样机器人完成整个任务将绕墙一周。
3、火源及起点轨迹应靠近墙边(因为采用了左右手法则绕墙走)。
4、探测距离设为“5”效果较好。