MindStorms Robot

26
Learning to Program with Learning to Program with Robots Robots

description

MindStorms Robot. Learning to Program with Robots. What is MindStorm Robots?. Designed to introduce students to programming, logical thinking, teamwork, and project-based learning. Lego Robots. Robot Construction. Choose your robot design from the following list: Hank Minerva - PowerPoint PPT Presentation

Transcript of MindStorms Robot

Page 1: MindStorms Robot

Learning to Program with Learning to Program with RobotsRobots

Page 2: MindStorms Robot

Designed to introduce students to programming, logical thinking, teamwork, and project-based learning

Page 3: MindStorms Robot
Page 4: MindStorms Robot

Choose your robot design from the following list:

Hank

Minerva

Mushi Mushi 7

Trusty

TankBot

Page 5: MindStorms Robot

1. Choose a partner to work together as a team.

2. Choose your robot design.

3. Establish team member roles.

4. Inventory Mind Storm tackle box parts placement.

5. Create your robot according to the design plan.

Steps:

Page 6: MindStorms Robot

Steps:

6. Examine Course Rules

7. Program Mind Storm Robot to run course.

8. Complete test run of course.

9. Finalize Mind Storm Robot programming.

Page 7: MindStorms Robot
Page 8: MindStorms Robot
Page 9: MindStorms Robot

Peg Connector (J)

Page 10: MindStorms Robot

Full Bushing

24 tooth gear wheel

Page 11: MindStorms Robot

2x8

plat

e with

hol

es

1x4 Plate

2x4 plate w/holes

Page 12: MindStorms Robot

Gear Motor

2x2 brick

2x8 plate w/holes

24 tooth gear wheel

Page 13: MindStorms Robot

RCX Connector

Pegs

1.5 Connection Pegs

1x8 brick

Page 14: MindStorms Robot

Rims

Full Bushings

16 tooth

gear wheel

Connecting

leads

Caterpillar Belts

Page 15: MindStorms Robot

The key to programming your Robot is to determine how to solve the problem followed by writing down the logical steps to accomplish your goal.

Page 16: MindStorms Robot

import josx.platform.rcx.*;public class Robot{ ///////////// fields ////////////// private Motor leftMotor =

Motor.A; private Motor rightMotor =

Motor.C; private int powerLevel = 7;

///////////// Constructor //////// /** Constructor take takes no * arguments */ public Robot() {}

/** * Constructor that takes the

left * motor and right motor * @param left the left motor * @param right the right

motor */ public Robot(Motor left, Motor

right) { leftMotor = left; rightMotor = right; }

Page 17: MindStorms Robot

Method to make the robot go forward for the passed amount of time (in milliseconds)

public void forward(int numMillisecs) throws Exception{ leftMotor.setPower(powerLevel); rightMotor.setPower(powerLevel); leftMotor.forward(); rightMotor.forward(); Thread.sleep(numMillisecs); leftMotor.flt(); rightMotor.flt(); }

Page 18: MindStorms Robot

Method to make the robot go backward for the passed amount of time (in milli-seconds)

public void backward(int numMillisecs) throws Exception { leftMotor.setPower(powerLevel); rightMotor.setPower(powerLevel); leftMotor.backward(); rightMotor.backward(); Thread.sleep(numMillisecs); leftMotor.flt(); rightMotor.flt(); }

Page 19: MindStorms Robot

public void turnRight(int numMillisecs)

throws Exception { leftMotor.setPower(powerLevel); leftMotor.forward(); rightMotor.stop(); Thread.sleep(numMillisecs); leftMotor.flt(); }

Method to turn the robot to the right for the passed number of milliseconds@parm numMillisecs the number of milliseconds to turn

Page 20: MindStorms Robot

Method to spin the robot right

@param numMills the number of

milliseconds

public void spinRight(int numMills) throws Exception { leftMotor.setPower(powerLevel); leftMotor.forward(); rightMotor.setPower(powerLevel); rightMotor.backward(); Thread.sleep(numMills); rightMotor.flt(); leftMotor.flt(); }

Page 21: MindStorms Robot

Method to spin the robot left

@param numMills the number of

milliseconds

public void spinLeft(int numMills) throws Exception { rightMotor.setPower(powerLevel); rightMotor.forward(); leftMotor.setPower(powerLevel); leftMotor.backward(); Thread.sleep(numMills); rightMotor.flt(); leftMotor.flt(); }

Page 22: MindStorms Robot

public void turnLeft(int numMillisecs) throws Exception { rightMotor.setPower(powerLevel); rightMotor.forward(); leftMotor.stop(); Thread.sleep(numMillisecs); rightMotor.flt(); }

Method to turn the robot to the left for the passed number of milliseconds@ param numMillisecs the number of milliseconds

Page 23: MindStorms Robot

Method to zig-zag the robot turn left and then right @param numMills the number milliseconds

public void zigZag(int numMills) throws Exception { leftMotor.setPower(powerLevel); rightMotor.setPower(powerLevel); leftMotor.forward(); Thread.sleep(numMills); rightMotor.forward(); Thread.sleep(numMills); leftMotor.flt(); rightMotor.flt(); }

Page 24: MindStorms Robot

public static void main(String[] args) { try { Robot robot = new Robot(); robot.forward(3000); robot.spinLeft(3000); TextLCD.print("done"); } catch (Exception ex) { TextLCD.print ("error"); } }

Page 25: MindStorms Robot

Infra-Red receiver must face IR Tower

Page 26: MindStorms Robot