Against all odds, the iGPS came together in time for its demonstration. A source position is set using the clickwheel, and three display options, distance to source (m), time of trip, and velocity (m/s) are selected by turning the clickwheel. Cardinal directions to the source location are given by the four red LEDS between the display and the clickwheel, and the led to the right indicates whether or not the GPS device has a satellite fix.The project is based around the Freescale 9S12C microcontroller. All coding was written in assembly using ASMIDE.
Naturally, we had to run with it.
We hit up Radio Shack and bought a project case with a metal grounding plate which we used as te project's actual back plate for that iPod feel. We painted the case white, drilled some holes for indicator lights and mounted a light dimmer switch 'clickwheel.' The dimmer was gutted for independent potentiometer and pushbutton functions.
The most challenging problems we encountered were the conversions from hex to decimal and decimal to hex. This seems like it should be a relatively simple switch, but it took nearly a day to figure out. The GPS receiver transmitted data as ASCII strings, which were stored in memory as packed BCD numbers. Without a conversion, the squaring and square roots required to calculate distance and division to calculate velocity would be impossible. In the end, it all started working.
The last night of the project was a long one. Shown to the right is the first working prototype of the iGPS in a much larger housing. The space required by the microcontroller, PLDs, and SPI required three separate breadboards.
Testing the iGPS on a really cold December night.
The complete circuit

No comments:
Post a Comment