Arduino voltage settings?

Okay so im still a very inexperienced user with arduino. All I am trying to do is to take an arduino micro, power it with a lithium battery, attached to a solar panel and a usb source (for quicker charging). I then want to simply have three outputs on the arduino. The ground, and two different output voltages in order to charge an iPhone. If I remember correctly the iphone needs the 5 volts (ish) to charge and a 2.5 volt signal through the data lines to accept the input. Is there a way I can set the arduino to output 5v on one pin and 2.5 on the other? or will i require other misc electronic parts in between (which is what I am trying to avoid). Thanks in advance!

Can't you just use a couple of resistors to set up a voltage divider on the 5v pin, so you get 2.5v for the data signal?

I suppose so, but my aim is to have this try and be PURE arduino basically. Being able to specifically chose voltage would be lovely and quite useful!

The latest iPhones require one or two different voltages on the USB D+ and D- lines (depending on whether you want to charge at 500 or 1000 mA).

Then there are the considerations that you shouldn't draw more than about 20 mA from an Arduino output pin and also shouldn't draw either the 500 or 1000 mA charging current from the Arduino Vcc pin. See this tutorial on Adafruit Industries: iCharging | Minty Boost | Adafruit Learning System

The Arduino does not output voltage levels. The most you can do is output PWM and run it through an RC filter, by which time you may as well have made the voltage divider.

@Nick, just for my understanding, is this:

output PWM and run it through an RC filter,

because 2.5 "PWMV" isn't really 2.5V, but a "pseudo-voltage" which is actually either 0 or 5 and giving an "illusion" of 2.5V?

Yes, the output of the Arduino (running at 5v) is either 0v or 5v. Anything you measure in between is an average (depending on the meter).

Take a look at the following post, as it is related to charging devices like Iphone and iPad, and has info on the voltages required on D+ and D-

http://forum.arduino.cc/index.php?topic=200675.0

JimboZA:
@Nick, just for my understanding, is this:

output PWM and run it through an RC filter,

because 2.5 “PWMV” isn’t really 2.5V, but a “pseudo-voltage” which is actually either 0 or 5 and giving an “illusion” of 2.5V?

I wouldn’t call it an illusion, but rather a signal that can be fed to a circuit that in turn can be used to set an analog voltage based on the percentage of time it’s fed with 5 volts, and the percentage of time it’s fed with 0 volts.

The circuit itself is a resistor and capacitor. The voltage out is a DC voltage with some ripple. the voltage rises while the input is positive, and the load discharges the capacitor while the input is at GND. The average voltage out is a function of the input pulse width, the time constant of the resistor and capacitor, and the amount of current drawn from the output.

See the picture, about halfway down the page at AVR-PWM-ADC-Test for STK500, entitled PWM to analog voltage.