HELP !! arduino solar panel battery and 2 motor servo

hi ..
I just finished with this project ..http://www.instructables.com/id/Self-Sufficient-Arduino-Board/?ALLSTEPS
but why when i loose the power of the computer and run my project, the servo motor does not move according to my previous projects?? http://www.instructables.com/id/Arduino-Solar-Tracker/
I combine these two projects into one project and run it ..
the question is
why the project is not going to use batteries??
How can i read the voltage of battery(battery indicator)?
I use ultra accuplus 9V battery or eveready 9V..
thanks in advance

why the project is not going to use batteries??

You are trying to use 1 dinky little 9V battery to power two current-hungry servos? And, they don't work? No surprise, there.

How can i read the voltage of battery(battery indicator)?

With a voltmeter.

Thx for your usefull comment paulS, can i make a voltmeter just with an arduino?
So what i have to do to move servo without 9V battery?

can i make a voltmeter just with an arduino?

yes, even a 6 channel voltmeter, looks like

//
//    FILE: Voltmeter.pde
//  AUTHOR: Rob Tillaart
//    DATE: 2012-12-27
//
// PUPROSE: 6 channel voltmeter
//
int pin[] = { A0,A1,A2,A3,A4,A5 };

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  for (int i=0; i<6; i++)
  {
    analogRead(pin[i]);  
    float voltage = analogRead(pin[i])*5.0/1023;
    Serial.print(voltage, 3);
    Serial.print("\t");
  }
  Serial.println();
  // delay(100);
}

Output can easily be copied into Excel or so.

So what i have to do to move servo without 9V battery?

You need a real source of power. The servos can easily draw 1/2 and amp apiece.

Hai rob tilaart thank you very much..
But why the baudrate set so big? I usualy set for 9600, and i have use my analogpin for ldr and potentiometer, do you have another way?

paulS
What do you mean with real source of power?

setting the baudrate higher means less time spend on communicating and more time on measurements/math. 115200 is 12x faster than 9600

Communicating a string of 6 measurements, lets say 30 bytes including spaces and \n takes approx:
@115200: 3 msec
@9600: 30 msec

analogReads take approx 0.1 msec lets say including all math 1 usec so lets say 6 channels take 6 msec.

1 set of measurements
@115200: 9 msec => 111/sec
@9600: 36 msec => 27 /sec

So in the end the higher speed serial allows me to take 4x as much samples.
Instead of more samples I can use the extra time to do additional math e.g. averaging and keep minimum/maximum per channel.

Although the IDE serial monitor does not support it, the Arduino can send data as fast as 500,000 Baud. The effect is that you can go up to ~150/second.

What do you mean with real source of power?

Is your solar panel/battery setup able to supply 1A of power to the servos? If not, you need something that can - a real source of power.

Rob tilaart thank you very much..
On your 6 channel voltmeter, how you get the formula of float voltage? Explain me please..
And how do i put the battery on arduino with solar panel? Can i use digitalpin for my voltmeter?

paulS
I think my solar panel has 9V supply, how do you think?

how do you think?

The voltage is far less important than the amperage. I've yet to see a solar panel that could supply 1A of current. That is what you need to drive two servos.

Thanks paulS
can you help me with the schematic? How can i put the solar panel to charge the battery and measuring. battery on my arduino uno r3?

How can i put the solar panel to charge the battery and measuring. battery on my arduino uno r3?

Beats me. That's a hardware issue. I'm a software type.

Ooh, i see paulS. I have another question.
When my servo sweeping based on ldr, i do serial println on my ldr in the same time, why the servo movement going to slow when i do this? But when i unmark the serial println the servo movement going back
to normal..

Anybody help me please with the schematics to charge and measuring battery on my
arduino..

But when i unmark the serial println the servo movement going back
to normal..

Move. Print several characters to the serial port. Move. Print several characters to the serial port.

or

Move. Move. Move. Move.

Which is going to result in more moves per unit of time? What does move moves per unit of time mean? Yep, faster.

iam sorry paulS i dont understand about your reply..
can you explain me with more details explanation about my problem??

Printing serial data takes time. When you move the servo a small amount, print some data, move a small amount, etc. the moves don't happen as quickly as when you move the servo a small amount, move the servo a small amount, etc.

When the "move the servo a small amount" parts don't happen as quickly, the servo doesn't move as fast.

oooh i see ..
is there any solution for this problem paulS ??

is there any solution for this problem paulS ??

What is the problem? If you want the servo to move fast, move in larger steps, and/or don't serial print between steps.

oke thank you very much for your usefull comment paulS,
my problem is can i read the ldr value int the same time with servo movement??
is there any way to do both of them without unmark serial println for ldr?