The software requirements for this project are also straightforward:
- The RGB LED will display, on startup, the color red in a pattern that starts with a 0% duty cycle and increases by 2.5% every 25 milliseconds. When the duty cycle reaches 100%, the intensity will decrease by 2.5% every 25 milliseconds and then the cycle will repeat.
- Pressing the pushbutton will change the color based on the number of times it has been pressed:
- The first press: Green
- The second press: Blue
- The third press: White
- The fourth press: Red
- The fifth press: Repeat pattern
- The software needs to be written so that it contains two scalable and reusable drivers:
- An I/O expander driver
- An RGB pushbutton driver
Again, these requirements demonstrate ...