As I was in the beginning stages of planning my Circuit Playground Project, I did not know where to start as I thought I would have to build the light output code sketch from scratch. Even though I had experience with using the Arduino IDE software through the Circuit Playground lab, I wasn’t very familiar with the programming language itself. However, once I realized that I was able to adapt the sample Buttons & Neopixels code sketch and I tested it in Arduino IDE, I went to the Arduino reference website to see what I could do to add my twist. I decided to utilize comparison, compound, arithmetic, and boolean operators as I felt more comfortable with using them.
I utilized the Circuit Playground Lab that we did last week to help me understand how the structure and the syntax should work within the software. I knew my plan was working because every time I would edit my code, I would verify and upload it into the circuit. If the code did not properly upload or if the light output was not what I was expecting, I understood that my plan was not working. For example, with my rainbow effect when the left button was pressed, the colors seemed to not show up as accurately as I expected despite using the RGB color picker. To fix those small issues, I adjusted the colors to be brighter or darker.
Furthermore, I wanted to add to my plan of creating an effect if both buttons were pressed. However, I ran into the issue where my light output didn’t show up in the way I anticipated it to be. This code was verified and uploaded into the circuit, but the light output for when both buttons are pressed only shows up if I hold both buttons down. In my original pseudocode when both buttons were pressed, I realized that I wasn't traversing in the correct direction because one for loop that lit up neopixels 9 to 5 was going in a clockwise direction, but the other for loop was lighting up neopixels 4 to 0 in a counterclockwise direction. In my future projects, I do not think there is anything that I would consider doing differently in terms of the plan-do-evaluate process. This is because in my mind I was set on my plan and I knew what I needed to do for my code sketch.