Making a robot display the code object
Although we are building around the Pimoroni LED SHIM, we've already seen that there are other types of RGB LED systems. Since we might later swap the SHIM out for a different system, it would be a good idea to make an interface on top of the LEDs. Like the motor's interface, this decouples handling hardware and making behaviors.
Making an LED interface
So, what interface do we want for the LEDs? First, we want them to be available on the robot as robot.leds
. We want to clear the LEDs (turn them all off), set each individual LED to a different color, and set a bunch/range of LEDs to a list of colors.
It's useful for the code to tell us how many LEDs we have, so if the number changes, the animations or displays still make some sense.
For the colors, we use three values – r
, g
, and b
– to represent the red, green, and blue components. Python has a type called a tuple, perfect for making a group from a small...