Timed Phone Charger

Hi,

So I got an Arduino board for Christmas, and as my first project, I'm trying to make a timed phone charger. So that it will only charge my phone something like 2 hours prior to me waking up, as to not destroy the battery life. So what I've done so far:

  1. Cut and stripped a Micro-USB cord.
  2. Found the Ground wire and 5V wire, hooked it into the bread board, then hooked it up with the Arduino board, this allows for it to charge.
  3. Connected a relay so that I can have it turn on and off every 5 minutes, or I could increase the time.

But now, I'm a little bit lost. Is a relay actually neccasary to do this? All it needs to do is not send power so if there would be a way to do that, that'd be cool. But also I generally wake up at 6 but not always, is there a way that I could hook up an alarm clock to it? This way if I set the alarm for 6 it'd start charging at 4? Also what is the plausibility of hooking the data wires of the USB cable so that it can read the battery life and then stop charging once it's full?

Thanks in advance!

High-side switching using a logic-level p-channel MOSFET would work.

A PNP transistor capable of at least 0.5A could be used for high-side switching too.