April - Working with the Tilt Ball Machine's Retro Screen
With the Tilt Ball Machine in the software space, I was able to begin programming the project’s actual components.

With the Tilt Ball Machine in the software space (figure 1), I was able to begin programming the project’s actual components. The main component I worked with was the Adafruit LED Matrix HAT, a screen that adds a retro aesthetic to the game. I found some base code for the screen but realized that there were many redundant or error-filled lines. Before running the program, I removed unnecessary sections and worked to improve the readability and flow of its functions (figure 2). However, the text that displayed across the screen repeated three times and degraded the longer the lightshow went on. I began testing the arguments and code logic to narrow down the issue, but this didn’t yield any results. Mr. PZ sent me a different code file to test on the Adafruit LED Matrix HAT, which worked well after a few minor updates. Through comparing the code, I discovered that the issue with the old file was defining the frame canvas as an instance variable. I will combat the limited scope of this variable by passing it into other functions as a parameter.
While working with the Adafruit LED Matrix HAT, I realized that only including capabilities for one font may not be visually interesting, so I picked out three fonts from the DPEA LED-Display repo to incorporate into the project. A crucial detail that I was unaware of is that the font’s y-position determines where the bottom of the test is placed, meaning that I would need to update this variable in order to keep the text centered. To work through this problem, I sketched out variations in Notability and discovered an equation to find the right y-position and, subsequently, the right equation (figure 3). This required some trial and error, as the first examples I chose had multiple ways to get the same y-position. Once I simplified the equation and substituted numerical values for variables, I realized that the last change I needed to make was subtracting two to account for the text border height.
DELTAs:
Sociability: Throughout the month, I had to exercise sociability in order to successfully work with those around me. There were many times that I was helping Sierrah through an electrical challenge and needed to make sure I was being a calm system of support so that she could stay focused. For example, when she was retrieving dimensions from a part on the Tilt Ball Machine and couldn't tell what units it had been created with, I actively made sure I was calmly helping her through the issue and working towards a solution.
Storytelling and public speaking: During class one day, my uncle, an electrician for the school district, wanted to stop by and see the project I am working on. Because I know he also has experience programming LED light shows, I modified my explanation of the Adafruit LED Matrix HAT to match his knowledge level. This resulted in him being engaged in the conversation and excited to see my progress.