My 2 shitty cents because I haven't done Arduino for a long time:
- AddTwoNumbers and ShowResultToUser are useless. Put their content in the
loop()function because it's very unlikely you will reuse such a code. - The for loop in ShowResultToUser is strange. You're calling AddTwoNumbers all the time. Maybe do something like
for (int i = 0, n = GetNumber() + GetNumber(); i < n; i++)? That's more traditional. - In FlashLed, I would add another delay at the end, like show/delay/hide/delay or something.
- The GetNumber function is confusing, add a comment to explain what it does.
- Move all the constants as global constants. You have 8 and 9 in setup and GetNumber, 13 in setup and FlashLed, but what happens when you want to change a pin? You have to change the values everywhere.