What it does
The TILEs system features 2 main parts: the physical TILEs and the software that controls them. The physical TILEs are 60mm x 60mm squares that each contain an RGB LED and have inputs that allow them to be connected and arranged in a variety of ways. The software allows you to control your TILE array in a number of ways, from showing a static color to actively reflecting the dominant color on the PC screen.
How we built it
The brain on the LED tiles was the ESP32. This board was used instead of a traditional Arduino board like a uno or a nano, as it takes up less space and it already has a Bluetooth chip integrated on the board. The ESP32 was programmed to receive serial data, and parse it into red, green, and blue integers and sent via PWM signals to their respective leads. A housing for the ESP32 was printed to ensure secure wire connections.
The next part of the project was the LED tiles. The LEDs that were used were common anode, and therefore the longest lead was connected to the 5V and the red, green, and blue. Female pin headers soldered to wires provided stable connection, and the copper tape acted as a bus to create a parallel circuit for each of the LEDs in the tile. A housing for the LEDs was created to ensure secure wire connections and act as a diffuser for the LEDs.
The PC side software was written entirely in python. Tkinter was used to create a simple GUI and the included Serial library was used for the Bluetooth connection code.
Challenges we ran into
Connecting the Arduino to the PC using Bluetooth proved to be more of a task than we had initially hoped. Between fixing Bluetooth driver issues on the PC side and data parsing issues on the Arduino side, we definitely spent the most effort ensuring that the Bluetooth connection was stable, reliable, and fast.
Accomplishments that we're proud of
The aspects of our project that we are most proud of are the code that actively determines the dominant color on screen and the 3D printed TILE housings. The active color checking code, which analyzes periodically taken screenshots to determine the dominant color, took quite a while to perfect and, we think, turned out great! Similarly, really nailing the TILE housing design to quite a few design iterations. Having the final design look as good as it does is something that we are really proud of.
What's next for TILEs
This project could benefit from a couple of small design changes, mainly the TILE connectors. Making these changes and refining the TILE creation process would put us in a position to quickly and cheaply make lots of TILE sets.