After having fun with the logic game - the next fun idea was to make an automated Maoam dispenser - so that in case of successfull solution the reward is given automatically :)
Initial idea
At first I was thinking some vertical approach and planned to use some small servo to push out the maoam pieces.
I’ve designed some alpha version to get a glimpse on how this could look like…
After printing out the lower part of this design - and playing with it just by manually dropping maoaom into it I’ve realized that this concept is prone to some issues: the maoams could rotate in these large vertical spaces and will most likely get stuck…
Rotary approach
I was exploring new ideas how this could be put together - and opted for a rotary design; so that every piece of maoam will be in a small storage space.
Running this dial around become the next step toward having this working - I had some simple steppers (28BYJ-48-5V) around; that seemed like a good choice for this project. At first I wanted to use a small cogwheel on the stepper to run the dispenser around. but…I got an idea, I may simply put the whole dial on the axis of the stepper:
I’ve printed this and tested the approach - however this turned out to be a bad idea, because the stepper was not powerful enough to run it around easily - I’ve added some drag by hand to see how easy it is to get it stuck….so I’ve gone back to the previous idea and continued with that approach.
The big dispenser dial has some cogs on its bottom:
and the dispenser looks like this in the slightly exploded openscad preview
The stepper motor is run by some nodemcu board (esp8266). I’ve just tied it into my mqtt control net and put a few debug buttons on my “MQTT dashboard” on my phone to be able to direct it by hand.
Installation
I’ve printed the parts assembled it - and since it looked good enough I’ve put it on the board.
I also have some early video about moving the dial a bit
After it was working well I’ve put it on its final place
The final model is availabel on thingiverse
Implementing the on-solution dispense event
To make this work I needed a few more things:
- be able to capture the event the logic puzzle was solved
- send the event to the dispenser to
The busy-logic is run by an avr board utilizing a 32u4 chip - so I could not connect that directly to the mqtt networks. However it was connected to an old raspberry pi to upload firmware to it…
I wanted to finish things up so I looked for something which could be easily implemented given the available options.
I decided to output the state of the logic-board on the serial port; and read that from the RPI continously from a shellscript - and when the solved event arrives it could post an mqtt message for the dispenser..pretty ugly solution…but it worked.
Final words
I had to backdate this article - because I was not spending time writing things during the last year…so I might have missed some interesting parts of the creation of it :) but it was really fun creating it!
The next step after the dispenser was to extend the board with an rfid reader to bring a bit more fun into this daily game :)
cheers, Zoltan
comments powered by Disqus