Links:
Member Devposts (as requested):
Inspiration
Our project is inspired by our passion in space and astronomy, and our desire to bring the gorgeous planets and space stations close up to us.
What it Does
SkyScope provides the user with a gallery of two space stations, all the planets of the solar system, as well as our moon, and tracks the location of any one of these objects with a telescope.
How We Built It
In order to see celestial bodies close-up, a telescope is a must. Thus, the telescope was the basis of all of our development. Since we want the tracking to be fully automated, we designed and installed various motor racks and gears to install VEX motors to pitch the telescope in the vertical and the horizontal axes. However, just being able to turn the telescope is not enough. We need to know in which direction we should turn, and by how much. To find out the direction, we used a Python library called Skyfield, which uses the latest orbital files of the space stations and the ephemeris to calculate the position of space stations and planets relative to a specific location on Earth. To find where the telescope is currently pointing, we used the compass and gyro on the phone which we attached onto the telescope, and transferred that data real-time over wifi to a Python server. The Python server then sends this information to our arduino board, which then communicates with the VEX motors and moves them so that the telescope points toward the desired target.
Challenges We Ran Into
The first challenge we ran into was where to place the motors to pitch the telescope, as our motors and gears are not compatible with the telescope and the telescope isn’t designed to have any automation equipment. As a result, we designed many unique gears and motor racks, and 3D printed them to be mounted on the telescope. The design process involved heavy measurement, geometry calculations and prototyping. Obviously, at every hackathon, something has to go terribly wrong, and this time it was no exception. This second challenge was created solely by our own hands—we burned our only arduino with a gyro and a compass, which, as described earlier, are crucial components to our project. Consequently, we spent hours trying to find an alternate solution and we ended up using a phone as a compass and gyro, and actively passing that data to our Python files through wifi and a server. The implementation turned out to be very difficult, as gyro and compass information is considered sensor information and can only be accessed if the connection is secure.
Accomplishments That We're Proud Of
The telescope works, and is intact! We are also very proud of our gear and motor rack designs. Many of these took hours to print, but with our precision and some prototyping, we usually managed to get them right the first time.
What We Learned
Systems involving multiple drastically different components may work, but are really complex and can cause difficult issues.
What's Next?
Improve on the tracking logic. Instead of simply spinning the motor at a fixed speed to turn the telescope, the speed should vary depending on how far away the current angle of the telescope is from the angle of the target. In addition, add options for fine adjustment, since the phone compass is not always accurate and the user may wish to manually adjust the telescope in addition to automated tracking. Lastly, design mounts for all of the equipment attached to the telescope, which are currently taped on the tripod.