Previously:
Sci Fi Your Pi - Prince Dakkar's patent log taking chart compass
To realise my initial ideas for the project I have started work on designing the functionality of the device.
This really divides into three main function sets; indicating the users current position, setting the route to be navigated and, Indicating the route and direction of travel.
Indicating current position
The device will indicate the users position on a map. The position will be indicated by the intersection of two bars that will move over the inbuilt map (probably with some sort of elaborate decoration at the intersection).
To make this happen GPS data will be taken from the GPS module and then converted to set the correct distance to move across the map. Each bar will move independently with a chain or belt at one end and some form of free running support at the other. There will be a bar for each longitude and latitude each having is position controlled by the Raspberry Pi controlling stepper motors or servos.
The main challenge is in ensuring the position shown on the map is the correct position. In my initial design i was planning to use a flat stylised map to fit in with the steampunk style. these maps are often non linear in their projection meaning that the bars would have to move different distances depending on the position on the earth. They are also sometimes interrupted as well which would add a further layer of complexity in managing the physical position of the bars to indicate actual position on the map.
Another solution is to use a Linear projection that means the movement for the bars will directly translate to changes in longitude / latitude. These maps may be less pretty but could make implementation easier.
It would be possible to use a non linearly projected map but to make the position accurate I will need to 'do some maths' to convert the changes in GPS position to change in position on the map. For this to work the map will need to be using a known projection and I will need to understand the conversion factor involved and how that changes as the position moves away from the equator.
It could be possible to manage this by using a globe rather than a flat map but this could prove rather difficult to use for actual navigation. This may not be a problem as it could be designed to be mounted permanently an adventurer's craft rather than something that is carried around. This is not how I originally planned the device but could look really interesting implemented this way.
Once this is overcome it is then a relatively simple task to get the bars to intersect at that position by moving them a set distance from the initial reference point of the map.
If map projection is of interest to you then the below video has a comprehensive explanation of the idea:
Route Setting
Know one's present position is only part of the challenge. It is also important to know how to get to the next location for your quest or adventure. The first step of this process is creating the ability to set the location of the destination (and current location).
To fit with the overall style this needs to be suitably dramatic and will not have a screen or keyboard input to allow a postcode or address to be entered. Most of the adventures seen in the books and films in this genre have a limited number of destinations (the center of the earth could be a bit difficult to map, but most others should be OK). So at the moment i am thinking that selecting the destination from a list (using some form of scrolling wheel?).
For start location I could either use the current GPS position or add to the theatrical nature of the device by having that selected in a similar manor as well.
To input the information into the device I intend to either connect different pins for each destination (with the other pin requirements this could leave a very small list of destinations) and use the Raspberry Pi to store the information. The second option I am thinking of is just use the destination and current location selections to connect different circuits to select the routes. for this option there will need to be someway of passing the destination to the Raspberry Pi to enable some of the functionality described below.
Indicating the Route and Direction of Travel
Once the destination (and current location) has been selected the gentleman (or lady) adventurer now need to know which way to go to get there. I am intending to have two parts to this; an overall route indicator and, a direction of travel arrow.
The overall route indicator will most likely be a string of LEDs from the current location to the destination. This could be managed by using a set number of strings from the set destinations and locations or could use a matrix of LEDs to allow more flexibility (partly depends on how location / destination is selected). This could either be controlled using the Raspberry Pi or use the selections made for location / destination to connect different circuits of LEDs to create the route. The effect is intended to be similar to the cinematic "travel by map" sequences satirised in the below Muppets clip. It will probably be yellow dots rather than a line but to have them flash in sequence is the sort of thing I have in mind.
The direction of travel arrow will indicate which direction to move from the current location to reach the target destination. The intention is to use the current GPS position and destination GPS co-ordinates to show which way to move. This is intended to be a group of LEDs under a decorative compass style cutout. The Raspberry Pi will compare the co-ordinates and then light the correct LED (or LEDs) to indicate in which direction the required destination lies.
I would like to have the main cadinal points (N, E, S W) to start with and add in the ordinals (NE, NW, SE, SW) if possible. this will indicate a direction "as the crow (or airship) flies" which is entirely appropriate for an adventurer who will not be constrained by such boring constructs as roads or shipping lanes.
I intend to test each of these as a separate function then combine them all and construct a suitable enclosure. I will also be intending to add extra parts to enhance the theatrical nature of the device. This will most likely take the form of large handles or cog wheels that will initiate functions of control the way the device works.