Concrete Volume Control Knob W/ Arduino
Introduction: Concrete Volume Control Knob W/ Arduino
An external volume control knob for your computer, I'm sure you've seen or at least heard of one. Spin the knob and your volume goes up or down and some can even mute with a click. I find listening to music productive while working but it can be a hassle to dump the volume when I have to take a call, multiple desktops, multiple keyboards, yada-yada.
So I have a (need/desire/want) to use one of these control knobs but not the (need/desire/want) to purchase one because what fun would that be. Buying a perfectly functional product seems wrong when you can spend weeks making something that works almost as good as a commercial version. Seriously, it's much more fun to design, tinker and mod a design of your own, especially when it actually works! I guess I'm a bit weird because I find most of the enjoyment in the design and building phases and the working part is sometimes anticlimactic as I've already seen it working in my head a thousand times.
In the end I did have a lot fun designing and building it, I learned more about doing it better the next time and I'm very happy to use it daily.
Supplies
Making the molds, base and button
* 3D Printer
* PLA
* Concrete / Mortar / Grout
Electronics
1. Rotary Encoder
2. Arduino Micro Pro (ATMega32u4) Clone
3. Misc Wire
Tools
* Soldering Station
* Epoxy / Hot Glue Gun
* Sandpaper / Files
* Small Brush
Misc
* Paint / Primer
* Polyurethane
* Rubber Feet
Step 1: Concepualization
I had the idea and now I needed to turn a vague notion into something real. What to do first? I do what I always do, start doodling on some paper, draw out a few rough ideas and figure out how I could get from here to there. I also popped onto the Internet and took a look around to what others had done. I liked this, didn't like that, LOVED the other thing but maybe incorporate some of that into my next build, let's not get overly ambitions. 120
Let's see if we can get some basic things working first.
The KNOB
First things first, I know I wanted a concrete knob as opposed to a 3D Printed knob (maybe a nice wooden knob?). I liked the concept of concrete, the heft, the look, it all worked for me. Whatever style it is (industrial?) I like it.
The BUTTON
I liked the idea of being able to push the puck and mute/un-mute the media player but I thought that the way most people balanced the knob, hovering on the rotary spindle, might wear it out so I moved to having the puck rest on the base and using a free moving center button to handle the "click" of the mute.
The BASE/BUTTON
I was lucky enough to purchase a 3D printer a while back and I use it every time I can and this time was no different. I figured I could design and print all the other base pieces. Easy to prototype and I could finish it up the way I wanted.
The ELECTRONICS
Using a rotary encoder with a click button was a no brainer and I already had a bag of them left over from some earlier project. However, there's a rub here. Not all rotary encoders are made the same which also translates to different types of coding. I had the encoders and could pull the code from another project so that's what I used but perhaps next time I'd use a different encoder and some more streamlined code (more on that later).
The Arduino board will be the brains of this project. For this I used a HiLetgo clone ATMega32u4 (Micro Pro) because it will run as a HID device. Others will also work (Leonardo for example) but I liked this size and I've used HiLetgo products before with good results (ESP8266 and ESP32 for example). Small, plenty of pins for expansion if I want to do this bigger next time and perfect for this project.
Putting it all together
I was looking to make a concrete knob, with a free floating center push button, that rested on a 3D printed base which holds the little Arduino. And from that thought started the doodles, the scribbles and the staring thoughtfully out the window when I should be doing actual work.
Step 2: Tinkercad
I may have mentioned once or twice that I use Tinkercad to design many of my projects. 120