The first proto-shield boards are back from the manufacturer, and Max Maxfield has used them to link an I2C-based Arduino Uno shield to an Arduino Mega.
What's the problem? Well, for reasons that probably made sense to the designers of the various flavors of Arduino, the I2C pins for the Due, Leonardo, and Mega are in different locations from the Uno's pins. Thus, until now, I've been obliged to connect my LCD shield to my Arduino Mega using flying wires.
Arduino Mega with LCD Shield connected by flying wires (click here for a larger image).
At least, this works, but implementing things this way looks a tad untidy, and it's a bit of a pain. Now consider the image below, which shows my Arduino Mega in the foreground, my universal screw-block proto-shield boards in the middle, and my LCD shield in the rear.
Arduino Mega, proto-shields, and LCD Shield separate (click here for
a larger image).
In particular, observe the two yellow and green wires on the screw-block proto-shields. These link the I2C pins used by my Arduino Mega to the A4 and A5 pins used to implement the I2C interface on an Arduino Uno. Now I can simply stack all the boards together, and my Arduino Mega can drive my LCD shield directly, as illustrated below.
Arduino Mega, proto-shields, and LCD Shield mounted (click here for
a larger image).
By default, all the pins on an Arduino power up as high-impedance inputs, which means that the A4 and A5 pins don't interfere with the I2C interface. The downside is that I can no longer use the A4 and A5 analog inputs for anything else, but this really doesn't bother me. The Arduino Mega has 16 analog inputs to play with, and my project requires only a subset of these.
The great thing about the LCD display is that I can easily use it to display the values of different variables in my program. This facilitates debugging (and I'm doing a heck of a lot of debugging). That's where we are at the moment. Well, not quite. Since these images were taken, I've added an I2C-based real-time clock and an I2C-based motor control shield to my shield stack.
Soon, I'll be adding a bunch of discrete components to my screw-block proto-shields to drive my analog meters, but that's a tale for another day. In the meantime, what do you think about our proto-shields so far? And are you interested in hearing more about the adventures involved in launching our Kickstarter project?
— Max Maxfield, Editor of All Things Fun & Interesting