programming and robots and centrifuges, oh my!

15
PROGRAMMING AND ROBOTS AND CENTRIFUGES, OH MY! Group Four Catherine Fahey, Steven Falzerano, Nicollette Fernandez, Eliot M. Fine and Stefan Toubia

Upload: peta

Post on 23-Feb-2016

45 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programming and Robots and  Centrifuges, Oh my!

PROGRAMMING AND ROBOTS AND CENTRIFUGES, OH MY!

Group FourCatherine Fahey, Steven Falzerano,

Nicollette Fernandez, Eliot M. Fine and Stefan Toubia

Page 2: Programming and Robots and  Centrifuges, Oh my!

Los Jefes

Darth Vader

Page 3: Programming and Robots and  Centrifuges, Oh my!

ObjectiveTo 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.

Page 4: Programming and Robots and  Centrifuges, Oh my!

Resources

Handyboard 2 motors 2 analog light sensors,

Lego's (this includes treads, wheels, and gears)

Page 5: Programming and Robots and  Centrifuges, Oh my!

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.

Page 6: Programming and Robots and  Centrifuges, Oh my!

Codevoid 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        }    }}

Page 7: Programming and Robots and  Centrifuges, Oh my!
Page 8: Programming and Robots and  Centrifuges, Oh my!

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

Page 9: Programming and Robots and  Centrifuges, Oh my!

BUILDING A CENTRIFUGE

Page 10: Programming and Robots and  Centrifuges, Oh my!

What is a Centrifuge? A piece of equipment that rotates about an

axis Uses centrifugal forces to separate

substancesHeaviest molecules move to the bottom of the

tube Used in biology, chemistry, and aeronautics

Separate substances Meselson and Stahl experiment

Page 11: Programming and Robots and  Centrifuges, Oh my!

Set Up Used: IR “Top-Hat” sensor, scotch tape and a

cuvette, gears, wheels Constructed:

Base of legos Motor with gears to create an axelT-shaped crossbar attached to the axelOne side had a cuvette the other had a

counterweightTires attached to base to act as shock absorbers

and supports*Note: need white paper behind cuvette

Page 12: Programming and Robots and  Centrifuges, Oh my!

die Windmühle

Page 13: Programming and Robots and  Centrifuges, Oh my!

Codevoid main(){

int speed=0;float separation_time=5.0; // Time, seconds, that centrifuge will spinfloat ramp_time=0.1; // Time, seconds, between speedsprintf ("\nHold Down Start Button to Take Readings");while (start_button()==0) {}while (start_button()==1) { // Top-Hat reads while button is pressedprintf ("\nAmount mixed is %d", analog(3));sleep (0.2);}while (speed<=100) { // Speed gradually increases from 0 to 100printf ("\nSpeed is %d",speed);motor (1,speed);sleep (ramp_time);speed++;}sleep (separation_time); // Centrifuge spins for specified time at 100while (speed>0) { // Speed gradually decreases from 100 to 0printf ("\nSpeed is %d",speed);motor (1,speed);sleep (ramp_time);speed--;}ao();while (speed==0) { // Everthing shuts off and Top-Hat reads againprintf ("\nMixation = %d, Did they separate?”,analog(3));sleep (0.2);}

}

http://tinypic.com/player.php?v=34njo6s&s=4

Page 14: Programming and Robots and  Centrifuges, Oh my!

Data:

Trial #

Sensor Rading (before

separation)Sensor Reading (after

separation)Ramp UP Time (s)

Time to Separate (s)

Ramp DOWN Time (s)

    Oil Water

   

1 13 128 9

0.1     

0.5     

 0.1    

2 12 118 83 24 122 104 10 88 105 9 95 13

Page 15: Programming and Robots and  Centrifuges, Oh my!

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