Botball Code Library(Drive).csv
· 892 B · CSV
Raw
Drive,,
Task,Code,Notes
,,
Pause,"// pause
ao();
msleep(2000);",
,,
Forward,"// forward
motor (0,100);
motor (3,100);
msleep (250);","//if using MAV
void Move(int l_power,int r_power,int time)
{mav(0,l_power);
mav(3,r_power);
msleep(time);
ao();
sleep(100); }"
,,
Backward,"// backward
motor (0,-100);
motor (3,-100);
msleep (250);",
,,
Turn 90 Degrees Right,"// 90 degree turn right
motor(0,0);
motor(3,100);
msleep (1500);",
,,
Turn 90 Degrees Left,"// 90 degree turn Left
motor(0,100);
motor(3,0);
msleep (1500);",
,,
Motor Position Counter,"// motor position counter
clear_motor_position_counter(3);
while (get_motor_position_counter(3) < 4000)
{
motor(3,50);
motor (0,50);
}
ao();","Counts ""ticks""-complete wheel rotation
Your motors have approximately 1820 ticks per revolution"
,,
,,
| Drive | ||
|---|---|---|
| Task | Code | Notes |
| Pause | // pause ao(); msleep(2000); | |
| Forward | // forward motor (0,100); motor (3,100); msleep (250); | //if using MAV void Move(int l_power,int r_power,int time) {mav(0,l_power); mav(3,r_power); msleep(time); ao(); sleep(100); } |
| Backward | // backward motor (0,-100); motor (3,-100); msleep (250); | |
| Turn 90 Degrees Right | // 90 degree turn right motor(0,0); motor(3,100); msleep (1500); | |
| Turn 90 Degrees Left | // 90 degree turn Left motor(0,100); motor(3,0); msleep (1500); | |
| Motor Position Counter | // motor position counter clear_motor_position_counter(3); while (get_motor_position_counter(3) < 4000) { motor(3,50); motor (0,50); } ao(); | Counts "ticks"-complete wheel rotation Your motors have approximately 1820 ticks per revolution |
Botball Code Library.xlsx
· 124 KiB · Binary
Raw
This file can't be rendered. View the full file.
Drive.c
· 744 B · C
Raw
// pause
ao();
msleep(2000);"
// forward
motor (0,100);
motor (3,100);
msleep (250);"
// 90 degree turn right
motor(0,0);
motor(3,100);
msleep (1500);"
// 90 degree turn Left
motor(0,100);
motor(3,0);
msleep (1500);
/*Counts "ticks"-complete wheel rotation
Your motors have approximately 1820 ticks per revolution
*/
// motor position counter
clear_motor_position_counter(3);
while (get_motor_position_counter(3) < 4000)
{
motor(3,50);
motor (0,50);
}
ao();
//if using MAV
void Move(int l_power,int r_power,int time)
{mav(0,l_power);
mav(3,r_power);
msleep(time);
ao();
sleep(100); }
| 1 | // pause |
| 2 | ao(); |
| 3 | msleep(2000);" |
| 4 | |
| 5 | |
| 6 | // forward |
| 7 | motor (0,100); |
| 8 | motor (3,100); |
| 9 | msleep (250);" |
| 10 | |
| 11 | |
| 12 | // 90 degree turn right |
| 13 | motor(0,0); |
| 14 | motor(3,100); |
| 15 | msleep (1500);" |
| 16 | |
| 17 | |
| 18 | // 90 degree turn Left |
| 19 | motor(0,100); |
| 20 | motor(3,0); |
| 21 | msleep (1500); |
| 22 | |
| 23 | |
| 24 | /*Counts "ticks"-complete wheel rotation |
| 25 | Your motors have approximately 1820 ticks per revolution |
| 26 | */ |
| 27 | // motor position counter |
| 28 | clear_motor_position_counter(3); |
| 29 | while (get_motor_position_counter(3) < 4000) |
| 30 | { |
| 31 | motor(3,50); |
| 32 | motor (0,50); |
| 33 | } |
| 34 | ao(); |
| 35 | |
| 36 | |
| 37 | //if using MAV |
| 38 | void Move(int l_power,int r_power,int time) |
| 39 | {mav(0,l_power); |
| 40 | mav(3,r_power); |
| 41 | msleep(time); |
| 42 | ao(); |
| 43 | sleep(100); } |
Untitled spreadsheet - Analog Sensor.csv
· 2.4 KiB · CSV
Raw
Analog Sensor,,,,
Task,Code,,Notes,
,,,,
ET,"//measure distance
while (analog (1)<=2900)
{
motor(0,50);
motor(3,50);
}
//pause
ao();
msleep(100);",,,
,,,,
"IR Sensor:
Large/
Small Tophat","//Find Black
//move forward until black is detected
while (analog(1)<=1580)//stop on black
{
printf(""start loop move forawrd\n"");
motor (0,80);
motor (3,80);
}
//move bakward until black is no longer deteted
while (analog (1)>=1580)//stop on black
{
printf(""start loop move backward\n"");
motor(0,-80);
motor(3,-80);
}
printf(""start loop stops\n"");
//pause
ao();
msleep(100); ","//follow the line
cmpc(0);
while (gmpc(0) < 40000){
if (analog(1)<3500){
motor (0,80);
motor (3,5);
}
else{
motor (0,5);
motor (3,80);}
}
return 0;
}","//Follow the line Race
#include <kipr/wombat.h> #define black 3750 int main()
{ printf(""follow the line 23.95\n"");
int right = 0;
//3 biger then one int left = 0;
cmpc(0);
while (gmpc(0) < 20000) { if (analog(0) > black) { motor (0,25 - right);
motor (3,100);
msleep(1);
right = right + 1;
left = left - 1;
msleep(1);
} if (analog(0) < black) { motor(3,25 - left); motor (0,100);
msleep(1);
left = left + 1;
right = right - 1;
msleep(1);
} printf(""left %d and right %d\n"",left, right);
}
return 0;
}","//Follow the line with 2 sensors
#include <kipr/wombat.h> int main() { int difference=2000;
while(digital(0)==0) { //while lever sensor is not pressed
if (analog(1)<=difference && analog(0)<=difference){ //if both tophat sensors are on white go forwards
motor(0,50);
motor(3,50);
msleep(25);
printf(""1\n"");
}
else if (analog(1)<=difference) { //if tophat sensor 1 is on white, turn right motor(0,-10);
motor(3,50);
msleep(25);
printf(""2\n"");
}
else if (analog(0)<=difference) { //if tophat sensor 0 is on white, turn left motor(0,50);
motor(3,-10);
msleep(25);
printf(""3\n"");
}
else{ //if both sensors are on black go forwards
motor(0,100);
motor(3,100);
msleep(25);
printf(""4\n"");
}
}
return 0; }"
,,,,
,,,,
,,,,
Linear Slide,,,,
| 1 | Analog Sensor,,,, |
| 2 | Task,Code,,Notes, |
| 3 | ,,,, |
| 4 | ET,"//measure distance |
| 5 | while (analog (1)<=2900) |
| 6 | { |
| 7 | motor(0,50); |
| 8 | motor(3,50); |
| 9 | } |
| 10 | //pause |
| 11 | ao(); |
| 12 | msleep(100);",,, |
| 13 | ,,,, |
| 14 | "IR Sensor: |
| 15 | Large/ |
| 16 | Small Tophat","//Find Black |
| 17 | //move forward until black is detected |
| 18 | while (analog(1)<=1580)//stop on black |
| 19 | { |
| 20 | printf(""start loop move forawrd\n""); |
| 21 | motor (0,80); |
| 22 | motor (3,80); |
| 23 | } |
| 24 | //move bakward until black is no longer deteted |
| 25 | while (analog (1)>=1580)//stop on black |
| 26 | |
| 27 | { |
| 28 | printf(""start loop move backward\n""); |
| 29 | motor(0,-80); |
| 30 | motor(3,-80); |
| 31 | } |
| 32 | |
| 33 | printf(""start loop stops\n""); |
| 34 | |
| 35 | //pause |
| 36 | ao(); |
| 37 | msleep(100); ","//follow the line |
| 38 | cmpc(0); |
| 39 | while (gmpc(0) < 40000){ |
| 40 | if (analog(1)<3500){ |
| 41 | motor (0,80); |
| 42 | motor (3,5); |
| 43 | } |
| 44 | else{ |
| 45 | motor (0,5); |
| 46 | motor (3,80);} |
| 47 | } |
| 48 | return 0; |
| 49 | }","//Follow the line Race |
| 50 | #include <kipr/wombat.h> #define black 3750 int main() |
| 51 | { printf(""follow the line 23.95\n""); |
| 52 | int right = 0; |
| 53 | //3 biger then one int left = 0; |
| 54 | cmpc(0); |
| 55 | while (gmpc(0) < 20000) { if (analog(0) > black) { motor (0,25 - right); |
| 56 | motor (3,100); |
| 57 | msleep(1); |
| 58 | right = right + 1; |
| 59 | left = left - 1; |
| 60 | msleep(1); |
| 61 | } if (analog(0) < black) { motor(3,25 - left); motor (0,100); |
| 62 | msleep(1); |
| 63 | left = left + 1; |
| 64 | right = right - 1; |
| 65 | msleep(1); |
| 66 | } printf(""left %d and right %d\n"",left, right); |
| 67 | } |
| 68 | return 0; |
| 69 | }","//Follow the line with 2 sensors |
| 70 | #include <kipr/wombat.h> int main() { int difference=2000; |
| 71 | while(digital(0)==0) { //while lever sensor is not pressed |
| 72 | if (analog(1)<=difference && analog(0)<=difference){ //if both tophat sensors are on white go forwards |
| 73 | motor(0,50); |
| 74 | motor(3,50); |
| 75 | msleep(25); |
| 76 | printf(""1\n""); |
| 77 | } |
| 78 | else if (analog(1)<=difference) { //if tophat sensor 1 is on white, turn right motor(0,-10); |
| 79 | motor(3,50); |
| 80 | msleep(25); |
| 81 | printf(""2\n""); |
| 82 | } |
| 83 | else if (analog(0)<=difference) { //if tophat sensor 0 is on white, turn left motor(0,50); |
| 84 | motor(3,-10); |
| 85 | msleep(25); |
| 86 | printf(""3\n""); |
| 87 | } |
| 88 | else{ //if both sensors are on black go forwards |
| 89 | motor(0,100); |
| 90 | motor(3,100); |
| 91 | msleep(25); |
| 92 | printf(""4\n""); |
| 93 | } |
| 94 | } |
| 95 | return 0; }" |
| 96 | ,,,, |
| 97 | ,,,, |
| 98 | ,,,, |
| 99 | Linear Slide,,,, |
Untitled spreadsheet - Arm.csv
· 583 B · CSV
Raw
Arm,,
Task,Code,Notes
,,
Turn Arm On,enable_servos();,
,,
Turn Arm Off,disable_servos();,
,,
Set Start Position,"set_servo_position(0,734);",
,,
Rotate Up,"//up
set_servo_position(0,724);
msleep(1000);",
,,
Rotate Down,"//down
set_servo_position(0,1824);
msleep(1000);",
,,
Claw Open ,"//open
set_servo_position(3,724);
msleep(1000);",
,,
Claw Closed,"//close
set_servo_position(3,1933);
msleep(1000);",
,,
Servos Movement,"void RunStart(int port,int sleep)
{
enable_servos(); set_servo_position(port,sleep);
ao();
msleep(100);
}",
| Arm | ||
|---|---|---|
| Task | Code | Notes |
| Turn Arm On | enable_servos(); | |
| Turn Arm Off | disable_servos(); | |
| Set Start Position | set_servo_position(0,734); | |
| Rotate Up | //up set_servo_position(0,724); msleep(1000); | |
| Rotate Down | //down set_servo_position(0,1824); msleep(1000); | |
| Claw Open | //open set_servo_position(3,724); msleep(1000); | |
| Claw Closed | //close set_servo_position(3,1933); msleep(1000); | |
| Servos Movement | void RunStart(int port,int sleep) { enable_servos(); set_servo_position(port,sleep); ao(); msleep(100); } |
Untitled spreadsheet - Camera.csv
· 152 B · CSV
Raw
Camera,,
Task,Code,Notes
Find Objects,,
,,
,,
,,
,,
,,
,,
,,
,,
,,"KIP Camera Curriculum Link
https://www.kipr.org/wombat-curriculum/camera "
| Camera | ||
|---|---|---|
| Task | Code | Notes |
| Find Objects | ||
| KIP Camera Curriculum Link https://www.kipr.org/wombat-curriculum/camera |
Untitled spreadsheet - Compiled Code.csv
· 754 B · CSV
Raw
"//Code to test if all on bot is working
#include <kipr/wombat.h> void test_servo(port) { printf(""testing servo%d\n"",port); printf(""\tup 2 seconds\n""); enable_servo(port); enable_servos(); set_servo_position(port,0); msleep(2000); set_servo_position(port,2047); msleep(2000); disable_servo(port); disable_servos(); } void test_motor(port) { printf(""testing motor%d\n"",port); printf(""\tforward 2 seconds\n""); motor(port,100); msleep(2000); printf(""\tbackwords 2 seconds\n""); motor(port,-100); msleep(2000); ao(); } int main() { test_motor(0); test_motor(1); test_motor(2); test_motor(3); test_servo(0); test_servo(1); return 0; }"
| 1 | "//Code to test if all on bot is working |
| 2 | |
| 3 | #include <kipr/wombat.h> void test_servo(port) { printf(""testing servo%d\n"",port); printf(""\tup 2 seconds\n""); enable_servo(port); enable_servos(); set_servo_position(port,0); msleep(2000); set_servo_position(port,2047); msleep(2000); disable_servo(port); disable_servos(); } void test_motor(port) { printf(""testing motor%d\n"",port); printf(""\tforward 2 seconds\n""); motor(port,100); msleep(2000); printf(""\tbackwords 2 seconds\n""); motor(port,-100); msleep(2000); ao(); } int main() { test_motor(0); test_motor(1); test_motor(2); test_motor(3); test_servo(0); test_servo(1); return 0; }" |
Untitled spreadsheet - Digital Sensor.csv
· 567 B · CSV
Raw
Digital Sensor,,
Task,Code,Notes
,,
"Touch Sensor:
-Lever
-Small Touch
-Large Touch"," //Touch Sensor
while (digital (0)==0)
{
motor (0,100);
motor (3,100);
}
ao();
msleep(1000);
while (digital(1)==0)
{
motor (0,-100);
motor (3,-100);
}
ao();
msleep(1000);",buttons
wait for light code,"//wait for light
wait_for_light (0);","//wait for light with button
if(push_button() ==1 {wait_for_light (0);}"
shut down,"// Shuts down all motors after 119 seconds (just less than 2 minutes).
shut_down_in(119);",
| 1 | Digital Sensor,, |
| 2 | Task,Code,Notes |
| 3 | ,, |
| 4 | "Touch Sensor: |
| 5 | -Lever |
| 6 | -Small Touch |
| 7 | -Large Touch"," //Touch Sensor |
| 8 | while (digital (0)==0) |
| 9 | { |
| 10 | motor (0,100); |
| 11 | motor (3,100); |
| 12 | } |
| 13 | ao(); |
| 14 | msleep(1000); |
| 15 | |
| 16 | while (digital(1)==0) |
| 17 | { |
| 18 | motor (0,-100); |
| 19 | motor (3,-100); |
| 20 | } |
| 21 | ao(); |
| 22 | msleep(1000);",buttons |
| 23 | wait for light code,"//wait for light |
| 24 | wait_for_light (0);","//wait for light with button |
| 25 | if(push_button() ==1 {wait_for_light (0);}" |
| 26 | shut down,"// Shuts down all motors after 119 seconds (just less than 2 minutes). |
| 27 | shut_down_in(119);", |
Untitled spreadsheet - Drive.csv
· 898 B · CSV
Raw
Drive,,
Task,Code,Notes
,,
Pause,"// pause
ao();
msleep(2000);",
,,
Forward,"// forward
motor (0,100);
motor (3,100);
msleep (250);","//if using MAV
void Move(int l_power,int r_power,int time)
{mav(0,l_power);
mav(3,r_power);
msleep(time);
ao();
sleep(100); }"
,,
Backward,"// backward
motor (0,-100);
motor (3,-100);
msleep (250);",
,,
Turn 90 Degrees Right,"// 90 degree turn right
motor(0,0);
motor(3,100);
msleep (1500);",
,,
Turn 90 Degrees Left,"// 90 degree turn Left
motor(0,100);
motor(3,0);
msleep (1500);",
,,
Motor Position Counter,"// motor position counter
clear_motor_position_counter(3);
while (get_motor_position_counter(3) < 4000)
{
motor(3,50);
motor (0,50);
}
ao();","Counts ""ticks""-complete wheel rotation
Your motors have approximately 1820 ticks per revolution"
| Drive | ||
|---|---|---|
| Task | Code | Notes |
| Pause | // pause ao(); msleep(2000); | |
| Forward | // forward motor (0,100); motor (3,100); msleep (250); | //if using MAV void Move(int l_power,int r_power,int time) {mav(0,l_power); mav(3,r_power); msleep(time); ao(); sleep(100); } |
| Backward | // backward motor (0,-100); motor (3,-100); msleep (250); | |
| Turn 90 Degrees Right | // 90 degree turn right motor(0,0); motor(3,100); msleep (1500); | |
| Turn 90 Degrees Left | // 90 degree turn Left motor(0,100); motor(3,0); msleep (1500); | |
| Motor Position Counter | // motor position counter clear_motor_position_counter(3); while (get_motor_position_counter(3) < 4000) { motor(3,50); motor (0,50); } ao(); | Counts "ticks"-complete wheel rotation Your motors have approximately 1820 ticks per revolution |
Untitled spreadsheet - Mecanum Drive.csv
· 1.7 KiB · CSV
Raw
backwards,"//backward
motor(0,-100);
motor(1,-100);
motor(2,-100);
motor(3,-100);
msleep(3000);
"
,
forwards,"//forward
motor(1,100);
motor(2,100);
motor(3,100);
msleep(3000);
"
,
left diagonal,"//left diagonal
void turn_left_90();
int main()
{
turn_left_90();
return 0;
}
void turn_left_90()
{
cmpc(1);
while (gmpc(1)< 1350)
{
motor(0,0);
motor(1,100);
motor(2,0);
motor(3,100);
}
ao();
}"
,
left sideways,"//left sideways
int main()
{
turn_left_90();
return 0;
}
void turn_left_90()
{
cmpc(0);
while (gmpc(0)< 1350)
{
motor(0,100);
motor(1,-100);
motor(2,100);
motor(3,-100);
}
ao();
}"
,
right diagonal,"//right diagonal
int main()
{
turn_left_90();
return 0;
}
void turn_left_90()
{
cmpc(0);
while (gmpc(0)< 1350)
{
motor(0,100);
motor(1,0);
motor(2,100);
motor(3,0);
}
ao();
}"
,
right sideways,"//right sideways
int main()
{
turn_left_90();
return 0;
}
void turn_left_90()
{
cmpc(0);
while (gmpc(0)< 1350)
{
motor(0,-100);
motor(1,100);
motor(2,-100);
motor(3,100);
}
ao();
}"
,
Motor Position Counter (maybe),"int main()
{
turn_left_90();
return 0;
//mpc
}
void turn_left_90()
{
cmpc(0);
while (gmpc(0)< 1350)
{
motor(0,100);
motor(1,-100);
motor(2,100);
motor(3,-100);
ao();
}
void forward()
{
cmpc (0);
while (gmpc(0)<2000)
{
motor(0,100);
motor(1,100);
motor(2,100);
motor(3,100);
msleep(3000);
ao();"
| backwards | //backward motor(0,-100); motor(1,-100); motor(2,-100); motor(3,-100); msleep(3000); |
|---|---|
| forwards | //forward motor(1,100); motor(2,100); motor(3,100); msleep(3000); |
| left diagonal | //left diagonal void turn_left_90(); int main() { turn_left_90(); return 0; } void turn_left_90() { cmpc(1); while (gmpc(1)< 1350) { motor(0,0); motor(1,100); motor(2,0); motor(3,100); } ao(); } |
| left sideways | //left sideways int main() { turn_left_90(); return 0; } void turn_left_90() { cmpc(0); while (gmpc(0)< 1350) { motor(0,100); motor(1,-100); motor(2,100); motor(3,-100); } ao(); } |
| right diagonal | //right diagonal int main() { turn_left_90(); return 0; } void turn_left_90() { cmpc(0); while (gmpc(0)< 1350) { motor(0,100); motor(1,0); motor(2,100); motor(3,0); } ao(); } |
| right sideways | //right sideways int main() { turn_left_90(); return 0; } void turn_left_90() { cmpc(0); while (gmpc(0)< 1350) { motor(0,-100); motor(1,100); motor(2,-100); motor(3,100); } ao(); } |
| Motor Position Counter (maybe) | int main() { turn_left_90(); return 0; //mpc } void turn_left_90() { cmpc(0); while (gmpc(0)< 1350) { motor(0,100); motor(1,-100); motor(2,100); motor(3,-100); ao(); } void forward() { cmpc (0); while (gmpc(0)<2000) { motor(0,100); motor(1,100); motor(2,100); motor(3,100); msleep(3000); ao(); |
Comments
No comments yet.
Log in to leave a comment.