260 likes | 489 Views
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
E N D
MindStorms Robot Learning to Program with Robots
What is MindStorm Robots? Designed to introduce students to programming, logical thinking, teamwork, and project-based learning
Robot Construction Choose your robot design from the following list: • Hank • Minerva • Mushi Mushi 7 • Trusty • TankBot
Robot Construction Steps: • Choose a partner to work together as a team. • Choose your robot design. • Establish team member roles. • Inventory Mind Storm tackle box parts placement. • Create your robot according to the design plan.
Steps: Robot Construction • Examine Course Rules • Program Mind Storm Robot to run course. • Complete test run of course. • Finalize Mind Storm Robot programming.
Course Rules
TankBot Demonstration Peg Connector (J)
Full Bushing TankBot Demonstration 24 tooth gear wheel
2x8 plate with holes TankBot Demonstration 2x4 plate w/holes 1x4 Plate
Gear Motor 24 tooth gear wheel TankBot Demonstration 2x8 plate w/holes 2x2 brick
RCX Connector Pegs TankBot Demonstration 1x8 brick 1.5 Connection Pegs
Full Bushings TankBot Demonstration 16 tooth gear wheel Rims Caterpillar Belts Connecting leads
Programming 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.
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; } Programming the Robot Constructors
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(); } Method to Move Robot Forward
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(); } Method to Move Robot Backwards
public void turnRight(int numMillisecs) throws Exception { leftMotor.setPower(powerLevel); leftMotor.forward(); rightMotor.stop(); Thread.sleep(numMillisecs); leftMotor.flt(); } Method to Turn Robot to the Right Method to turn the robot to the right for the passed number of milliseconds@parm numMillisecs the number of milliseconds to turn
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(); } Method to Spin the Robot to the Right
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(); } Method to Spin Robot to the Left
public void turnLeft(int numMillisecs) throws Exception { rightMotor.setPower(powerLevel); rightMotor.forward(); leftMotor.stop(); Thread.sleep(numMillisecs); rightMotor.flt(); } Method to Turn Robot to the Left Method to turn the robot to the left for the passed number of milliseconds@ param numMillisecs the number of milliseconds
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(); } Method to Zig-Zag the Robot
Main Method 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"); } }
Download Your Program to the RCX Infra-Red receiver must face IR Tower