Upload Arduino code to a robot rover that will allow the rover to navigate around a "defense" tub and knock over a goal block under a lamp.

A-path Lab

You will be shown a robot rover running Arduino code Lab4R14.ino that allows it to test the wall-detecting lever switches and the photox for left and right (now reading from actual phototransistors...).

The one rover is on table 3 in 097, where the North computer sits, able to upload by USB A-B cable your code to the Arduino duemilanove.

The rover power supply batteries will be charged up to allow about half an hour of testing before running down.

You will want to rename Lab4R14 and place the renamed code in your IP folder, then commence modifying the code to allow the rover to react properly to walls and the distant incandescent light...

The Lab4R test will be in the cul de sac outside 095/093/091. A length of 2x4 lumber will block off an area in front of the table and chairs and electrical outlet. On the west side of the 2x4 will be an incandescent desk lamp shining near a 2"x6"x8" goal block standing on one of its ends. With chalk we'll mark off a box some distance from the goal block, where your rover must start from. Between the rover and the goal we will place a weighted tub.

Once you flip on the V-switch on the back of the rover, your programmed rover must drive in a way such that it knocks over the goal block within 60 seconds.

By "knocks over" we mean the wooden block rotates in the roll or pitch axis 90 deg and falls flat on the field. The rover can't just bump or push the block, or allow the block to come to rest against a wall.

You are allowed to push the weighted tub with your rover, but you can't score by knocking over the goal with tub.

The referee will set the tub and goal and light in place, and chalk in the area your rover can start from, and (s)he will keep time for your trial.

Your team can have two trials per day.

Your FTQ will be to explain how you modified the default code to improve the rover's performance.


You will likely have completed Lab4Lam and will use some of that code in your expansion of the renamed default code...

If the V-switch is accidentally switched off by contact with a wall or the defense box, your trial is over.

You may need to press the reset button on the Arduino card, or toggle the V-switch, to restart the rover.

The tone library helps send out clock signals to the stepping motors on the rover to control their speed. To increase speed, increase the tone clock rate.

We will give you some instruction on how to switch from Charge to Drive mode on the rover, and what wires and cables need to be disconnected before the rover can be carried (or driven by flashlight) out to the hallway.

It may become efficient for you to reprogram the rover with a laptop out in the hallway... intall Arduino 1.0.6 and the Tone library for that option...