As a university project for the module “Multimedia”, I was in a team to develop hardware which would recognize single notes or cords being played on an instrument (tuned to piano sounds).
The project was run on a Raspberry Pi, and used the Fast Fourier Transformation to get the information needed. For a full writeup you best checkout the GitHub repository and the Printables entry.
With the want to create a more professional NAS solution than the one in my apprenticeship (just a raspberry pi with two external USB 1TB HDDs lying on the floor), I wanted to create something cheap, but still good and with good capacity.
Since ready made NAS Enclosures would work, but are really expensive, I decided to Design my own in Fusion 360.
After finishing the model and printing it, I filled it with 4 2TB HDDs, which I configured in Raid 10.
In the back I placed the Raspberry Pi 4 and connected a daughterboard to control the Fans, as well as connecting the external ethernet port to enable a fast wired connection to outside the case. I also added a status LED, as well as a simple push button in order to have a “soft shutdown” button, which initiates a software shutdown. You can also just cut power with the power switch, but the soft shutdown is safer.
While being active in the community of Letsrobot I got an offer to try a product of Bare Conductive in trade with a documented project I do for their own blog. I got really interested in the product, so I agreed. It did take me a few months to actually finish it, but I have finally completed the project and got featured on both bare conductive’s site as well as adafruit’s one.
The product in question is the “Pi Cap” which is a hat for the Raspberry pi and adds a bunch of Capacitive touch and distance sensors. I wanted to make a product with my robots I built with LetsRobot in mind. Often enough I had people ask me to toss a ball across the room so they could fetch it, kinda like a pet. That’s what gave me the idea of a automatic fetch machine – like the ones that shoot tennis balls for dogs so they can play with themselves.
I ran into quite a few problems along the way. To list the biggest ones:
Detection of the ball/robot: I thought I could make the capacitive sensors pick up the robot and motors, but that didn’t work at all. Also I needed the ball to be picked up somehow and didn’t needed a way to make that work as well.
Creating the 3D models: While I already got some experience with smaller and less complicated models and thought I could create such models with some work. It took way longer than I thought, but eventually I managed to finish them.
Below a small gallery of the different steps I completed.
A summary of how it works: The script in the background is written in python and runs on the raspberry in the background. The Pi Cap senses the ball with a cable to a little aluminum foil piece which touches the ball when inserted into the loading arm. The arm is designed in such a way that the ball always rolls in the right spot to make contact. Once it senses something the script pauses for a few seconds to give the robot time to get out of the way. After that it sends a new positon for the loading servo to the servo microcontroller. This causes the ball to roll into the shooting head. After spinning up the two DC motors placed to accelerate the ball, the script moves the second servo to push the ball into the two motors. I also integrated a small LED to indicate the script sensing the ball and doing stuff.