There's always been a taboo about discussing pregnancy publicly, but each and every one of us is affected by this concept, whether it is because we are considering this life path or because we are a product of one. However, getting pregnant is not as simple as "just doing it," and conception is not as easy as some of us might think. This fun, interactive game aims to bring increased awareness to the amazing journey sperm take in order to fertilize, well, that egg.
What it does
This game takes rotary angle readings as changes in x and y to control a sperm on the screen. The user has to guide the sperm past all of the barriers and to the goal (the egg). The user starts off with 3 lives at round 1. The player's progress is tracked by the round number; a higher round number achieved corresponds to a higher score.
How I built it
We took an Arduino Uno and attached a Grove base shield with two rotary angle sensors. One sensor was designated to be the X axis and the other to be the Y axis. The Arduino would output these values into Serial and a python script that we wrote would read from the serial. We created a graphic interface using python to display the sperm, barriers, and egg. We CAD'ed and 3-D printed a case to hold the rotary angle sensor controls.
Challenges I ran into
We ran into trouble trying to retrieve the angle from the sensors because the analog sensor data needed to go through a conversion to voltage and then a conversion to angle. Also, we ran into trouble trying to get Arduino and python to communicate through the Serial port. Later, a challenge that we came across was setting up the graphical interface with all of the components on the screen. We had to make sure that none of the randomly placed barriers were in contact with each other and had to be able to detect when the sperm reached the barriers or the goal.
Accomplishments that I'm proud of
As novices to hackathons, we are very proud of finding a project that we thought was challenging but manageable. We started with basic experience in python and arduino and over the hours of stackoverflow, we were able to create the cohesive project that we made. Each step, getting values from the Arduino, completing communication between Arduino and python, and seeing the sperm move on the screen, was a major accomplishment to us.
What I learned
We learned more ways to use Arduinos, especially given a diverse array of sensors. Also, we learned to communicate between Arduino and python and to use graphical interfaces. We had never worked with graphics so the entire front-end experience was learned in these 24 hours.
What's next for Fertilize the Egg
We want to make each round more difficult; currently they are just randomized in no particular manner. Also, we want to make this game useful for teaching students about the miracle of conception and the virtues of safe sex.