Goliath Fall 2017
Goliath Breadboarding
Mark Huffman (Project Manager)
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)

Links to Data Sheets and Libraries
By Mark Huffman (Project Manager)
Led Grid Display
LED Usage Guide: https://learn.adafruit.com/adafruit-led-backpack/1-2-8×8-matrix
LED Backpack Library: https://github.com/adafruit/Adafruit_LED_Backpack
LED GFX Library: https://github.com/adafruit/Adafruit-GFX-Library
LED Driver Datasheet: https://cdn-shop.adafruit.com/datasheets/ht16K33v110.pdf
Color Sensor
Color Sensor Usage Guide: https://learn.adafruit.com/adafruit-color-sensors/overview
Color Sensor Library: https://github.com/adafruit/Adafruit_TCS34725
Color Sensor Datasheet: https://cdn-shop.adafruit.com/datasheets/TCS34725.pdf
I2C Mutiplexer
Multiplexer Usage Guide: https://learn.adafruit.com/adafruit-tca9548a-1-to-8-i2c-multiplexer-breakout/overview
Multiplexer Datasheet: https://cdn-shop.adafruit.com/datasheets/tca9548a.pdf
Gyro Sensor
Gyro Sensor Usage Guide: https://learn.adafruit.com/adafruit-triple-axis-gyro-breakout/overview
Gyro Sensor Library: https://github.com/adafruit/Adafruit_L3GD20_U
Gyro Sensor Datasheet: http://www.st.com/content/ccc/resource/technical/document/datasheet/43/37/e3/06/b0/bf/48/bd/DM00036465.pdf/files/DM00036465.pdf/jcr:content/translations/en.DM00036465.pdf
IR Proximity Sensor
IR Sensor Usage Guide: Hook-up Guide VL6180
IR Sensor Library: https://github.com/sparkfun/SparkFun_ToF_Range_Finder-VL6180_Arduino_Library/tree/V_1.1.0
IR Sensor Datasheet: https://cdn.sparkfun.com/datasheets/Sensors/Proximity/DM00112632.pdf
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.