Buttons/switches, switches/buttons

Status
Not open for further replies.
I've been hunting all over the internet for a type of momentary button/switch that suits my particular needs but haven't had much luck.

I'm after a momentary switch/button with:

- A diameter of ~12-18mm
- A physical spring resistance when pushed that is very soft/easy to press. Something along the lines of the macbook keyboard keys is an example of something I'm after.
- A depth from the surface which I will be mounting them to of no more than ~40mm [Not entirely necessary though]

A lot of the momentary switches out there have quite decent spring tensions in them which will not be ideal as I will be pushing them 1000's of times (like a computer keyboard).

Can anyone help me out/point me in the right direction of products that may suit what I am after?

Cheers!
 
Last edited:
Do you need the tactile sensation of pressing a key, or would a membrane key work for you?

Alternatively, on the Teensy 3.0, you don't need no stinking key at all, you could wire up a 12-18mm pad with one of the pins that can do touch sensing, and calibrate a range that would indicate a keypress (note, you do have make sure you share a grounded with the Teensy).

Adafruit does have a series of 16mm panel mount buttons (18mm x 18mm x29.4mm), but I don't know about spring tension. Here is a simple version: http://www.adafruit.com/products/1503. They also have waterproof versions with a builtin led that are claimed to be rugged: http://www.adafruit.com/products/558, that are claimed to be designed for 500,000 pushes.

If you are wanting something different, and can tolerate a little wider (20mm), you can get these buttons with wooden covers instead of plastic: https://www.etsy.com/listing/88247891/steampunk-push-switch-walnut-wood?ref=shop_home_active.
 
Thanks for the response MichaelMeissner

Any sort of button would work, as long as it isn't hard to press really. So a membrane could work.

Is that touch sensitivity feature possible on a teensy++ 2.0? Touch sensitivity could definitely be a feasible option!

I have all ready purchased some of these http://www.adafruit.com/products/1477 but they're too stiff, so I'm unsure on how any of the spring tensions in the ones you linked will feel like. It looks like you can disassemble the buttons so I may have to go and order some lighter springs.
 
Thanks for the response MichaelMeissner
Is that touch sensitivity feature possible on a teensy++ 2.0? Touch sensitivity could definitely be a feasible option!

I believe the touch capacitive sensor is only in Teensy 3.0. However, you can use two analog sensors on other processors to do the same thing that the touch pins on the Teensy 3.0 do. Here is a link, but I haven't tried it out: http://playground.arduino.cc//Main/CapacitiveSensor?from=Main.CapSense.

Lets see, a Teensy 2.0++ has 8 analog pins, so you could have at most 4 capacitive sensors (or 3 if you want to use i2c). The Teensy 3.0 has 9 separate pins that can do touch reading on the normal pins, and 3 that you can solder wires to underneath for a total of 12 sensors (though 2 of them overlap with i2c, and 2 with the hardware serial monitor/USB).

<edit>
It looks like Adafruit has 3 membrane keys: one 1x4, one with a single button with a led, and a 3x4 matrix keypad (you need to use the Matrix Keypad library for this). Sparkfun has some membrane potentiometers.

Adafruit also has a standalone capactive sensor (either toggle or momentary) that you don't need any fancy programming for. http://www.adafruit.com/products/1374
 
Last edited:
CapSense doesn't require Analog pins. And it only needs 1 'send' pin for all the different 'sense' pins you use. It works by sending a pulse out the send pin, and then timing how long it takes to receive that pulse on each receive pin. It can eat up quite a lot of processor time if you've got a lot of sensors and high sensitivity, and there's some fiddling with resistors to do as well. Each Receive pin needs it's own send/receive resistor pair, but you can have that single Send pin feed into each of your send resistors.

Anyway, I've got 4 capacitive sensor planes running, all from 5 digital pins. This is a better link than the arduino playground one: http://pjrc.com/teensy/td_libs_CapacitiveSensor.html
 
The CapacitiveSensor library works on all boards, but Teensy 3.0's touchRead() performs much better. If you're going to do capacitive touch sensing, I'd highly recommend using Teensy 3.0.
 
Status
Not open for further replies.
Back
Top