The hardware design for this project was fairly simple and straightforward. There would not be much to do differently. It could obviously be made smaller with the use of a PCB and surface mount components, but for a prototype it works well.
The software design for this project was a little overwhelming at times. It is not difficult to create a plugin for WinAmp, but when you begin with absolutely no knowledge of plugins or Windows style programming, it can be a lot to swallow. We have noticed the occasional strange event occur in Windows. If there was more time, it would be nice to do more debugging and see what kinds of effects various applications have on the plugin.
The only applicable standard to our design is the RS232 standard. The following is an excerpt from “The RS232 Standard” by Christopher Strangio.
"In the 1960’s, a common interface standard for data communications was developed. At that time, data communications was thought to mean digital data exchange between a centrally located mainframe computer and a remote computer terminal, or possibly between two terminals without a computer involved. These devices were linked by telephone voice lines, and consequently required a modem at each end for signal translation. While simple in concept, the many opportunities for data error that occur when transmitting data through an analog channel require a relatively complex design. It was thought that a standard was needed first to ensure reliable communication, and second to enable the interconnection of equipment produced by different manufacturers, thereby fostering the benefits of mass production and competition. From these ideas, the RS232 standard was born. It specified signal voltages, signal timing, signal function, a protocol for information exchange, and mechanical connectors."
To comply with this standard, we simply needed to add a MAX232 chip to help convert voltages to and from the micro controller to the serial connection in order to comply with the standard.
There were several intellectual property considerations for our project. For serial communications we used a free general component library for WIN32 from BBDSoft. They can be found via the web at http://www.bbdsoft.com. Also, the main part of the project was the WinAmp API. WinAmp has a large group of private developers constantly creating new skins, plugins, and visiualizers. All the API headers are free of charge as is the software. The Debounce State Machine was presented to the class by Professor Land
Ethically, we followed to the best of our knowledge, all ten points in the IEEE Code of Ethics both in the design and in this report. We have given credit where credit is necessary. We did not take bribes. We worked to advance our understanding of a subject matter. We did not discriminate nor did we place anyone in harms way at any point during this project.
If working to advance this project, there is still plenty of work to be done. First thing would be to get a wireless system at a reasonable price. We would need two transceivers for this project and good transceivers cost a minimum of $20 each. What distinguishes our project from a simple remote control that is available commercially is that we have a play list function that can display on the LCD. Without this, only one transmitter and one receiver would be necessary and this would tremendously cut costs since a transmitter and receiver together can be found for $10. It should also be noted that by placing a small hard drive or flash card into the remote control, it would be easy to convert it to a portable MP3 player. Other improvements that can be made would be to make a nice case for the board, and to reduce its size through a PCB and surface mount components. By doing this, the board size can easily be cut in half. Another improvement would be a much larger LCD. This would allow more information to be seen. Finally, the system can be made more robust. Finally, certain bugs can be worked out and improved on. For instance, when WinAmp is set on “shuffle” mode, our controller has major problems when trying to view the play list. Bugs like this, and other bugs found through testing, can be worked out and fixed.
We do feel there would be a market for our product if cheap transceivers
can be found. In particular, we feel the college student would be our
target audience. While at parties, it is common for the host to set up
a big play list so that music is taken care of all night. The host would
not want people entering his bedroom at will to change the song and traditional
remote controls would make this necessary since they require line of sight.
The host would also not want to leave the party to constantly go to his
bedroom to make changes. Our remote control would enable someone, from
the living room, to control the play list without entering private areas
of the house.