So you’re building a new mechanical keyboard. Or attaching a few buttons to a Raspberry Pi. Or making the biggest MIDI grid controller the world has ever know. Great! The first and most important engineering question is; how do you read all those buttons? A few buttons on a ‘Pi can probably be directly connected, one for one, to GPIO pins. A mechanical keyboard is going to require a few more pins and probably some sort of matrix scanner. But the grid controller is less clear. Maybe external I/O expanders or a even bigger matrix? Does it still need diodes at each button? To help answer these questions the folks at [openmusiclabs] generated a frankly astounding map which shows, given the number of inputs to scan and pins available, which topology makes sense and roughly how much might it cost. And to top it off they link into very readable descriptions of how each might be accomplished. The data may have been gathered in 2011 but none of the fundamentals here have changed.
How do you read this chart? The X axis is the number of free pins on your controller and the Y is the number of I/Os to scan. So looking at the yellow band across the top, if you need to scan one input it always makes the most sense to directly use a single pin (pretty intuitive, right?). Scrolling down, if you need to read 110 inputs but the micro only has eight pins free there are a couple choices, keys E and F. Checking the legend at the top E is “Parallel out shift register muxed with uC” and F is “Parallel in shift register muxed with uC“. What do those mean? Checking the table in the original post or following the link takes us to a handy descriptive page. It looks like a “parallel out shift register” refers to using a shift register to drive one side of the scan matrix, and “parallel in shift register” refers to the opposite.
Continue reading “What’s the Cheapest Way to Scan Lots of Buttons?”
An outstanding number of things most people take for granted present enormous hurdles for people with physical disabilities, including interaction with computers and other digital resources. Assistive technologies such as adaptive switches allow users who cannot use conventional buttons or other input devices to interact with digital devices, and while there are commercial offerings there is still plenty of room for projects like [Cassio Batista]’s DIY Low-cost Assistive Technology Switches.
[Cassio]’s project focuses on non-contact switches, such as proximity and puff-based activations. These are economical, DIY options aimed at improving accessibility for people who are unable to physically push even specialized switches. There are existing products in this space, but cost can be a barrier and DIY options that use familiar interfaces greatly improves accessibility.
Assistive technologies that give people the tools they need to have more control over their own lives in a positive, healthy way is one of the more vibrant and positive areas of open hardware development, and it’s not always clear where the challenges lie when creating solutions. An example of this is the winner of the 2015 Hackaday Prize, the Eyedrivomatic, which allows one to interface the steering of an electric wheelchair to a gaze tracking system while permanently altering neither device; a necessity because users often do not own their hardware.
Modern handheld gaming hardware is great. The units are ergonomic powerhouses, yet many of us do all our portable gaming on a painfully rectangular smartphone. Their primary method of interaction is the index finger or thumbs, not a D-pad and buttons. Shoulder triggers have only existed on a few phones. Bluetooth gaming pads are affordable but they are either bulky or you have to find another way to hold your phone. Detachable shoulder buttons are a perfect compromise since they can fit in a coin purse and they’re cheap because you can make your own.
[ASCAS] explains how his levers work to translate a physical lever press into a capacitive touch response. The basic premise is that the contact point is always touching the screen, but until you pull the lever, which is covered in aluminum tape, the screen won’t sense anything there. It’s pretty clever, and the whole kit can be built with consumables usually stocked in hardware stores and hacker basements and it should work on any capacitive touch screen.
Physical buttons and phones don’t have to be estranged and full-fledged keyswitches aren’t exempt. Or maybe many capacitive touch switches are your forte.
Continue reading “Print Physical Buttons for Your Touch Screen”
Here’s a project that you can throw together in an afternoon, provided you have the parts on hand, and is certain to entertain. Hackaday.io user [SunFounder] walks us through the process of transforming a humble cardboard box into a whack-a-mole game might be just the ticket to pound out some stress or captivate any children in the vicinity.
A multi-control board and nine arcade buttons are the critical pieces of hardware here, with wires and a USB cable rounding out the rest of the electronics. Separate the button core from the upper shell, mounting the shell in the box, and connect the button core’s LED cathode to the button’s ON terminal. Repeat eight times. Solder the buttons in parallel and add some more wire to the buttons’ ON terminals to extend their reach. Repeat eight more times.
Place the finished LED+cores into the buttons and connect their ON terminals to their respective buttons on the multi control board. Now for the hard step: use a mini-USB to USB cable to connect the controller to a computer you want to use to run the game’s code in the Arduino IDE. Modify the key-mappings and away you go! Check out the build video after the break.
Continue reading “Hack Together A Whack-A-Mole In A Box!”
For all their capacity, shutting down a Raspberry Pi can be a bothersome routine depending on how you have it set up — historically and abrupt cut to the power risks corrupting the SD card. [madlab5] had to make a few changes to a Pi running in headless mode, requiring them to access it externally to shut it down to prevent any damage from pulling the plug. So, why not take the opportunity to whip up a soft shut-down switch?
This is a great beginner project to get one accustomed to working with a Pi. With this in mind, [madlab5] went through two revisions of this idea: the simple way, and the fun way. For the simple way just press the button and the Pi activates a script which shuts it down in thirty seconds. Job done. But, realizing there may be a few circumstances where they’d need more functionality, [madlab5] decided to take a second swing at this.
[madlab5]’s fun way involves a button with a built-in LED and a speaker to blare an announcement that the Pi will
self destruct shut down after a short time. Setting the switch up this way takes a little more doing, but you get to add a little more character to your Pi with a custom shutdown report, as well as the option to cancel an accidental button-press.
For any newbies out there, [madlab5] is kind enough to provide their code and diagrams in their blog post. If remotes are more your thing, we have also featured a similar beginner project to shut down your Pi.
Depending on whom you ask, fidgeting is an unsightly habit or a necessity for free-form ideation. Fan of the latter hypothesis? Well, why aren’t you making yourself a fidget pyramid?
[lignum] sculpted his fidget toy out of a chunk of 2000 year old bog-oak using hand tools and a little precision help from a Kuka KR 150 industrial robot arm. A push button, a toggle switch, a ball-bearing, and a smooth side provide mindless distraction on this piece.
Two plates of 1.5mm aluminium — also cut using the robot arm — are used to attach the button and toggle to the tetrahedron, while the ball bearing is pushed onto a cylindrical protrusion left during the cutting process for the purpose. The build video makes it look easy.
Continue reading “Fidget Pyramid with Help From a 2500 Pound Robot”
Amazon Dash is a handy service, and when Amazon released their AWS IoT platform, [Brian Carbonette] felt that it left out all the hardware hackers from the tinkering fun. Seeking justice, he put together a guide for an Arduino Dash button aimed at hardware hackers and those who are still easing into the world.
For his build, [Carbonette] used an Arduino MKR1000, laying out a few different configuration options for building your button. He has also gone to great lengths to help all comers tackle the Arduino-Dash API communication process by building an AmazonDRS Arduino Library, which handles all the “boring details,” so you can focus on the hardware. With the warning that the software-side setup is tedious the first time around, [Carbonette] has included a detailed manual for setting up the aforementioned AmazonDRS library, some example code, and a breakdown thereof. He also suggests implementing other features — such as a notification if the item is out of stock on Amazon — to tie the project together.
Continue reading “Dash With Arduino”