to prove the interrupt is taking effect, we can introduce delay. For example, in the blink example, if we attach the blink() into the ISR, it will still make the LED blink even when the loop is under a delay.
I tried this on the LED matrix made at Prototyping Electronic Devices. Iām using the top row (pin 11) as the interrupted group, and the bottom row (pin 12) as the delayed group. My stress test is to see if the button will still turn on and off the interrupted group when the delayed group is on delay. It is a bit hard to keep track but I tried to press the button when the delayed group just turned to a new state (and also assuming they get into a delay right after that), and the interrupt works! it still turn on and off the interrupted group without delay. The button press needs to be firm and long enough though.
Also added an EaseInSine and EaseOutSine function via this cheatsheet.
EaseSine vs no EaseSine
There is some "stepped" effect noticeably seen when using EaseSine compared to not using. With sine I suppose we skip some values to make it moves towards target quicker.
I'm pretty sure I wrote something else about the reading but i need to find it in my phone notes. oops.
Also to Cody endorsement, I start using Claude to automate copy and pasting folder, folderizing, write a readme, and pushing this to Github. You converted me Cody..
Elizabeth Kezia Widjaja Ā© 2026 š