Last active 1 month ago

Revision 135938c2e9155acf2c0ee167cd88562899352699

Botball Code Library(Drive).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
Botball Code Library.xlsx Raw
This file can't be rendered. View the full file.
Drive.c Raw
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 Raw
1Analog Sensor,,,,
2Task,Code,,Notes,
3,,,,
4ET,"//measure distance
5while (analog (1)<=2900)
6 {
7 motor(0,50);
8 motor(3,50);
9 }
10//pause
11 ao();
12 msleep(100);",,,
13,,,,
14"IR Sensor:
15Large/
16Small 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);
39while (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"");
52int right = 0;
53//3 biger then one int left = 0;
54cmpc(0);
55while (gmpc(0) < 20000) { if (analog(0) > black) { motor (0,25 - right);
56motor (3,100);
57msleep(1);
58right = right + 1;
59left = left - 1;
60msleep(1);
61} if (analog(0) < black) { motor(3,25 - left); motor (0,100);
62msleep(1);
63left = left + 1;
64right = right - 1;
65msleep(1);
66} printf(""left %d and right %d\n"",left, right);
67}
68return 0;
69}","//Follow the line with 2 sensors
70#include <kipr/wombat.h> int main() { int difference=2000;
71while(digital(0)==0) { //while lever sensor is not pressed
72if (analog(1)<=difference && analog(0)<=difference){ //if both tophat sensors are on white go forwards
73motor(0,50);
74motor(3,50);
75msleep(25);
76printf(""1\n"");
77}
78else if (analog(1)<=difference) { //if tophat sensor 1 is on white, turn right motor(0,-10);
79motor(3,50);
80msleep(25);
81printf(""2\n"");
82}
83else if (analog(0)<=difference) { //if tophat sensor 0 is on white, turn left motor(0,50);
84motor(3,-10);
85msleep(25);
86printf(""3\n"");
87}
88else{ //if both sensors are on black go forwards
89motor(0,100);
90motor(3,100);
91msleep(25);
92printf(""4\n"");
93}
94}
95return 0; }"
96,,,,
97,,,,
98,,,,
99Linear Slide,,,,
Untitled spreadsheet - Arm.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); }
Untitled spreadsheet - Camera.csv Raw
Camera
Task Code Notes
Find Objects
KIP Camera Curriculum Link https://www.kipr.org/wombat-curriculum/camera
Untitled spreadsheet - Compiled Code.csv Raw
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 Raw
1Digital Sensor,,
2Task,Code,Notes
3,,
4"Touch Sensor:
5-Lever
6-Small Touch
7-Large Touch"," //Touch Sensor
8while (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
23wait for light code,"//wait for light
24 wait_for_light (0);","//wait for light with button
25if(push_button() ==1 {wait_for_light (0);}"
26shut down,"// Shuts down all motors after 119 seconds (just less than 2 minutes).
27shut_down_in(119);",
Untitled spreadsheet - Drive.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
Untitled spreadsheet - Mecanum Drive.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();

Comments

No comments yet.

Log in to leave a comment.