Electrical – Will an arduino output pin set low ground a pin on a DFPlayer module

arduinodigital-logicmp3power electronics

I have a DFPlayer MP3 module I'm using for a small soundboard project. I have a button that grounds ADKEY1(Pin 12), which triggers playing the next MP3. I'm adding an Arduino into that mix that I want to also be able to trigger ADKEY1. I'm just unsure of how to accomplish this – since the specs are specifically saying to ground the pin, I wouldn't think a digitalWrite LOW would be enough (nor would I think pulling that pin HIGH would be a good thing for the DFPlayer, but I could be wrong. Does this make any sense? Is this the king of thing I'd actually want to use a transistor for?

It's funny, I've done a lot of small Microcontroller projects before, but never had anything where I needed to actually trigger a ground. I feel like the answer is obvious and I'm being an idiot 🙂 Any help is appreciated!

Best Answer

Two simple methods.

  1. A NPN Transistor across the push button. A 1k Base resistor is good enough, as you are using this as a switch not as a current multiplier.

schematic

Output High to press the button. Output Low to release.

  1. Since you are sharing grounds, and there is a resistor involved, you could just connect it in a "Open-Collector" setup. You switch your pin from Input to Output Low. Never Output High. This is like the bit-banged i2c setups. Not Input with Pull-up.

schematic

Output Low to press the button. Input to release.