1 / 18

ECE 001 FINAL REPORT

BY: Liz Ork , Dara Novini , and Morgan Oxenrider. ECE 001 FINAL REPORT. TEAM PICTURE. Pictured from left to right: Liz Ork , Robert Proie , Jordan Newcome , Dara Novini , Morgan Oxenrider , Professor Ahmadi. Group #10. Robot Name: The Miracle Runner. PROJECT OBJECTIVES.

maylin
Download Presentation

ECE 001 FINAL REPORT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BY: Liz Ork, DaraNovini, and Morgan Oxenrider ECE 001 FINAL REPORT

  2. TEAM PICTURE Pictured from left to right: Liz Ork, Robert Proie, Jordan Newcome, DaraNovini, Morgan Oxenrider, Professor Ahmadi

  3. Group #10 Robot Name: The Miracle Runner

  4. PROJECT OBJECTIVES • Construct a robot with Lego pieces. • Program the robot using Interactive C so that the robot can move along a curved path from start to finish. • Once the robot as moved from start to finish, program the robot to make a U-turn and continue back along the curved path to the start line.

  5. PROJECT RESOURCES Parts List: • Handyboard • 2 Motors • 2 Analog Light Sensors • Lego Pieces • Tread Wheels

  6. PROGRAM LISTING void main() {     while(start_button()==0); /*begins program when start button is pressed*/       { }     while(1) /*repeats code indefinitely*/       {         if(analog(5)>200&&analog(6)>200) /*if both sensors read above 200, U-turn at end of course*/           { ao();             sleep(.5);             motor(3,-100);             motor(1,100);   sleep(1.75); /*180 degree turn*/

  7. PROGRAM LISTING (CONT.)         }         if(analog(5)>200) /*if sensor in port 5 reads above 200*/           {             motor(3,-100);             motor(1,90);         }         else if(analog(6)>200) /*if sensor in port 6 reads above 200*/             {               motor(3,90);               motor(1,-100);             }             else /*if neither sensors read above 200*/               {                 motor(3,-100);                 motor(1,-100);           }         }     }

  8. ROBOT DESIGN • We chose to use treads instead of wheels to make the turning of the robot smoother. Also, by using treads, one part of the robot did not drag during turns. • We chose to program our robot at maximum power so the treads could move easily under the weight of the robot.

  9. ROBOT DEVELOPMENT • Each team member took part in both the software (programming) and “hardware,” or building of the robot. • We started by building the robot. After that we slowly started writing the program step by step. At first we focused on getting our robot to follow the path from beginning to end, and after we accomplished that, we worked on getting the robot to make the u-turn and follow the path back.

  10. CHALLENGES • We faced difficulties when trying to figure out how long to program our robot to spin when making the u-turn. • Another problem we faced was our gear ratio. We ended up having to redesign our gears and wheels in order to have enough power to turn the treads.

  11. SUCCESSES • We are proud that our robot was able to complete the U-Turn successfully, and follow the course back to the start.

  12. CENTRIFUGE • A centrifuge is a piece of equipment that puts a substance in a circular motion to separate one fluid from another by centrifugal force. • This centrifuge was used to separate oil and water. Since oil is less dense than water, oil will collect in the inner layer, while water collects in the outer layer.

  13. CENTRIFUGE SOURCE CODE void main() { int speed=0; float separation_time=1.0; /*sets sleep time for motor spinning at 100%*/ float ramp_time=.1; printf("\nPress start button to begin"); while (start_button()==0) { } /*press start button to begin program*/ while(stop_button()==0) /*print reading when stop button is pressed*/ { printf("\nMixed up Value=%d", analog(20)); sleep(2.0); } while (speed<100) /*ramp speed up*/ {

  14. CENTRIFUGE SOURCE CODE (CONT.) motor(1,speed); speed=speed+3; sleep(0.5); } sleep (separation_time); /*motor spinning at 100% for set time*/ while(speed>=100) /*ramp speed down*/ { motor(1,speed); speed=speed-3; sleep(0.5); } ao(); /*all motors off*/ while(stop_button()==0) /*print reading from sensor when stop button is pressed*/ { printf("\nMixed up Value=%d", analog(20)); sleep(2.0); } }

  15. RESULTS ***Estimated Values Average=3

  16. RESULTS (CONT.)

  17. CONCLUSIONS • As a group, we have learned many things throughout the process of building and successfully completing both our robot and centrifuge. • We learned that software (the code we wrote) is taken very literally. For example, when you tell something “on,” it will turn on immediately and all at once. • We also learned you often had to experiment with the programming and the building materials to ensure that the robot ran as smoothly as possible. • We were also forced to account for the stability of both projects because if they were not sturdy, it would be difficult for the robot to run and support the handyboard, and for the centrifuge to stay together when spinning.

  18. CONCLUSIONS • Overall, we all expected both tasks to be much more challenging than they turned out to be. This by no means is saying that either task was easy, as we often received the “error” statement when writing our programs. While still being quite a task, once we gained a greater understanding of Interactive C and the language that goes along with it, the task was doable.

More Related