After the completion of last weeks work, three new components were added to the document. These were SPI, I2C, and Interrupts. These were relatively easy sections, although they were things I haven’t done before unlike most the previous sections. The first section, SPI, I was unable to complete due to the class not having the shift registers which were required for it. Regardless, I read through the commented code to try and understand what SPI does. Although I am not completely sure the use of this system, it uses a series of LEDs to represent a binary counter. This counter increments by 1 each iteration of a loop until it reaches 256. Every one of these values are then displayed as an 8-bit binary number with the LEDs. The next new section was the I2C. This one I also didn’t do as it requires two Arduino’s, but like the other one I still went through to try and learn about it. This one is pretty simple, as it is one Arduino reading data from another. This, I can imagine, would have a lot of uses, though I doubt i would need to run into any of them soon. The last section added was the Interrupts. This section I did manage to complete and was the most fun to learn out of all of these. This one had a button which was used to turn an LED on and off. But the interesting part is that the button acted as switch, in which it would be pressed once to change the state of the LED, and pressed again to revert it. Interrupts is a very efficient way to check whether the button has been pressed, and is done primarily with the hardware so it doesn’t take too much of the Arduino’s software to constantly check the button.

Other than this work, I spent some of the time in the lessons to continue the NCSS challenge on Grok. I am not sure if I will be able to complete the advanced one by the time required as I have struggled with the first few of this week and still haven’t completed the final few. My code for the first few have been incredibly inefficient and full of methods that I haven’t used before and that I still don’t understand, such has enumeration. Although I know what enumeration is, I am unsure how to manipulate it to do what I want. The other method I don’t understand is Lambda. This one I just genuinely don’t get. But other than that I have had a few minor moments of forgetting how code works, like when I loop through a list and then check if the item is in the list. The intermediate challenge is very easy, and I have only lost points due to spelling mistakes. But I am caught up on that one and will continue to try though the following final weeks of the challenge.