Self-Playing Ukulele with Stepper and Servo Mechanisms for Strumming and Fretting

Published  August 21, 2024   0
J Jerry
Author
Arduino Powered Self-Playing Ukulele

Zeroshot, known for his focus on innovative projects, has channeled his expertise into creating a self-playing robotic ukulele which can autonomously strum melodies. The ukulele can be played by picking individual strings or by strumming many strings simultaneously. This dual-purpose mechanism is the foundation of Zeroshot's design. It achieves this by utilizing two actuators: a stepper to move the pick perpendicular to the strings and a servo motor to raise and lower the pick. 

Through a HiLetgo L293D motor shield and a TMC2208 driver module for the stepper, an Arduino UNO Rev3 board is used to operate those motors. The ATmega328P serves as the foundation for the Arduino UNO microcontroller board. In addition to a 16 MHz ceramic resonator, six analog inputs, a USB port, a power jack, an ICSP header, a reset button, and fourteen digital input/output pins - six of which can be used as PWM outputs - it also features three reset buttons. It has everything the microcontroller needs to be supported.

The pick can be moved to a certain string and pluck only that one, or the Arduino can lower it and strum across all of the strings. Zeroshot used solenoids in a 3D-printed mount to add hardware to hold the strings down on the fretboard, since otherwise it would only be able to play a small number of tunes on the open strings. The Arduino may extend the solenoids to play any necessary notes by using the motor shield's power. For the first four frets on each of the four strings, Zeroshot developed the mount to hold up to 16 solenoids. The robot would have up to 20 notes to work with if open strings were included.