Goliath Breadboarding

By Mark Huffman (Project Manager)

All major components have been laid out on a breadboard for testing the majority of the program work. Most importantly being the color sensors and gyro. As both provide vital functions for navigating the maze. This breadboarding has provided very useful as the previous Goliath has been used as a test platform with room for new components on top. All major programming work can be completed or at the very least defined while the final body work is completed.

The items connected up include:

LED Grid Display – Connected to I2C

Color Sensors – Connected to the I2C multiplexer (0 and 1)

Gyro Sensor – Connected to I2C

The only sensor missing at this time is the IR proximity sensor. But, it could be easily extended off the breadboard.

Fritzing Diagram

By John Ocampo (Electronics and Controls Engineer)

Lessons Learned

By Mark Huffman (Project Manager)

The one major discovery learned early on is that the color sensors only have a single I2C address and two needed to be used. On top of this, it was originally thought that all I2C devices needed to be connected independently to the microcontroller. This is not the case, all devices on an I2C bus can be connected in parallel and accessed (as long as the addresses don’t clash). So instead of the multiplexer being used to connect all I2C devices together, it was only required for the color sensors due to the address conflict. Using the multiplexer is dead simple in code as you just set the I2C address to the multiplexer then just ask it which port to talk too.

Later it was realized that some I2C devices have programmable or wired places to change there address. This can be a very useful feature in some setups.

It was also discovered later to be mindful of devices that operate on different logic levels sharing the I2C bus. Our IR sensor included pull-up resistors that required desoldering to be compatible with the rest of our I2C devices.

Most importantly, hookup guides and data sheets are very important. Most of the time its easy to pop in a library and test some code on a sensor. But, in order to integrate with many sensors and devices knowing the datasheet and hook-up notes can save lots of troubleshooting time.