I wanted to post a little bit more in-depth about my previously posted Coin Sorter. The design works using light switches made up of an LED shining directly at a photoresisitor. Initially, I tried to use Infrared LEDs to be used for the light source of the switch so that the extra light would not distract from the design. While the photoresistors do register the infrared light… it was not enough to reliably detect a coin passing, so I switched to regular white light LEDs.
Using the existing coin sorter as a guide, I designed a mechanical sorting device to fit the form factor of my re-designed sorter, that would also have mounting points for the light switches and microcontroller. I then had it 3D printed in ABS so that it would be durable enough to withstand mounting the components and impact from the coins.
I used three 8×8 LED matrices from Adafruit, with an I2C backpack on them that uses a library to control the display.
While the library enables writing text/numbers to the display using simple .print() commands, the 24×8 was not enough to statically display the 4 digit total, 5 digits including the dollar sign. So, I created my own 3×6 display numbers and wrote a custom display update function to accommodate the small screen size.
The circuitry was prototyped on an Arduino Leonardo.
However, the final electronics were done using an Arduino Micro. Wiring up all of the components was a nightmarish process…
The panels for the sorter were cut from 1/8″ and 1/4″ maple board. I mitered the joins by hand and created both sanding and assembly jigs to help me get the angles right. From my experience with the Walnut Dodecahedron, I used some small basswood braces and super glue to secure the panels in place while the wood glue hardened.
The project was realized, from start to finish, in 3 weeks. It turned out to be a really great project that allowed me to use a bit of my engineering skills in conjunction with my design skills to really bring a product to life. Thanks for taking a look!
For those who are interested, below is a copy of the code that is running on the Micro. It’s not very well commented right now, but I’ll try to get it updated when I have a chance. Hope this helps!