Step 7: Arduino Code

Picture of Arduino Code
So the main things the Arduino has to interface with are: the Ethernet Shield (via Ethernet library), the LED Matrix drivers (via LEDControl library), the 20x4 LCD (via LiquidCrystal library), the 40x2 LCD (via LiquidCrystal library), the Audio system (via standard digital IO pins and analogue input) and the Button Panel (via standard digital IO pins).

It is difficult for me to explain the structure of the code without actually showing you it and explaining it through annotations, so that's what I'll do, I'll include the standard version of the code (i.e. the one I use on the table) and an annotated version.

There's also a block diagram which I hope will give a better idea of the structure of the code and the purpose of each of the functions.