Squidgeefish made an April Fool’s prank for a friend by replacing the number pad on a keyboard with an old rotary telephone dial.
While the easy route out with a fabrication project like this is just to go for cosmetic completeness, I figured that it was imperative that the dial actually work for numeric input – especially since I was planning to remove the number row as well, thus forcing the use of the rotary dial for numeric or symbolic entry.
My rotary dial has two primary pairs of contacts. One goes open when the dial is moved past the 1 position, and the other creates the characteristic pulse train upon release (one pulse per numeric position). While one could use a pin-change interrupt, the timescale is so large that busy-waiting is acceptable. I used a DFRobot Beetle for this since its onboard ATMega32u4 provides native USB HID functionality.
I decided to 3D print a shroud to hide the internals of the dial and make this look a little bit less like Frankenstein’s monster’s keyboard. Oh, and I suppose legends for the special characters are important as well since some people may not have them memorized…
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.