The I2C Display Add-on board is a full featured and incredibly versatile LED display featuring the AMS AS1115 display driver, a four digit seven-segment display, two red/green LED bar graphs and a piezo buzzer.
The AS1115 a really fantastic IC, containing decode capabilities to simplify showing seven-segment display values. You don’t have to code up an entire library to get it to display values… just tell it to display the Number 7 in position 1 and BOOM, done! Displaying numbers isn’t usually enough though, so the system also allows you the option to control each segment individually, so if you want to do things like degree symbols or dashes, you can. Brightness is variable in 16 levels through code, as well as easy on/off functionality.
The Seven Segment Display
The display has four digits arranged in the standard seven segment fashion, all connected to the AS1115 in the typical A-G + decimal fashion. In addition to showing the number segments, the display also has decimal places for each digit position as well as a colon to display time. Because the AS1115 allows deep granularity in controlling whether a digit is managed as a number or as individual LEDs, it makes it very easy to do things like displaying the time and then quickly showing a value with three decimal places.
The bar graph is built with two rows of eight red/green LEDs that are also controlled by the AS1115, except as individual LEDs instead of as digits. The bottom row of green LEDs is multiplexed with the time colon on the seven segment display through a simple switch that you set on or off by raising a digital pin high or low. Super simple. By combining the red and green on each bar graph, it’s easy to create a threshold display (eg: first five green, last three red), or a simple stereo graphic equalizer using some MSGEQ7 breakout boards. The bar graph is designed to be used simultaneously with the seven segment display so everything can be turned on at once.
It wouldn’t have been nearly as fun if it didn’t make noise and play sounds! By having the display show time, and integrating it with the MCP7940 Real Time Clock, you can build a groovy alarm clock with only two breakout boards, an Arduino, and some jumper wires.
The pin header is breadboard compatible at 0.1″ spacing, but is specifically designed to connect directly to the voltage and analog side of an Arduino Uno (or compatible shield). In this configuration, it directly connects, 5V, GND, the I2C pins, and uses A1 to control the piezo and A0 to control the multiplexor. The remaining pins aren’t connected to the board electrically, they are only there for mechanical stability.