3
\$\begingroup\$

I have an Arduino project which needs to simulate a human button press on a third-party board, an 883LM garage door opener controller. The other board has its own power supply which is separate from my project. My multimeter shows 3.3V DC across open the button. I don't have an oscilloscope to verify that it's DC.

I thought the easiest way to interface with this would be using a 4066 "bilateral switch". I checked it with my meter and can see the continuity across pins one and two changing when I would expect.

The problem comes when I connect it across the button on the 3rd party board. The board behaves like I am holding down the button, regardless of the 4066 state. I have verified that my poor soldering has not resulted in contact between the two sides of the switch. The physical button does not respond until I disconnect one side from the 4066. If I connect it momentarily, it behaves like I have tapped the button.

I don't have much understanding of how the commercial board would not be compatible with this electronic switch. Is there anything else I should try before I start thinking about a completely new approach?

Photograph for reference

\$\endgroup\$
2
  • \$\begingroup\$ i do not see any power connection to the CD4066 \$\endgroup\$
    – jsotola
    Dec 31, 2017 at 2:53
  • \$\begingroup\$ I can see the perspective looks a bit misleading and the orange wire has a tag of insulation hanging out making it look like it's connected to the wrong pin. Its actually taking +5v from the Arduino header to pin 14. \$\endgroup\$
    – Hamish
    Dec 31, 2017 at 6:13

1 Answer 1

1
\$\begingroup\$

If you want to use a bilatheral switch between two circuit boards then you need the two boards to share the same ground otherwise it won't work. Bilatheral switches are most well suited for switching an analog voltage/current, What I would do is I wouls use an opto-coupler, it has an internal infra-red led and a photo-sensitive transistor for its output, you can connect the transistor output across the switch and activate it by driving the led from the other board.

It is generally a good idear to use an opto-coupler when connecting two circuit boards the way you are describing because that way you keep them electrically isolated from each other.

\$\endgroup\$
8
  • \$\begingroup\$ FWIW, a reed relay would work well here, versus using an opto-coupler. \$\endgroup\$ Dec 31, 2017 at 3:27
  • \$\begingroup\$ Why would you ever want to use a reed relay when you can just use an opto-coupler? sure if you needed to switch ac or an analog signal or something else but in this application I would much rather use an opto-coupler than a reed relay \$\endgroup\$
    – user173292
    Dec 31, 2017 at 3:36
  • \$\begingroup\$ The opto-coupler requires power from both boards: the reed relay requires power only from the Arduino board. The switch in the reed relay is simply paralleled across the pushbutton switch on the garage door board. \$\endgroup\$ Dec 31, 2017 at 3:39
  • \$\begingroup\$ The opto-coupler does not require power from both boards where the heck do you get that idea from? the output transistor of the opto-coupler can also just be coupled across the pushbutton in the same way, if the pull-up or pull-down resistor is too small for the transistor of the opto-coupler to be able to pull it low/high you can just add another transistor and make a darlington or you can even get opto-couplers with build in darlington output, that would work fine for this application. \$\endgroup\$
    – user173292
    Dec 31, 2017 at 3:59
  • \$\begingroup\$ To add to that the reed relay will most likely have to be connected to supply voltage and require a transistor to drive the coil and it will also need a diode across the coil and a resistor in series with it to limit the on-current. The opto-coupler on the other hand can be driven by the output of most mcu's. The reed relay is also quite a bit more bulky than an opto-coupler. I certainly know what I'd rather use. \$\endgroup\$
    – user173292
    Dec 31, 2017 at 4:06

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.