4
\$\begingroup\$

I'm trying to build a button that can exist in two modes. Either it springs back after being pressed, or it stays pressed. I want to switch between these two modes using some complex logic, controlled by an Arduino or a RaspberryPi. The dimensions should be around 1'-by-1', and I'll have a 5-by-6 grid of these buttons to make a puzzle. I'm struggling to come up with a simple design for one such button.

I thought of using a solenoid, but they have a duty cycle and use a lot of power in one of the two modes. Ideally, I would only need power to switch between the two states. That way, a player can play with the puzzle for a while, then leave it alone overnight and come back to playing the day after. I'd rather not keep the solenoids powered overnight.

Another idea I had was to use two electromagnets to pull some kind of a latch back and forth, to jam the button in its pressed state. But that seems complicated and finicky.

\$\endgroup\$
4
  • 1
    \$\begingroup\$ i think that this may be an XY problem ... you are asking for help with what you consider to be a solution to an unspecified problem, even though the solution may be misguided .... what is the actual problem that you are trying to solve? \$\endgroup\$
    – jsotola
    Commented Apr 5, 2020 at 0:10
  • 4
    \$\begingroup\$ @jsotola what part of "I want to have the button stay pushed in sometimes" is unspecified? \$\endgroup\$
    – Passerby
    Commented Apr 5, 2020 at 0:35
  • \$\begingroup\$ @jstola That's fair -- perhaps there is a solution I'm not considering. Jasen's idea with a circuit breaker is progress. I want a button that behaves similarly to a kitchen circuit breaker that can be reset by pressing in a button. \$\endgroup\$
    – abednego
    Commented Apr 5, 2020 at 0:50
  • 3
    \$\begingroup\$ @Passerby, this is the thing ... some people will say i want the button to stay pushed when they mean i want the light to stay on when i release the button \$\endgroup\$
    – jsotola
    Commented Apr 5, 2020 at 0:52

4 Answers 4

4
\$\begingroup\$

There are solenoids that can pull in instead of push out. Ones with springs on them so that they default to out.

Taking one of these, and you can build a simple latch. When the button is pressed down, the solenoid arm is pushed into a hole on the side of the button, locking it in place. You can then just pulse the solenoid to unlatch and the button pops back up. So no need to power it all the time. For this you would need to fabricate a button cover and spring setup (hello 3d printers). Or you could modify an arcade button type switch with a drill. How you do it would depend on the solenoid you use.

Alternatively you could make it electronic. Instead of keeping the switch pressed in physically, have it light up an led. You could get button switches with LEDs built in that you can control. This would mean you need to power it, but it will be much less current than a solenoid.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Aha! That makes sense. The button locks by default, and I pulse a solenoid to unlock it. I can send that pulse any time I find the button pressed while it shouldn't be. Time for some tiny solenoid shopping. \$\endgroup\$
    – abednego
    Commented Apr 5, 2020 at 0:55
4
\$\begingroup\$

Maybe a small servo could be used to pull down the push button stem.

enter image description here

\$\endgroup\$
2
  • \$\begingroup\$ That's cool, but wouldn't that require my finger to force the servo to spin when I press the button? I have a few VEX servos, and they are tough to spin with my fingers when un-powered. When powered, that's even tougher and likely a bad idea to try to force them. Or do you mean that the servo's arm quickly slams into the hole once the button touches the switch? Also, 30 servos are significantly more expensive than 30 solenoids. \$\endgroup\$
    – abednego
    Commented Apr 5, 2020 at 4:06
  • \$\begingroup\$ it is just a rough drawing ... the slot in the button stem should have been drawn taller, so that the button stem would not touch the servo arm before the switch activates \$\endgroup\$
    – jsotola
    Commented Apr 5, 2020 at 7:28
4
\$\begingroup\$

You can use a permanent magnet strong enough to hold the button down, but not strong enough to pull it down. Put an electromagnet in series with it in the magnetic circuit, so that a pulse on the electromagnet will counteract the permanent magnet and let the button come up.

I guess the easiest way to arrange this would probably be to attach a permanent magnet to the bottom of solenoid, so that if you push the solenoid in, then the magnet will hold it down, but you can energize the solenoid to release it.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ I like that. Fewer mechanical parts. \$\endgroup\$
    – abednego
    Commented Apr 5, 2020 at 19:09
4
\$\begingroup\$

Someone has already invented this.

The circuit breakers used to simulate aircraft breakers in flight simulators can be released by a small current, but they are not cheap.

image from simkits

The device pictured sells for hundreds of dollars. I see a relay mechanism used like a firearm sear, some contacts, and a spring-loaded plunger - you may be able to duplicate this at a lower cost

\$\endgroup\$
7
  • \$\begingroup\$ With 3d printing this could be done for much much cheaper. \$\endgroup\$
    – Passerby
    Commented Apr 5, 2020 at 0:45
  • \$\begingroup\$ Thanks. The picture gives me some ideas. \$\endgroup\$
    – abednego
    Commented Apr 5, 2020 at 0:47
  • \$\begingroup\$ yeah, I was suprised how informative the picture was, \$\endgroup\$ Commented Apr 5, 2020 at 1:03
  • \$\begingroup\$ you'll probably still need to transistors to drive the coils \$\endgroup\$ Commented Apr 5, 2020 at 1:05
  • \$\begingroup\$ @Passerby or it could be done with profile-cut polycarbonate sheet, probably cheaper \$\endgroup\$ Commented Apr 5, 2020 at 4:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.