Arduino connect programatically two wires of external 3.3V device

missing_puzzle

What is a missing puzzle in here, relay, transistor? I would like to pull pin of external device to the ground programatically using arduino's digital pin.

Or an optocoupler, or a CMOS switch, or....

It all depends on what the context is. What kind of device are you trying to hack? Can you post pictures, documentation etc?

1 Like

does it really matter? I mean, it triggers when some pin is connected to the ground, I can't connect arduino pin to it and set state to LOW or HIGH, I need to pull down to the ground, if it is possible to connect directly to arduino and pull down to the ground I would also be happy, but I guess I need extra element, could you provide me example part I can put here?

Yes. Context always matters. Especially here. It's relevant to know what happens to/around 'SOME PIN' in your drawing. This determines which options are feasible. It also indicates whether your assessment so far of how to approach this is correct/feasible and you're not overlooking something very obvious.

Setting an Arduino pin LOW is effectively the same as pulling it to GND. Which emphasizes the relevance of my remark about the validity of your assessment so far. I have doubts about it.

A relay is generally a safe bet. A relay module generally contains the auxiliary parts that allow it to be controlled from your Arduino.
Whether it's the best/most sensible choice, I obviously cannot say lacking contextual information.

ok, arduino 3.3v and zigbee reed switch 3.3v, arduino powered from raw pin,
I would like to programatically trigger this zigbee device insted of placing a magnet next to it

I would like to connect D4 to GND somehow

I found eg. AOD4184, from reading datasheet I see it is 5V powered, 3.3V triggered and can control 3.3V,
but maybe it is an overkill

That's a Zigbee module that can be programmed by the user with firmware of their choice (can be self-made). What kind of software is/will be running on yours? Is there a provision in it for making it do what you want it to do, or can you make such a provision? If you're not the maker of the software, do you have access to the documentation? Does the software for instance make functionality accessible over the UART of this module?

It sounds a bit odd to connect a second microcontroller board to what's essentially also a microcontroller board (and much more powerful than your Arduino) just to basically flip a switch.

Based on what kind of outside world event? Again, can't the Zigbee device itself respond to this event in the way you intend it to?

Pretty much any of the options mentioned would likely do. However, if this module runs on 3.3V and the Arduino does, too, you could even directly connect one of the Arduino's GPIO's to the Zigbee module's GPIO and write the pin LOW whenever needed. No other parts needed. The rest of the time you could leave it floating (set it to INPUT). You do need to connect the Arduino and Zigbee GND's together.
Again, it looks a bit silly to me to add another controller to this if you've already got one, but it depends a bit on what the Zigbee thing is doing (here we go again - context).

I have couple of old arduino pro minis lying down in the box, I don't mind using them (also they are very easy to program), I may also use electromagnet in here, I just want to know general solution for such problems or cheapest one, I know I can control lights using relay switch, but I thought it should be even simpler, because I have same current in here, i've found out by experimenting that when connecting those two wires it triggers, I don't think I want to solder and learn how to program new device (zigbee), I'll try with this input state, maybe this relay is in fact not needed, thank you

A direct connection between two GPIO's (Arduino to Zigbee) should work fine. I'd put a 1k resistor between them to limit current in case something goes wrong. This shouldn't affect the functioning of the device otherwise.

current != voltage

Depends on...you guessed it: context.

I thought about voltage but said current,
maybe my problem lies in sth else,
when I connect those two devices and arduino to usb port, and program arduino eg. to blink every second
it seems like zigbee is powered and is announcing itself but arduino is not powered enought, how to say, to do it's job

It sounds like the Arduino is trying to power the Zigbee module through the GPIO that connects both of them. Like I said, add a 1k resistor in series between them. This is one of the issues the resistor should prevent.
You'll have to power both the Arduino and the Zigbee for the setup to work, obviously. It's OK to use the same power supply for both as long as both modules receive a power input that's within their specifications and the single power supply can source enough current for the entire setup.

You read the datasheet wrong.

This will work and is safe.