Wednesday 29 October 2014

Marble dispenser

This is another challenging project that took over all my free-time but it made me achieve something that I couldnt think that I was possible to do.
The marble dispenser was a machine that interacts with Twitter and streaming a live feed from a webcam.

Watch the final result:

The bigger problem was to make an automatic marble dispenser without any human interaction to make it works.
The first idea was to make something like the candy vendor machine, with a rotator dispenser and hook it up with a motor
Of course, as every simple thing, this didnt work as I wanted. The problem was to make a container that wouldnt let marbles stuck in the container.

The solution came after few days, after a bit of brain storming and a good beer.
The container solution couldnt have made in the short time that I had, but a pre-order columns with marbles placed in a row, this was the way to go.

It might look odd but in the end, it worked and I had less trouble to make sure that one marble was released when the system needed.

Twitter integration
It might sounds strange to connect a marble dispenser with Twitter, but the reason is simple. The idea was to ask questions on Twitter and make a visual action from people's answers.
The visual action was to position two marble dispensers and drop one single ball for each answer received. Here it comes the bottom part of the marble dispenser, where I made one simple system to release only one at the time.

Bottom part
The release mechanism is very simple, it has two main parts:
- The little brick that drag only one marble at the time
- One servo motor that moves the brick

In the picture above, you can see that the brick ( in red ) has a small hole where you can fit a bracket ( in red ) and connected to the servo motor.
The main enclosure ( in orange ) fits the servo and the brick, the motor rotates from 170 to 85 degrees to make sure that the marble is released.

LCD count
To keep track of each answer and have visual reading, I used one of the 7 segments from AdaFruit.
This little guy is super easy to use and the library save you hours of coding or understanding how to send the right number to the IC.

I have used one low resolution webcam from Logitech, even because I was streaming a 640x480 because Raspberry pi can't handle a full hd streaming to Ustream.
The resolution maybe let people down, but the cool feature was to have a visual access for people not physically  at the installation.

Source code
I am sharing some of the code from the whole installation and STL files in case you would like to print the same thing.
The code might be not the perfect one you have ever seen but it works, so please dont judge me.
Also this was my first attempt to create something very sophisticated in 3D using ( web software ), so my models might be crappy and bad made.


Pictures and Videos