I am working on building a circuit that is controlled with an Arduino Pro Micro. It is being fed by a 3.7V 5000mAh battery which is also going to be used to charge the phone, but only when the Arduino program tells it to. That battery is hooked up to a charging board with variable voltage output (basically a DC-DC step up module built in to the battery charging module. I have it set at an even 5V of output). That 5V supply is used to power everything in my circuit.
The easiest option for this scenario would be to use a Relay switch, but a normal relay switch is big, noisy, and unnecessary (as long as I can do without it), and I don't have any solid state relays designed for DC power.
Instead, I want the arduino to switch a transistor on and off to send the phone 5V @ ~1 Amp, which my battery can handle (when I wire the phone directly to the battery, the current reads just over 1 amp at 5 volts).
The problem is, I don't know enough about transistors and general electronics to get this to work. The circuit that I have right now is pictured below: (There are some details in this circuit that aren't important to my question, for example, don't worry about the SPDT, its just there to control whether the phone is charged by the battery or from the charging input to the circuit. Again, don't worry about this).
This circuit does not work right now. It works if I am testing the load with an LED to simulate the phone being charged, but when I actually connect the usb charging cord to the phone itself the circuit fails to switch on and off and instead just powers the phone constantly (I think, I could be wrong. If these details are important I can do more testing).
I am hoping someone here who knows more about electronics, specifically transistors, can help me figure out what my problem is, or offer suggestions as to how they would do it. Thanks for any help!