The MCP23016 is a 16 ports I/O expander that works on the i2c bus. Where you normally have to do some bitwise operations in your main code to write or read only one pin of the expander, this library provides the user a interface just like the interface you use for the normal I/O port of an arduino. This library uses the Two Wire library as base to communicate through the I2C bus. The rest of the class is really straight forward and simplistic, but it provides just the things you need to keep your code clean and tidy!
I've put all the info on: http://koenwar.wordpress.com/io-expander-library/
In the future i hope to add support for the MCP23017 and MCP23018 chips, but because I don't have them I can't test with them now.
This is my first library that I've written for the arduino. Because of that it might that I've forgotten something that is pretty standard here when posting a new library.
all comments are welcome!