1
$\begingroup$

What is the simplest way to add physical controls to a screen?

Background:
I'd like to have a row of physical buttons or controls and when a button is pressed an image or video or sound is played on an attached screen. I've written software, websites and even worked with arduino and other toolkits.

I can write an app for a phone but how would you connect physical controls to it? Also, for IPhone I couldn't install my app without creating an account with Apple. On Android, I'd have to unlock the phone to install custom apps. A whole lot of work.

I'm thinking if I can create a device that identifies as a "keyboard" that would give me 126 buttons and would work with mac, windows, ios and android (don't phones support keyboards now?). Then I can open a webpage to listen for key events. But how do I create my keyboard?

For me, on the software side, creating a web page would be simplest.

For the controller, at this point I want to have about 6 to 8 buttons laying flat but I may need to add more buttons in different layouts.

Note: I'm not asking for an opinion. Given what I want there should be a few preferable solutions. I hope this makes sense.

$\endgroup$
4
  • 1
    $\begingroup$ disassemble a USB keyboard $\endgroup$
    – jsotola
    Oct 7, 2022 at 0:43
  • $\begingroup$ Is it for an industrial application? Which environment do you want to use? $\endgroup$
    – dwpessoa
    Oct 7, 2022 at 10:56
  • $\begingroup$ @dwpessoa It would eventually be a small portable device. A row of buttons and a screen that responds to button presses. $\endgroup$ Oct 7, 2022 at 12:47
  • $\begingroup$ A possible "Build it yourself" solution would be to use an ESP32/NodeMCU, Arduino or Raspberry Pi and use MQTT to send the status of keys and an application, page or something else could receive and trigger actions.... Ever thought of a bluetooth keyboard?... $\endgroup$
    – dwpessoa
    Oct 7, 2022 at 15:21

2 Answers 2

2
$\begingroup$

Emulating a keyboard is a good way to go. An Arduino Leonardo has an ATmega32u4 and can emulate USB devices such as a keyboard with the keyboard library. Here is a keyboard message example that also shows give the schematic (included below) of how to wire the button.

Arduino Electrical Schematic

For the final product you will need to source some high quality SPST push buttons. Most any push button will do since the current will be on the order of 5mA and low voltage of 5VDC. Mouser is a good location to start looking. Remember that even with high quality push buttons you should add debounce code to ensure a button press is only registered once in the software.

$\endgroup$
0
$\begingroup$

"What is the simplest way to add physical controls to a screen? ...
For the controller, at this point I want to have about 6 to 8 buttons laying flat but I may need to add more buttons in different layouts.".

A used phone can provide you with an inexpensive ARM platform with screen, you only need to add some switches; which are readily available for phones.

The Pimoroni USB Keypad is $20. Pimoroni USB Keypad

Raxxio has a few small keyboards with switches for under \$20: H9 Mini Wireless Keyboard. H9 Mini Wireless Keyboard Satechi has a \$40 numeric aluminum Bluetooth keypad. Bluetooth numeric keypad There's the Gimibox MX3 for under \$20, it's like a TV remote with keyboard. TV wireless remote with keyboard

 

Much more expensive, \$100, is a game controller such as the Razer Kishi V2 for Android. Razer Kishi V2

$\endgroup$

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .