Description as a Tweet:

Draw constellations in a virtual space using the physical space around you!

Inspiration:

The challenge to make something we don't have experience with and so we can learn more about hardware since we're all CS students. We also wanted to draw something cool to display on a computer.

What it does:

It scans the physical objects around and displays stars into the program around planets based on the position of the scanned object in the real world and makes them into constellations by drawing lines between the stars.

How we built it:

We used an Arduino Uno with an accelerometer and an ultrasonic sensor to take points from the physical space around. We took the data from those sensors and passed it to Python where we processed the data and displayed the data on a window.

Technologies we used:

  • Python
  • Arduino

Challenges we ran into:

Translating real-world positions to positions in the program because mapping the x,y,z axes was a bit harder than we thought. It was also due to having to translate rotations from the accelerometer's gyroscope and the distance to the object from the ultrasonic sensor into positions in the program.

Accomplishments we're proud of:

Having the senors read the data without taking too much time to set up. Transferring the data from Arduino code to Python code. Getting OpenGL to graph the points on the program. Translating physical points to the program virtual space.

What we've learned:

We learned more about how Arduinos work, especially with sensors and their code. We also learned how to work with PyGame, PySerial, and PyOpenGL since those are Python libraries we hadn't worked with before.

What's next:

Make it less laggy. Add more planets and make the planets look at least a bit more realistic. Possibly experiment with the colors of the constellation lines. We can make the camera movements better and possibly make the virtual background look better while removing the bottom platform. We definitely need more accurate sensors. We can go back and double-check that the math is full proof, especially the math that translates the physical points to the virtual world.

Built with:

Arduino Uno with an ultrasonic sensor and an accelerometer. Then we used Python, more specifically the PySerial library, the PyOpenGL library, and the PyGame library.

Prizes we're going for:

  • Best Hardware Hack
  • Best Beginner Hardware
  • Best Space App
  • Best Hardware Hack

Team Members

Jonathan Wang
Ahmed Jaafar
George Jiang
Calvin DeMallie

Table Number

Table 3