There are truisms about dice that you’ve probably already heard: if you have just one of them it’s called a “die”, opposite faces of each die always add up to seven, and those dots that you’re adding together are known as “pips”. But what about the infrared properties of those pips? It turns out they reflect less IR than the white body of the die and that trait can be used to build an automatic die reader.
Great projects have a way of bubbling to the surface. The proof of concept comes from way back in 2009, and while the source blog is now defunct, it’s thankfully been preserved by the Internet Archive. In recreating the project based on that barebones description, [Calvin] reached for a set of five IR transmitter/receiver pairs. Take a close look and you’ll see each transmitter is hidden under its partnered receiver. The light shines up through the receiver and the presence of the pip is detected by measuring how much of it bounces back.
This board is only the sensor portion of the design. A 595 shift register provides the ability to control which IR pair is powered, plus five more signals heading out to the analog pins of an Arduino Uno to monitor how much light is being detected by the receivers. Hey, that’s another interesting fact about dice, you only need to read five different pips to establish the value shown!
We wish there were a demo video showing this in action, but alas we couldn’t find one. We were amused to hear [Calvin] mentioned this was a sorting assignment at University and the team didn’t want to build yet another candy sorter. Look, we love an epic M&M sorter just as much as the next electronic geek, but it’s pretty hard to one-up this dice-based random number generator which rolls 1.3 million times each day.
TIL the darker parts of the die reflect less light than the lighter parts.
Technically, the article (incorrectly) says the opposite.
It’s been corrected now. The instructable was a bit confusing in this regard, since a higher number means less light reflected back (more light means more pull-down through the detector, thus smaller reading on A/D).
I know how yah love yer weird [e.g. binary] clocks…
This encoding-method can cover 0-9, were we to follow the die’s symmetry ‘rules.’ Kinda groovy!
Since D&D was mentioned in the title, I feel it is appropriate to note that “opposite faces of each die always add up to seven” only applies to d6 (six sided dice).