Meeting Expectations
As all projects progress, you learn more about programmer and circuit capabilities, thus expectations change along the way. The final results match our current expectations since we redesigned the circuits and program as time and money permitted. The resulting hardware was more successful than anticipated because it turned out the laser signal activated the phototransistors enough that no comparator was necessary. On the other hand, our original idea of being "efficient" and only using one laser to create eight beams was quite unsuccessful because half-silvered mirrors cost four times as much as laser pointers which was over the alotted budget. Getting rid of the mirrors meant we had to use four laser pointers and no beam splitting, which made it impossible for us to get an idea of the wind magnitude. This is why wind magnitude button controls were implemented. It would be nice to have four more lasers so that we could improve the realism by adding a rough estimate of the real wind magnitude.

At first we were going to have the sailboat traverse a map the size of one screen, and then we expanded it to four screens which exceeded our original expectations. Activating and retrieving treasure turned out better than predicted also. If we had more time, we would have tried to program the pirates with a bit of artificial intelligence, rather than traveling a set course. The firing of the cannon works fairly well, but if we had had the foresight, we could have referred to the ship position compared to the cannonball a bit better. Doing so would have added a significant amount to the code which we deemed was unnecessary.

The difficulty of the game is a bit higher than we originally thought, but it had to be this way in order to make the game more realistic by having little reaction time to a pirate firing a cannon or sailing too close to land. Overall, the results met our expectations. The laser assembly worked perfectly after we sorted out a few problems getting Vcc from a bad board and aligning the laser and phototransistors. The laser assembly had a tissue as the flag and a roof to prevent eye contact with the lasers, which was ingenious.
Intellectual Property Considerations
Thanks to Professor Land, we did not have to program functions for generating the sync or raster. We used code from the Video Generation with AVR page on the ECE 476 Website, a combination of C and assembly code written for the Mega32, for the sync generator and raster generator. Also provided were functions for drawing a point, characters from a bitmap, strings, and a line onto the television. Another function returned the value of a point on the television. All of these functions were required within the game. We did have to adapt the code in order to work with characters of a different size. Other than the provided television and drawing code, we programmed all of the sailing algorithms.

Treasure Hunt of the High Seas is not a reverse-engineered design. We thought of the idea ourselves and progressed from there. Due to good searching over the internet, we found lasers and phototransistors at a low price so that we did not have to get a sample part, thus we were never faced with signing a non-disclosure agreement. Since phototransistors are designed to detect the infrared laser we used and the fact that the rest of our circuit is made up of already made components or designs, the most we could patent is the actual code or algorithms for the sailing game. The game can be sold as a computer game if we wished, but it is not important enough for either one of us to spend the money to develop this game.
Ethical Considerations
The IEEE Code of Ethics has ten points. Below is a listing of several of these points and how decisions or actions we took in this project were consistent with these points.
  1. to accept responsibility in making engineering decisions consistent with the safety, health and welfare of the public, and to disclose promptly factors that might endanger the public or the environment;
    The initial designs of our project involved infrared laser pens powered by 4.5V. The hazard of receiving infrared light directly into one's eyes is well-known. Thus, when we were testing and placing the lasers on a platform, we made sure that no person was in direct or indirect (from reflections off a surface) sight of the laser beam. We included in our design a roof structure that would cover the laser assembly upon final construction.

  2. to avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist;
    During the final weeks of the project, the ECE 476 lab became quite full and groups were competing to get a lab station. We made sure to enter the lab only when we had code to test so that we were not coding as much within the lab as outside. Also, we never left our station unattended; rather, we took turns working on individual sections of code and worked around our classes. This way, our group was on taking valuable lab space except when absolutely necessary.

  3. to be honest and realistic in stating claims or estimates based on available data;
    This website doubles as our report describing all imperative details of the project. While constructing this site, we tried to ensure that we did not overstate the capabilities of the sailing game or the laser assembly. Other students would ask us about our project and we related that the laser assembly was merely a wind direction detector. A previous design had made the laser assembly a wind and magnitude detector, but the equipment required to do so was too expensive for the $25.00 budget.

  4. to maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations;
    A teaching assistant or ECE employee is required to be in the lab whenever non-employees are present. This means that there is always at least one person with the technological qualifications required to assist with students to prevent frying of a chip or other device and in an emergency situation. We assisted other students only with problems we knew how to solve such as having an 8MHz crystal on a board with a Mega32 which really requires a 16MHz crystal. We always checked data sheets before running code or assembling the phototransistors so that we knew the limitations or special requirements, then double-checked the wiring before turning on the power.

  5. to seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others;
    If there was a problem with the microcontroller, we asked the TA for assistance. As our sailing game developed, we had friends play the game and tell us what they thought should be changed or improved. We listened to the suggestions (never treated as criticism) and adapted the game as we thought fit. Code for the television was credited to Professor Land since he wrote example code to display onto the television and truly shortened the time we had to code.

  6. to avoid injuring others, their property, reputation, or employment by false or malicious action;
    It would have been very easy to reflect infrared light from our laser into a bystander's eye, yet we made sure that no bystander was in harms way before turning the lasers on. Another situation was when people left their lab stations for long periods of time. We could easily have deleted a line in their code or twisted and broken a wire so that their project would not work. Yet, we respected everyone's work and left their belongings in one piece. If we had to, we would have kindly moved their belongings to the side in order to use the lab station and not caused damage.

  7. to assist colleagues and co-workers in their professional development and to support them in following this code of ethics.
    Should another student ask us a question and we knew the answer, we would spend a few minutes to assist them even if it meant looking through some of their coding. Not everyone knows everything about circuits, so knowledge must be spread so that a fire or blown circuit does not occur. When another group was throwing darts, we asked them to face a wall rather than another lab station so that no one would be injured if a dart missed the target. We mentioned how it did not follow this code of ethics since there was a potential danger to others.