能力风暴智能机器人编程实例实验一机器人发音1、功能:机器人发出123的声音;2、实验目的:练习最基本的顺序编程结构;3、用到的部件:喇叭;4、扩展:练习其他音节的发音,可以让机器人为你唱首歌;5、提供示例:VJC流程图编程,JC代码程序。#includeAS_UIII_LIB.hvoidmain(){tone(261.600006,0.500000);tone(293.600006,0.500000);tone(329.600006,0.500000);while(1){}}实验二机器人走“∞”字形1、功能:机器人走“∞”字形;2、实验目的:练习顺序编程结构的同时,学习控制机器人的行走;3、用到的部件:电机;4、扩展:可以让机器人走四边形、三角形、之字形甚至波浪前行;5、提供示例:VJC流程图编程,JC代码程序。#include“AS_UIII_LIB.h”voidmain()/*主程序说明*/{/*主程序开始标志*/motor(1,60);/*左电机以60的速度前进,右电机以20的速度前进*/motor(2,20);wait(8.200000);/*根据机器人走一周的时间调整参数*/stop();wait(1.000000);motor(1,20);/*左电机以20的速度前进,右电机以60的速度前进*/motor(2,60);wait(6.000000);/*根据机器人走一周的时间调整参数*/stop();/*停止执行程序*/While(1){}}实验三动态字符显示1、功能:在机器人的屏幕上循环动态显示“ABCD”四个字符;2、实验目的:练习较长的顺序编程结构,学习控制机器人的显示屏;3、用到的部件:LCD显示屏;4、扩展:考虑如何让字符滚动显示到第二行,尝试是否可以显示汉字,学习循环之后,尝试将此程序改写为循环结构;5、提供示例:流程图分析,VJC流程图编程,JC代码程序。实验四机器人走五角星1、功能:机器人在地上走出五角星图案;2、实验目的:练习条件循环编程结构和计算公式;3、用到的部件:电机;4、扩展:这里是用变量控制条件循环的次数,可以增加其他的变量作为条件循环的输入控制;5、提供示例:流程图,VJC流程图编程,JC代码程序。实验五机器人叫人起床1、功能:机器人充当起床闹钟,在天亮的时候发出声音,并且原地转圈,直到主人起床;2、实验目的:练习永远循环编程结构,学习控制机器人的传感器;3、用到的部件:光敏传感器,LCD显示屏;4、扩展:反过来,天黑的时候是不是可以让机器人有什么操作;5、提供示例:流程图,VJC流程图编程,JC代码程序。#include“AS_UIII_LIB.h”intphoto_1=0;voidmain(){printf(Wakemeup\n);/*打印“Wakemeup”字符串在显示屏上*/while(1){photo_1=(photo(1)+photo(2))/2;/*采集传感器的数值,取左右传感器的平均值*/if(photo_1500)/*如果传感器的值小于某个特定值,也就是光线达到一定的强度*/{motor(1,80);/*左电机以80的速度前进,右电机停止,原地转圈*/motor(2,0);tone(261.600006,0.2500000);/*发出声音*/tone(329.600006,0.2500000);stop();/*停止执行程序*/}else{stop();/*停止执行程序*/}}while(1){}}实验六躲避碰撞1、功能:机器人在行走的过程中躲避碰撞;2、实验目的:练习永远循环编程结构,学习利用碰撞检测功能块;3、用到的部件:碰撞环;4、扩展:尝试修改碰撞检测的条件“左前”“右前”“左后”“右后”,看机器人是否能够正常工作;5、提供示例:流程图,VJC流程图编程,JC代码程序。#includeAS_UIII_LIB.hintbmp_1=0;voidmain(){while(1){bmp_1=bumper();if(bmp_1==12){printf(BACK);drive(80,0);wait(1.000000);stop();drive(0,-80);wait(0.300000);stop();}else{bmp_1=bumper();if(bmp_1==3){printf(FRONT);drive(-80,0);wait(1.000000);stop();drive(0,-80);wait(0.300000);stop();}else{bmp_1=bumper();if(bmp_1==4){printf(LEFTBACK);drive(-80,0);wait(0.500000);stop();drive(0,-80);wait(0.300000);stop();}else{bmp_1=bumper();if(bmp_1==1){printf(LEFTFRONT);drive(0,-80);wait(0.200000);stop();}else{bmp_1=bumper();if(bmp_1==2){printf(RIGHTFRONT);drive(0,80);wait(0.200000);stop();}else{printf(OTHER);motor(1,80);motor(2,80);}}}}}}while(1){}}实验七红外避障1、功能:机器人在行走的过程中避开障碍物;2、实验目的:练习永远循环编程结构,学习利用红外检测功能块;3、用到的部件:红外发射和红外接收;4、扩展:可以制作机器人导盲犬;5、提供示例:流程图,VJC流程图编程,JC代码程序。#includeAS_UIII_LIB.hintir_1=0;voidmain(){while(1){ir_1=ir_detector();if(ir_1==4){printf(FRONT);drive(0,80);wait(0.250000);stop();}else{ir_1=ir_detector();if(ir_1==1){printf(LEFT);drive(0,-80);wait(0.150000);stop();}else{ir_1=ir_detector();if(ir_1==2){printf(RIGHT);drive(0,80);wait(0.150000);stop();}else{printf(OTHER);motor(1,80);motor(2,80);}}}}while(1){}}实验八机器人避障1、功能:机器人在行走的过程中避开障碍物,躲避碰撞;2、实验目的:练习永远循环编程结构,学习子程序的设计;3、用到的部件:红外发射和红外接收,碰撞环;4、扩展:搞懂子程序的设计,在其他程序里,可以加入子程序,简化程序的设计;5、提供示例:流程图,VJC流程图编程,JC代码程序。/*主程序*/实验九追光1、功能:机器人利用光敏传感器,朝着光线强的地方走;2、实验目的:练习条件循环编程结构,学习光敏检测;3、用到的部件:光敏电阻;4、扩展:试验中在执行判断语句时需要注意的是光线的强度和光敏传感器返回的数值之间的反比关系;5、提供示例:流程图,VJC流程图编程,JC代码程序。#include“AS_UIII_LIB.h”intphoto_1=0;/*用于保存左眼的亮度*/intphoto_2=0;/*用于保存右眼的亮度*/voidmain()/*主程序说明*/{/*主程序开始标志*/while(1){photo_1=photo(1);/*采集左眼的亮度*/photo_2=photo(2);/*采集右眼的亮度*/if((photo_150)||(photo_250)){stop();/*已经接近火源则停止*/}else{if(photo_1photo_2)/*如果左边亮则左转*/{drive(0,50);wait(2.500000);stop();}else{if(photo_2==photo_1)/*如果两边相等则直走*/{motor(1,80);motor(2,80);}else/*如果右边亮则右转*/{drive(0,-50);wait(2.500000);stop();}}}}while(1){}}实验十机器人跟人走1、功能:机器人利用红外传感器检测人的脚,一旦确定方向,则向该方向前进;2、实验目的:练习条件循环编程结构,学习光敏检测;3、用到的部件:光敏电阻;4、扩展:试验中在执行判断语句时需要注意的是光线的强度和光敏传感器返回的数值之间的反比关系;5、提供示例:流程图,VJC流程图编程,JC代码程序。#includeAS_UIII_LIB.hintir_1=0;/*用于保存红外采集的数据*/voidmain(){while(1){ir_1=ir_detector();/*采集红外传感器的数值*/if(ir_1==4)/*如果障碍物在前方则前行*/{printf(FRONT);drive(80,0);wait(0.100000);stop();}else{ir_1=ir_detector();if(ir_1==1)/*如果障碍物在左边则左转*/{printf(LEFT);drive(0,80);wait(0.100000);stop();drive(80,0);wait(0.100000);stop();}else{ir_1=ir_detector();if(ir_1==2)/*如果障碍物在右边则右转*/{printf(RIGHT);drive(0,-80);wait(0.100000);stop();drive(80,0);wait(0.100000);stop();}else{printf(IAMLOST!);stop();/*停止执行程序*/}}}}while(1){}}实验十一机器人灭火1、功能:机器人利用红外传感器、碰撞传感器、光敏等检测模块,在设置的房间模型内进行巡视,找到光源并进行灭火;2、实验目的:练习机器人传感器的综合使用;3、用到的部件:红外传感器、碰撞传感器、光敏电阻、电机;4、扩展:可以加入地面灰度传感器和风扇,完善该程序;5、提供示例:流程图,VJC流程图编程,JC代码程序。#includeAS_UIII_LIB.hintir_1=0;intphoto_1=0;intphoto_2=0;intbmp_1=0;floattim_1=0.0;intgi_1=0;intgi_2=0;intma_3=0;voidSubRoutine_3();voidSubRoutine_2();voidmain(){gi_1=1;gi_2=1;while(1){if(gi_2==1){SubRoutine_3();photo_1=photo(1);photo_2=photo(2);if((photo_1100)||(photo_2100)){gi_2=2;}}else{if(gi_2==2){SubRoutine_2();ma_3=analogport(5);if(ma_3120){gi_2=3;}}else{if(gi_2==3){stop();wait(0.500000);motor(1,-100);motor(2,100);motor(3,100);wait(5.000000);stop();/*stop_motor(3);*/wait(15.000000);}}}}}/*******************************************/voidSubRoutine_1(){ir_1=ir_detector();if(ir_1==1){drive(0,80);wait(0.100000);stop();}else{if(ir_1==4){drive(0,80);wait(0.150000);stop();}else{motor(1,20);motor(2,80);wait(0.100000);}}return;}/***********