I2C on BrickPi3
The BrickPi3 by Dexter Industries (dexterindustries.com) has a useful extra feature of a Grove port
for connecting I2C devices. Using this capability a small display can be added to Mindstorms inventions or
various sensors can be added that aren’t available in the Mindstorms system. Grove displays and sensors are
available in many types (seeedstudio.com). In the video above I’ve added a Grove RGB LCD to a contraption for
dialing in various colors on the display. Mindstorms motors are being used here as adjustment knobs by reading
encoder data to sense turning of the motor. A clockwise rotation of the motor adds an increment of constituent
color. One motor is dedicated to each of the three constituent colors of red, green, and blue. These
adjustments change the backlight color of the RGB LCD, and the color level is displayed as text on the display
from 0 to 255. In the video above red is dialed up to a maximum, then a little blue is added to make pink.
I made a similar device in a blog post on Favorite Color Machine, but using the GrovePi (also by Dexter
Industries). Whereas in this invention the BrickPi3 is used.
While the BrickPi3 only has one Grove port, it can be expanded by an I2C Hub as shown in the photo below. More than one device can be connected to the I2C Hub—I have a Digital Light Sensor and RGB LCD connected in the photo below. Measurements from the sensor can be displayed on the RGB LCD. The Grove port on the BrickPi3 works with I2C devices. Analog or digital Grove devices would need another interface, such as stacking a GrovePi on top of the BrickPi3.