The Finder

Not rated 28,392

Circuit Image

The Finder is a prototype GPS device designed to be keychain-sized, featuring two buttons labeled "Save" and "Find." The "Save" button records the current location, while the "Find" button guides the user back to the saved location. Up to nine locations can be stored. When the "Save" button is pressed, the display shows "S-1," and pressing it again cycles through the available slots up to "S-9." Pressing "Find" while a slot is displayed saves the current location in that slot, with the display blinking slowly until the location is found. Once found, the display will strobe quickly and then go blank, indicating the location has been saved. Any button press will stop the process and turn off the device. When the "Find" button is pressed, the display shows "F-1," and pressing it again cycles through the slots up to "F-9." Pressing "Save" while a "F-#" is displayed navigates to the selected location. The display blinks as the GPS determines its position, then shows the distance in yards or meters. The user should start walking forward when the distance appears. A segment of the display indicates the direction to take: the top segment blinks for straight ahead, left segments for a left turn, right segments for a right turn, and bottom segments for a turnaround. The distance counts down as the user approaches the destination. To turn off the device, either button can be pressed. The Finder requires an ATMEGA88 or larger microcontroller, a three-digit common cathode LED display (Mouser BC56-11EWA or BC56-12GWA), an AARLOGIC GPS 3A or a similar GPS module, and a 3.6-volt battery. A 3.7V cell phone battery or three NiMH cells are compatible, while three alkaline cells require a series diode to reduce the voltage by 0.7 volts. Additional components include four transistors, twelve resistors, a capacitor, and two buttons. The program size is approximately 3500 bytes. The prototype features all components mounted on the back of the display and sealed with a glue gun, with flying wires minimized by using thick film resistor packs and 30-gauge rework wire. Notably, if the device remains in "F" or "S" mode without selecting a location, it will power off automatically. If a location is not saved, the display will show a dash when attempting to find it. Locations are stored in EEPROM at 24-byte intervals. For distances exceeding 1000 yards/meters, decimal points signify thousands in binary. For example, if the rightmost decimal is lit and the display reads 430, the actual distance is 1430. If both the leftmost and center decimal are lit, the distance is 6430. The Finder employs the Great Circle navigation algorithm, which computes the shortest path on the surface of a sphere using latitude and longitude pairs. This algorithm utilizes trigonometric functions and requires precise COS and ARCCOS calculations. The COS function is approximated through a polynomial, while the ARCCOS function uses Newton's method for inversion, which, while compact, is relatively slow and necessitates approximately 1.3 million machine cycles for computation. The GPS module provides one fix per second, and the microcontroller continuously processes this information.

The schematic design for the Finder GPS device is centered around the ATMEGA88 microcontroller, which manages input from the buttons and controls the LED display. The microcontroller interfaces with the GPS module, receiving location data and processing it to determine the user's current position relative to saved locations. The connections between the microcontroller and the GPS module should include power supply lines, ground connections, and data lines for communication. The common cathode LED display is connected to the microcontroller's output pins, allowing it to show the necessary information such as the status of the device, saved locations, and the distance to the target.

Power management is crucial for the operation of the Finder, necessitating the inclusion of a voltage regulator if using batteries with higher voltage outputs. The circuit should also incorporate bypass capacitors near the power pins of the microcontroller and GPS module to ensure stable operation. The button inputs can be configured with pull-up resistors to maintain a defined logic level when the buttons are not pressed.

The use of transistors in the circuit can facilitate the control of the LED display, allowing for multiplexing if necessary to reduce the number of pins required on the microcontroller. Resistor values must be chosen to limit the current through the LEDs, ensuring they operate within safe parameters. The EEPROM storage for location data should be carefully mapped in the microcontroller's memory space, with appropriate routines in the software to read and write to this storage.

Overall, the schematic design should emphasize clarity and modularity, making it easy to troubleshoot and modify as needed. Proper labeling of all connections and components will enhance understanding and facilitate future enhancements or repairs.The Finder is a prototype of that device. It is a keychain-sized GPS device with two buttons, Save and Find. Pressing Save records your current location. Pressing Find visually leads you back to the saved location. Up to 9 locations can be saved. Press the Save button, and the device displays S-1. Pressing Save again steps through the slots up to 9. Pressing Find, while S-# is displayed, saves the current location into the chosen slot. The display blinks slowly until the location is found, then strobes quickly and goes blank, indicating the location is saved. Pressing any button will stop the process and turn the device off. Press the Find button, and the device displays F-1. Pressing Find again steps through the slots up to 9. Pressing Save, while F-# is displayed, navigates you to the chosen location. The display blinks while the GPS finds its position, and then changes to a three-digit distance, in yards or meters (meters constant to be added.

) Start walking forward when the distance appears. One segment of the display will blink, indicating the direction to go. If the top segment of the middle digit blinks, go straight ahead. If segments to the left of center blink, turn left. If segments to the right of center blink, turn right. If one of the bottom segments blinks, turn around. Try to keep the top middle segment blinking. The distance will count down as you approach your destination. When you are done, press either button to turn the device off. The Finder requires an ATMEGA88 or larger, a three-digit, common cathode LED display (Mouser BC56-11EWA or BC56-12GWA), an AARLOGIC GPS 3A or similar GPS module, and a 3. 6 volt battery. A cell phone battery (3. 7V) or three NiMH cells will work. If you use three Alkaline cells, use a series diode to reduce the voltage by 0. 7 volts. Other parts required are four transistors, twelve resistors, a capacitor, and two buttons. The program is about 3500 bytes long. The prototype shown above has all the parts mounted on the back of the display, and sealed with a glue gun.

The flying wires could easily be eliminated. I used thick film resistor packs instead of individual resistors, and wired everything together with 30-gauge rework wire. Other things you should know: If you leave the device in F or S mode without selecting a location, it will turn itself off.

If you try to Find a location and get -, that location has not been saved. Locations are stored in EEPROM on 24-byte boundaries. If the distance is more than 1000 yards/meters, the decimal points indicate the 1000s in binary. If the rightmost decimal is lit and the display says 430, the real distance is 1430. If the leftmost and center decimal are lit, the distance is 6430. How it works: The Finder uses the Great Circle navigation algorithm explained in this Circuit Cellar article Stefan123. pdf by Jeff Stefan. The algorithm takes the From and To LAT/LON pairs, does some arithmetic and trigonometry, and computes a distance and course which are the shortest path on the surface of a sphere.

It then subtracts the current course, indicated by the GPS module, from the computed course, and displays the relative course, which is the direction you should walk. The program uses 64-bit, two`s complement arithmetic. For most of the radians calculations, the first byte is integer and the rest fractional, so divide the binary integer by 256 to get the decimal number.

The Great Circle algorithm requires precision COS and ARCCOS functions. The COS function is a polynomial approximation. The ARCCOS functions I looked at were very complex: one required two polynomials, a square root, and a division. Therefore, my ARCCOS uses Newton`s method to invert the COS function. That is compact but relatively slow, and the algorithm requires about 1. 3 million machine cycles to compute a great circle. The GPS provides one fix per second, and the CPU runs a 🔗 External reference