Inspiration
Inspired by WinterGartan specifically his Marble Machine
Said machine uses a dropping mechanism powered by a "Barrel" which actuates the marble dropper as the barrel turns. The marbles (ball bearings) drop onto a glockenspiel to play the note.
What it does
See the above but instead of using a "Barrel" we use a Raspberry pi to control a series of Push Pull Solenoids through a relay board.
We had a piece of software to extract notes from a Midi file and then actuate the corresponding solenoid.
How we built it
Four main components: Wood Working Ball Dropper Mechanical System Some Electrical Engineering A lil Python script to get the notes
This conveniently split us into two teams: Mechanical hardware + electronics and code.
Before note
We spent the vast majority of time just playing the glockenspiel.
Mechanical Hardware Story:
Nottingham has this wonderful place called the Hackspace. After a comedic trip to Homebase the night before we purchased a rather large piece of MDF board and somehow managed to get it home in an Uber (as well as a humidifier, duct tape and wood glue).
After arriving to the hackathon fashionably late but in time to eat lunch - we set off to the Hackspace - once again with a comedically large peice of MDF board with a rather unhappy Uber driver.
Dropper Component Construction: After messaging some random dude on reddit the night before from a post made ~5 years ago in the hope that he still had the STL somehow we ended up with a marbel dropper design that we could 3D print. The hackspace had 3D printing tools available so we printed off the pieces and went from there. After bolting the pieces together we encountered the first major problem: The release mechanism used a spring loaded lever which would release one marble - with the springs we had they had a strong tendency to shoot straight off the connectors.
While trying to work out this problem we tried scaling the model up and down a bit to see if that would work (each print took about an hour so this was horrendously slow). This did not work
Returning to the spring problem the best solution was to try and hot glue the springs in place. After sufficently burning myself with an industrial hot glue gun several times and playing "100 ball bearing pickup" the eight droppers were fully finished and operational (~2 AM on Halloween night)
Woodworking:
We needed a way to hold the droppers over the edge of a table to drop onto an angled glockenspiel. After producing several overcomplicated designs we settled on cutting eight holes in some wood and sticking some long legs on it with a counterweight (as seen in the images above).
For those of you unfamilar with woodworking this doesnt sound too difficult and you would be correct. However, we found a way.
Problems with the approach taken:
- Lack of a pencil
- Measuring without a ruler
- Drawing straight lines without a ruler
- MDF board
- Imperial vs Metric
- Measure once cut 3-4 times
- A complete lack of knowledge around woodworking tools
- Attempting to use an industrial pipe cutter instead of a jigsaw
- Trying to cut an enclosed hole by cutting into the board
- Drilling a hole without a drill
- There are different types of woodworking table????
- Wood glue is bad
- Clamps
- "I cant be bothered to get it at a right angle just hammer the nail in"
- Difficulty with general hand eye coordination and fine motor function.
We ran into two random dudes in the hackspace who were also doing some woodwork who served to give us many useful pointers and prevent loss of extremities.
Some electrical engineering / Python Code
JOE PLEASE WRITE THIS UP HERE
Putting it all together
After the hardware team returned at 2AM we spent ~ 2 hours recovering from what was about 14 hours of straight un-interupted work.
This led to "putting it all together" starting at about 4AM with a deadline at 11AM.
Here we encountered the problem of "we didn't think this far ahead" and didnt really have a mechanism in mind to drop the balls past "Push Pull Solenoid". The original plan more or less had the solenoid push the lever forwards, however with the way the board was constructed this wasn't particularly feasible.
This lead to an hour of panic(1) of trying various odd methods. We settled on duct taping the solenoids to a board behind the mechanism and then typing pieces of wire in a loop to the dropper arm and connecting said loop to the solenoid.
This then lead us to the first test. Nothing happened. Assuming this was due to our lack of understanding on electronics we spent the next 4 - 5 hours messing about with the circuit in a mildly delerious state whilst also forgetting that multimeters are a thing.
This led to a series (heh) of discoveries.
- The solenoids were firing - they just couldnt pull the load on the spring.
- This is catastrophic and meant the whole thing wouldnt work.
- errrr something to do with splitting current in parallel I cant remember the specifics.
At some point around here time started being more of a concept as we accepted defeat so I'm not really sure when this was all occuring.
The Last Hour Panic™
Whilst in the depressive, delirious and sleep deprived state of realising the past 20+ hours of work were for naught a friend (I want to say it was Alice) suggested we use her power supply which had 24V 2A instead of the 12V 1A we were using.
It is important to note here that the Push Pull Solenoids we were using are rated at 12V.
Amazingly this worked - downside is we only had 3 solenoids wired up at this point from the aformentioned breakdown period.
I consider this a great success.
Challenges we ran into
- Lack of previous experience
- We dont know wood working
- 1 Bambu Lab A1 mini printer and 2 Ender 3s that worked at <20% the speed of the A1 Mini whilst also misprinting 2/3s of all attempts.
- Hot glue hurts
- Everything and anything electronics
- Voltage
Accomplishments that we're proud of
- Providing some good entertainment throughout the hackathon
- Managing to get all the physical components (3D printing, woodworking) implemented, without that much beforehand experience
- It actually worked?????????????
- Not starting a fire this time
What we learned
- Probably should do diagrams and stuff and prepare when doing electronics (this seems to be a recurring theme for us)
- 3d printing is hard
- Not Electronics
- Midi files are kinda cool
- Relays are useful
What's next for Doohickey
- 5 more notes
Honorable Mentions (in order of apperance)
- Holly, for lending her music and hardware knowledge
- Eva, for fixing our diodes
- Random Guys from the hackerspace for helping avoid removal of limb
- Alice for giving us a stronger power supply.
- The 118 guys we met on the way home at 2AM
Built With
- pi
- python
Log in or sign up for Devpost to join the conversation.