JBC Botball小学组例程.docx
- 文档编号:480722
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:23
- 大小:1.59MB
JBC Botball小学组例程.docx
《JBC Botball小学组例程.docx》由会员分享,可在线阅读,更多相关《JBC Botball小学组例程.docx(23页珍藏版)》请在冰豆网上搜索。
JBCBotball小学组例程
JBC挑战1碰一下就走
//使用motor和msleep语句控制小车直线行驶,碰到易拉罐之后返回启动区。
intmain()
{
motor(0,100);
motor(3,100);
msleep(5000);//令0号端口的电机以100%满速前进,程序暂停5秒
motor(0,-100);
motor(3,-100);
msleep(5000);//令3号端口的电机以100%满速后退
ao();//关闭所有电机
}
JBC挑战2绕罐返回
//绕可乐罐转半圈返回启动区
intmain()
{
motor(0,100);
motor(3,100);
msleep(5000);//0号和3号电机满速前进(直行)
motor(0,100);
motor(3,0);
msleep(1500);//0号电机满速前进,3号电机停止运行(左转弯)
motor(0,100);
motor(3,100);
msleep(1500);//直行
motor(0,100);
motor(3,0);
msleep(1500);//左转弯
motor(0,100);
motor(3,100);
msleep(5000);//返回启动区
ao();//关闭所有电机
}
JBC挑战3精确停靠
//使用motor语句以及msleep语句,让小车按照预定路线行驶,准确停在黄色、蓝色以及绿色库中。
绿色库:
intmain()
{
motor(0,100);
motor(3,100);
msleep(4000);//直行
ao();//结束
}
蓝色库:
intmain()
{
motor(0,100);
motor(3,100);
msleep(4000);//直行
motor(0,50);
motor(3,100);
msleep(1500);//0号电机以50%的速度前进,3号舵机以100%的速度前进1.5秒(右转弯)
motor(0,100);
motor(3,100);
msleep(3000);//直行
ao();
}
黄色库:
intmain()
{
motor(0,100);
motor(3,100);
msleep(5000);//直行
motor(0,100);
motor(3,0);
msleep(1000);//左转弯
motor(0,100);
motor(3,100);
msleep(1000);//直行
motor(0,100);
motor(3,0);
msleep(1000);//左转弯
motor(0,100);
motor(3,100);
msleep(1500);//直行
ao();//结束
}
JBC挑战4蛇形穿罐
//准确地使用语句让小车完成任务,使用函数让代码更加清晰易读
voiddrive_turn_left();
voiddrive_turn_right();
voiddrive_forward();
intmain()
{
motor(0,100);
motor(3,100);
msleep(3000);
drive_turn_left();
drive_forward();
drive_turn_right();
drive_forward();
drive_turn_right();
drive_forward();
drive_turn_left();
drive_forward();
drive_turn_left();
drive_forward();
drive_turn_right();
drive_forward();
drive_turn)right();
drive_forward();
drive_turn_right();
motor(0,100);
motor(3,100);
msleep(4500);
ao();
}
voiddrive_turn_left()
{
motor(0,100);
motor(3,0);
msleep(1200);//左转弯
}
voiddrive_turn_right()
{
motor(0,0);
motor(3,100);
msleep(1200);//右转弯
}
voiddrive_forward()
{
motor(0,100);
motor(3,100);
msleep(1200);//直走
}
JBC挑战5全力装载
//在挑战3的基础之上加上机械臂来收集可乐瓶
进入绿色库:
intmain()
{
motor(0,100);
motor(3,100);
msleep(4000);
ao();
}
进入蓝色库:
intmain()
{
motor(0,100);
motor(3,100);
msleep(4000);
motor(0,50);
motor(3,100);
msleep(1500);
motor(0,100);
motor(3,100);
msleep(3000);
ao();
}
进入黄色库:
intmain()
{
motor(0,100);
motor(3,100);
msleep(5000);
motor(0,100);
motor(3,0);
msleep(1000);
motor(0,100);
motor(3,100);
msleep(1000);
motor(0,100);
motor(3,0);
msleep(1000);
motor(0,100);
motor(3,100);
msleep(1500);
ao();
}
JBC挑战6疯狂推罐机
//机器人在比赛途中可以驶出场地纸,可以设计一个长机械臂,从场地后将罐子推到启动区
voiddrive_left();
voiddrive_right();
voiddrive_forward();
intmain()
{
drive_right();
drive_forward();
msleep(3000);
drive_left();
drive_forward();
msleep(7000);
drive_left();
drive_forward();
msleep(3000);
drive_left();
drive_forward();
msleep(7000);
ao();
}
voiddrive_left()
{
motor(0,100);
motor(3,0);
msleep(1200);
}
voiddrive_right()
{
motor(0,0);
motor(3,100);
msleep(1200);
}
voiddrive_forward()
{
motor(0,100);
motor(3,100);
}
JBC挑战7沿线走
//使用传感器控制小车前进
intmain(){
while
(1){
if(analog10(0)>=512)//在0号端口接入巡线传感器
{
mav(0,750);
mav(3,100);
msleep(200);//如果非黑线,左转
}
elseif(analog10(0)<512)
{
mav(0,100);
mav(3,750);
msleep(200);//如果黑线,右转
}
}
}
JBC挑战8清扫道路
//用触碰传感器和巡线传感器移动,控制舵机抓取一个易拉罐
intmain(){
enable_servo
(1);//打开1号舵机
enable_servo(3);//打开3号舵机
set_servo_position(1,1000);//控制好机械爪的高度
set_servo_position(3,1500);//打开机械爪
while(digital(15)!
=1)//巡线前进直到15号端口上的触碰传感器被按下
{
if(analog10(0)>=512)//如果不是黑线左转
{
mav(0,750);
mav(3,100);
msleep(200);
}
elseif(analog10(0)<512)//如果黑线右转
{
mav(0,100);
mav(3,750);
msleep(200);
}
}
ao();//当端口15度数为“0”,电机停止运行
set_servo_position(3,440);//机械爪抓取物品
motor(0,-100);
motor(3,-100);//全速后退
msleep(4000);
disable_servos();
ao();
}
JBC挑战9直线行驶
//准确调整两个轮子的转速保持机器小车直线前进
intmain()
{
motor(0,100);
motor(3,100);//全速前进
msleep(5000);
motor(0,-100);
motor(3,-100);//全速后退
msleep(5000);
ao();
}
(使用motor控制速度受电量影响,使用mav函数控制电机能够得到更稳定的结果)
JBC挑战10蛇形
//蛇形主要挑战灵活运用舵机的控制,通过控制舵机的转速来完成锐角弯和钝角弯。
voiddrive_left();
voiddrive_right();
voiddrive_forward();
intmain()
{
drive_forward();
msleep(1000);
drive_right();
msleep(500);
motor(0,100);
motor(3,95);//使用motor、mav等函数到达指定位置
msleep(2000);
drive_left();
msleep(1500);
drive_forward();
msleep(3000);
drive_right();
msleep(1500);
drive_forward();
msleep(2500);
motor(0,100);
motor(3,50);
msleep(500);
ao();
}
voiddrive_left()
{
motor(0,100);
motor(3,0);
}
voiddrive_right()
{
motor(0,0);
motor(3,100);
}
voiddrive_forward()
{
motor(0,100);
motor(3,100);
}
JBC挑战11沿着外缘走
//同挑战沿线走,适当调整巡线传感器的位置,适当
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JBC Botball小学组例程 Botball 小学 例程