All of us have been very thankful for the teachers and experiences that have helped us get into software, and we realized that many people have never gotten the opportunity to give coding a fair chance. We want more people to try out coding from a young age, but it's tedious for a kid to sift through syntax on a terminal. We decided to create a user friendly, drag and drop framework through which beginners can program a remote controlled car. Children will be able to learn the important fundamentals behind the activity in a way that best resonates with their imaginations.
The android app has a drag-and-drop interface where the user must arrange conditional and flow code for the RC car to execute a certain task. When the correct code has been put together, the car will proceed to move in the desired manner. There are levels that teach a progression of concepts, from simple commands to nested for loops.
We took apart an RC car and rigged an Arduino circuit. The motor and servo are powered by a series of batteries through an h-bridge which is controlled by an Arduino 101. The Arduino has a bluetooth module that receives commands from the Android application.
The bluetooth was incredibly challenging, both to set up physically and to interpret, as it sent data through a convoluted series of bytes. The hardware likewise required an immense amount of precision with respect to the soddering of the batteries and the testing of the motor's capacities. On the software end, we needed to learn and implement a new GUI framework that fulfilled our objective of being agreeable to children, while also maintaining sufficient technical depth.
The car's circuitry was essentially built from scratch. We're proud of that technical accomplishment - but we're also happy, on a more strategic level, that this product opens new ideas with respect to early education, one of the most crucial driving forces of our modern society.
In addition to learning about the software and hardware involved in the project, we were exposed to a variety of organizational and conceptual obstacles that stood in-between us and our product, which required the integration of various hardware and software components.
We are going to add a greater level of customomizability to our levels, on top of a log-in system. The car itself could also use optimizations in longetivity and safety.