150 likes | 334 Views
Group Four Catherine Fahey, Steven Falzerano , Nicollette Fernandez, Eliot M. Fine and Stefan Toubia. Programming and Robots and Centrifuges, Oh my!. Los Jefes. Darth Vader. Objective.
E N D
Group Four Catherine Fahey, Steven Falzerano, Nicollette Fernandez, Eliot M. Fine and Stefan Toubia Programming and Robots and Centrifuges, Oh my!
Los Jefes Darth Vader
Objective To create a robot that follows a course laid out in black tape, make a u-turn, and return to the starting line following the tape again. In doing so, we can learn more about Interactive C programming and the Handyboard.
Resources • Handyboard • 2 motors • 2 analog light sensors, • Lego's (this includes treads, wheels, and gears)
Procedure: • We chose: • Treads: because the robot was able to make the adjustments more easily, and also the robot got more traction • Gears: because the motors were too weak to actually move the robot Our trial-and-error process helped us come to these conclusions.
Code void main(){ int lap; lap=0; while(start_button()==0){} while(1){ if(analog(5)<200 && analog(6)<200){ motor(1,100); motor(3,100); // if the light sensors read white then both motors go forward at a speed of 20 } else if(analog(5)>=200 && analog(6)<200){ motor(1,-100); motor(3,100); // but if analog 5 reads dark (the black tape), then the robot will turn right } else if(analog(5)<200 && analog (6)>=200){ motor(1,100); motor(3,-100); //but if analog 6 read dark, then the robot will turn left } else if(lap==0 && analog(5)>=200 && analog (6)>=200){ motor(1,-100); motor(3,100); sleep(1.5); //the robot reads dark, then the robot will make a u-turn and head to the start line while(analog(5)<200{}; lap ++; //new lap, repeats above but goes to next statement when reaches start line } else{ ao();// robot turns off once at start line again } } }
Challenges: • Friction • Our original design (3 wheels: 2 with tires, 1 without), did not pick up enough friction • Switched to treads • Motors were too weak, so we had to add gears to help give more force
What is a Centrifuge? • A piece of equipment that rotates about an axis • Uses centrifugal forces to separate substances • Heaviest molecules move to the bottom of the tube • Used in biology, chemistry, and aeronautics • Separate substances • Meselson and Stahl experiment
Set Up • Used: IR “Top-Hat” sensor, scotch tape and a cuvette, gears, wheels • Constructed: • Base of legos • Motor with gears to create an axel • T-shaped crossbar attached to the axel • One side had a cuvette the other had a counterweight • Tires attached to base to act as shock absorbers and supports *Note: need white paper behind cuvette
Code void main(){ int speed=0; float separation_time=5.0; // Time, seconds, that centrifuge will spin float ramp_time=0.1; // Time, seconds, between speeds printf ("\nHold Down Start Button to Take Readings"); while (start_button()==0) {} while (start_button()==1) { // Top-Hat reads while button is pressed printf ("\nAmount mixed is %d", analog(3)); sleep (0.2); } while (speed<=100) { // Speed gradually increases from 0 to 100 printf ("\nSpeed is %d",speed); motor (1,speed); sleep (ramp_time); speed++; } sleep (separation_time); // Centrifuge spins for specified time at 100 while (speed>0) { // Speed gradually decreases from 100 to 0 printf ("\nSpeed is %d",speed); motor (1,speed); sleep (ramp_time); speed--; } ao(); while (speed==0) { // Everthing shuts off and Top-Hat reads again printf ("\nMixation = %d, Did they separate?”,analog(3)); sleep (0.2); } } http://tinypic.com/player.php?v=34njo6s&s=4
Conclusions • We learned: • From the Robot: • Treads are slower but they have more traction • Going from big gears to small gears increases speed and from small gears to big gears increases torque • A sturdy frame is crucial • Improvements: • Our code could have had a slower, more careful turn, so that it would not whip around • Improvements with the centrifuge: • Faster motors, more durable parts, more easily-removable cuvettes, a built-in IR sensor • The code did work extremely well though