• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Arduino Uno Keypad 3D Printer File Image 1
Arduino Uno Keypad 3D Printer File Image 2
Arduino Uno Keypad 3D Printer File Image 3
Arduino Uno Keypad 3D Printer File Image 4
Arduino Uno Keypad 3D Printer File Image 5
Arduino Uno Keypad 3D Printer File Image 6
Arduino Uno Keypad 3D Printer File Image 7
Arduino Uno Keypad 3D Printer File Image 8
Arduino Uno Keypad 3D Printer File Image 9
Arduino Uno Keypad 3D Printer File Image 10
Arduino Uno Keypad 3D Printer File Image 11
Arduino Uno Keypad 3D Printer File Image 12
Arduino Uno Keypad 3D Printer File Image 13
Arduino Uno Keypad 3D Printer File Image 14
Arduino Uno Keypad 3D Printer File Thumbnail 1
Arduino Uno Keypad 3D Printer File Thumbnail 2
Arduino Uno Keypad 3D Printer File Thumbnail 3
Arduino Uno Keypad 3D Printer File Thumbnail 4
Arduino Uno Keypad 3D Printer File Thumbnail 5
Arduino Uno Keypad 3D Printer File Thumbnail 6
Arduino Uno Keypad 3D Printer File Thumbnail 7
Arduino Uno Keypad 3D Printer File Thumbnail 8
Arduino Uno Keypad 3D Printer File Thumbnail 9
Arduino Uno Keypad 3D Printer File Thumbnail 10
Arduino Uno Keypad 3D Printer File Thumbnail 11
Arduino Uno Keypad 3D Printer File Thumbnail 12
Arduino Uno Keypad 3D Printer File Thumbnail 13
Arduino Uno Keypad 3D Printer File Thumbnail 14

Arduino Uno Keypad

s6monts avatars6monts

June 18, 2024

printables-icon
DescriptionCommentsTags

Description

This keypad uses :

  • Arduino Uno
  • 3 rotary encoders, with a rectangular base 16mm wide (I repurposed mine from a broken amplifier)
  • 3 buttons 9mm wide square base (the ones that usually come in Arduino kits)
  • a 5mm LED
  • Optionally a slide button to have to switchable modes (6mm x 20mm, quite common small buttons found in many gadgets, with 2 mounting holes, 15mm apart)
  • 3 x 10K ohms resistors (or 4 if you want the modes switch) for the buttons
  • 220 ohms resistors for the led
  • 8 x M3 nuts
  • 2 x M3x20mm
  • 6 x M3x8mm
  • 2x M4 nuts
  • 2x M4x10mm
  • some kind of weight, I used a 38mm x 21mm x 4mm piece of cast steel from an old amp but you could use washers or cut a piece of steel to size.

I have printed all of the files with my Prusa I3 MK2.5S and a 0.6mm wide nozzle with 0.25mm layer heights (the files are pretty easy to print and only the top part requires supports.

The keypad uses Serial communications to send keypress and knob turns that are then received by a python code that has to run in the background (you can set it up to automatically launch upon logging in).

The Arduino code is pretty simple and I have included it in the files (I have not programmed the modes switch but it should be pretty easy to add).

The python code uses the Pyserial library to read the informations from the serial bus (https://pyserial.readthedocs.io/en/latest/pyserial.html#installation) and the pyautogui library to register the keypresses (https://pyautogui.readthedocs.io/en/latest/install.html).

Here is the code I have used (the two knobs at the bottom are used to get 2 speeds of mouse scrolling and the top one is a volume knob, the buttons are function keys.

import serial
import pyautogui

arduino = serial.Serial("COM4", 9600, timeout=.1)
while True:
   data = arduino.readline()
   if data != None :
       dataList = data.decode("ascii").split("_")
       last = 0
       for word in dataList :
           if word == "volUp" : pyautogui.press('volumeup')
           elif word == "volDo": pyautogui.press('volumedown')
           elif word == "en1Up" : pyautogui.scroll(50)
           elif word == "en1Do" : pyautogui.scroll(-50)
           elif word == "en2Up" : pyautogui.scroll(500)
           elif word == "en2Do" : pyautogui.scroll(-500)
           elif word == "bu1": pyautogui.press('f1')
           elif word == "bu2": pyautogui.press('f2')
           elif word == "bu3": pyautogui.press('f3')

 

The keypad works relatively well though there are sometimes weird bugs that I haven't been able to solve.. Since I built the entire keypad with parts I already had lying around I am quite happy with the result.

License:

Creative Commons — Attribution

Related Models

bakercube preview image

bakercube

iomaa profile image

iomaa

44,438

Book Page Holder V3 preview image

Book Page Holder V3

fifindr profile image

fifindr

3,495

Customizable Spotify Keychain / Tag preview image

Customizable Spotify Keychain / Tag

ewt profile image

ewt

3,010

Bottle Opener and Cap GUN! preview image

Bottle Opener and Cap GUN!

3Deddy profile image

3Deddy

43,981

Funnel Tray preview image

Funnel Tray

fifindr profile image

fifindr

3,523

Aldi Cart keychain preview image

Aldi Cart keychain

Nexus profile image

Nexus

1,087

Mini Tape Gun - Tape Dispenser preview image

Mini Tape Gun - Tape Dispenser

brycelowe profile image

brycelowe

23,755

Drill Paint Mixer preview image

Drill Paint Mixer

fifindr profile image

fifindr

2,428