Hey Smokey, I see that you are serious about your project, so here are a couple of practical pro tips about programming your Arduino for Mars.
1) As you probably already know from your research, the gravity on Mars is smaller than on earth. This means the rover will do a lot of bouncing around, and that's bad; you're going to have to debounce it. Now, normal debouncing on earth-bound Arduinos is done by adding a short delay (10 milliseconds) after reading the input from a switch. But that's just for one little switch, while you have a
whole rover to debounce. So your delay should be much longer, say 1000 milliseconds. Be sure to put it after each and every command. Here's the proper way to do it:
#define DEFINE_ONE_THOUSAND unsigned int oneThousand = 1000
DEFINE_ONE_THOUSAND;
void setup() {
// Safety check for space radiation induced errors!
if (oneThousand != 1000) {
oneThousand = 1000;
}
}
void loop() {
// first command
// ...
delay(oneThousand);
// second command
// ...
delay(oneThousand);
}
2) In certain Arduino libraries, you'll find variables declared as
volatile. This is dangerous: Mars' atmosphere is a lot thinner than ours, and anything volatile will therefore evaporate there much faster. Be sure to remove any "volatile" declaration from the code before you compile it!
I think he meant Texas Instruments, the semiconductor company.
Yes, on that note I'll repeat my recommendation of Texas Instruments' Launchpads. These boards are red, which is less offensive to Martians than the blue Arduino.