With my partner, Simone Salvo, I created a “talking” skull, which would play a Donald trump quotation sound-byte, display a corresponding fake tweet, and flash red, white, and blue eyes – all activated by a hand press on Dostoyevsky’s The Idiot.
In creating this project, we used Arduino Uno because it gives out higher voltage than our standard Arduino Nano (5V vs 3V). Our concept went through two iterations, one where we planned for the use of simple red LEDs for our eyes, and our later iteration where we used multicolor NeoPixel LEDs. Many of the components we programmed for we had worked with in one way or another in our lab, as such much of our code had essentially been pre-written on the Arduino side. However, we found that in order to make our button serial input trigger we had to go back and “uncouple” the code we had written, separating each individual action into their own function. In doing so, we realized that we could have reconfigured our button press feedback to rely on the buttonPress() function, instead of the newState()/oldState() functions. It is simple conditions like these that could have taken out multiple instances of delay() from our Arduino code – which we have learned could have been mitigated with millis().
In all, this project worked exactly how we wanted it to for our presentation – moving forward, we could do more to “clean up” our code, and utilize best practice. That is not to say that our code was poorly written, in fact, this project was an opportunity to appreciate the many ways in which solutions can present in programming problems. However, I have a new appreciation for writing code in a style that separates different functions distinctly.