CSE466 | Class Schedule | Lab Updates | Syllabus | Web Resources | Final Project | Lab 8 | Lab 7 | Lab 6 |    | Email Archive | Hardware Lab

CSE466-02au Lab Assignment 7 -- Due In Week 11/18

Objectives

After this lab you should know:

Tasks

Write a simple Palm program to control the direction of your motor. You will design and implement a simple Palm GUI and a simple communication protocol that will allow a user to give the Atmel 5 movement instructions. You will also design a scanning algorithm so that your stepper motor with the IrDA transmitter mounted. This way the IR transmitter can be moved around by the stepper motor allowing you to search for your Palm.

The algorithm for the Atmel should be repetitive and something similar to this:
1)    Search for the Palm in an arc of 120 degrees. Don’t twist your wires.
2)    Obtain movement instructions from the Palm
3)    Execute movement pattern
4)    Search for the palm (repeat rest of instructions)
Note after sending the first 5 movement instructions, you should be able to have the Palm in a different position to send the next 5 movement instructions.

Notes

The IR scanning range to find the palm is 120 degrees. You should define those 120 degrees so that it will always be in the same place after you power on your atmel (so you don’t twist your wires).
The point at which you detect the palm (within the 120 degrees) is now considered relative zero for the five instructions it receives. From relative position you must enforce that a user cannot go more than 90 degrees in either direction. So if I send two left 90’s in a row, it should only allow the motor to move to 90 degrees based off relative zero. After completing the set of instructions from the palm, return to IR scanning mode. Note: depending on where the palm ends up the relative zero might change.

The GUI must allow the user to input 1-5 instructions of direction and degrees (in 5 degree increments). You are in charge of developing your protocol. There are no guidelines other than that it must perform within the lab’s specified functionality. Your program must transmit the sequence of commands all at once. (Don’t make a single move, come back to get the next move, etc.)

Between each instruction/command wait a second. The speed of the instruction/command movements is your choice.

Deliverables