Type: Physical Prototype
A 3D-printed a steel pan embedded with touch-sensitive sensors that trigger musical notes on a website while also inputting a keycode to a laptop. Using an Adafruit Metro M4 microcontroller, this interactive instrument blends digital and physical elements to create a unique musical experience.
I have always loved the music and culture of the Caribbean. One thing that has always fascinated me is the steel drum, or steelpan. Steelpans originated in Trinidad and Tobago and are the backbone of stereotypical Caribbean music. I always wanted to learn more about how they work, so I wanted to make an electric version.
During one of my classes, the idea of using MIDI with the Adafruit was discussed as a potential avenue for our projects. However, due to my lack of musical knowledge, I determined that utilizing MIDI was not my best route. The concept of using the Adafruit Circuit Playground Express as a HID, human interface device, intrigued me. I realized with the use of capacitive touch, an online steelpan keyboard, and the HID library, I could create a steelpan.
I immediately began creating a bowl-like shape on OnShape to mimic the steelpan's shape.
I also created a mallet design, consisting of a cylinder with a wider cylinder at the top. The edges were fileted to create a smoother and rounder appearance. The mallets also were designed with a small hole going through the handle and the top, to allow for a wire to be passed through.
It was planned to use the Adafruit Circuit Playground Express with the 7 capacitive touch pads. However, I quickly learned that some steelpans have 11 notes. In order to better replicate the 11 notes, it was decided to use the Adafruit Metro M0 Express, which has 12 digital input pins. Each digital pin was associated to a note.
Instead of capacitive touch, a switch-to-ground approach was used. Male to alligator clip wires were connected to digital pins 1-5 and 7-12 and a ground pin. When the ground wire makes contact with a digital pin wire, the board registers that pin as "False". The resting state is "True" when the wires are not touching.
This switch from true to false provided the logic to determine when a certain digital pin was contacted, indicating a specific note was played.
This website features a keyboard display with a variety of instruments that can be "played" on the keyboard. The row of white keys has 11 keys, matching the 11 notes on the steelpan. Associated keys on the US keyboard layout will trigger the keys on the online piano to be pressed.
The keyboard has a steelpan feature, providing the perfect source for the output of the island notes.
The keyboard website functions by pressing keys "A" through " ' " on the US keyboard layout. The HID library was utilized to simulate pressing on the associated key.
Utilizing the switch-to-ground approach, multiple IF statements were created. Every pin was associated to a note on the steelpan and keyboard. Whenever a certain pin would switch from True to False, the corresponding keystroke would be signaled to be pressed.
For example, if the digital pin 7 switched from True to False on contact, the assocaited note to that pin is A. The A note is played by pressing the "H" key on the keyboard. Therefore, using the HID library, the keycode for H would be sent to the laptop, resulting in the A note being played on the virtual keyboard.
Steelpan
This design was created to mimic the shape of a steelpan. It was made by creating a bowl like side profile and revolving it around the center y axis.
Mallet
The mallet was made by creating a cylinder with a larger cylinder with filetted edges attached to the top. A hole was created through the whole mallet to allow for wire to be fed through.
In order to create holes in the steelpan to allow for the carpet tacks to fit through, a candle and nail were utilized. The nail was heated over the candle and pushed through the steelpan. This method was chosen to ensure the layers of the 3D print stayed melted together while creating the holes.
The steelpan was then spray painted with silver paint to mimic the silver appearance of a steelpan.
The carpet tacks were put through the holes and the alligator clips were attached on the bottom side of the drum. These alligator clips were then connected to the Adafruit in the corresponding pins.
After finalizing the functionality of the steelpan, I decided to focus on accessory features. I created walls to encapsulate the wires of the steelpan. These walls were 3D printed and hot glued together.
Outside of audio feedback, I wanted visual feedback to reflect the note played by users. I also utilized a 8x8 Neopixel Matrix to create a "screen" where the note played by users would be illuminated.
In order to create this screen, I had to manually input which pixels should be illuminated for each note. This was stored in an array of 0s and 1s where each element in the array is a row of neopixels. A draw function was created and called in the IF statements to draw the letter whenever a note was played.
TropicTone is a digital recreation of a steelpan, a traditional Caribbean instrument, using a 3D-printed model and an Adafruit Metro M0 Express microcontroller. The project translates physical interactions into musical notes played on a virtual steelpan keyboard.
TropicTone successfully bridges the gap between physical interaction and digital music production, providing an interactive way to play steelpan music through touch-based inputs.