Rover Help

So im trying to make a rover. Something that in theory go drive around and take multiple sensor readings every 30 minutes. Two issues I would really like help with. 1, how would I have the robot stop every 30 minutes, take readings and log them to an sd card then start moving again. 2, I would need the robot to be powered by solar panels. I can do an internal battery that works with the panel to provide the necessary power. Heres where im a bit lost with that; I was thinking something like one of those micro Arduino boards constantly on with an LDR taking light readings and when sun is in a good place in the sky, the small board triggers a relay to give power to my mega to operate driving and sensor logging. I really dont know how to get this to work. I would need the panel to charge the batteries at some point and also have the robot drive too. Please help im really lost.

Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html

Can you tell us your electronics, programming, Arduino, hardware experience?

Thanks.. Tom.. :slight_smile:

First, get a robot working and driving around to your satisfaction. Buy one, or follow any of the tens of thousands of DIY examples on the web.

Then, it will be easy to add a timer of some sort that will tell you when 30 minutes have passed. The Arduino alone can do that, but not terribly accurately. It may be off by a few seconds every hour or so.

Finally, when everything is working well, replace the batteries with rechargeable ones, and add solar panels!

  1. I’m Pretty good with electronics. I’d rate myself a 6/10 when it comes to programming with c+ and a 9/10 with BASIC. I have been making arduino controlled projects for the last 4 years. I build and repair computers pretty frequently and also work with smaller scale electronics quite often.

  2. The rover drives. For the most part it is fully autonomous. I just need a way for it to run on solar power and for the driving loop to stop and for the sensor logging code to run for a few seconds then back to driving every 30 minutes.

I'd rate myself a 6/10 when it comes to programming with c+

Two points off.

C++

The demo Several Things at a Time is an extended example of BWoD and illustrates the use of millis() to manage timing without blocking. It may help with understanding the technique.

Have a look at Using millis() for timing. A beginners guide if you need more explanation.

...R