//PROGRAMACAO MOTORES ROVER MARTE
void setup() {
//6,7,8,9 pra frente e pra trás
//10,11 pra cima e pra baixo
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
Serial.begin(9600);
}
void loop() {
char character = Serial.read();
// motores andam pra direita
if (character == 'R')
{
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
}
// motores andam pra esquerda
if (character == 'L')
{
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
}
// motores andam pra tras
if (character == 'B')
{
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
}
// motores andam pra frente
if (character == 'F')
{
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
}
// motores param
if (character == 'S')
{
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}
// pa desce
if (character == 'D')
{
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
}
// pa sobe
if (character == 'U')
{
digitalWrite(6,LOW);gftrgr
digitalWrite(7,HIGH);
}
}
PROGRAMAÇÃO SENSORES ROVER MARTE
#define pino_sinal_analogico A0
#define caliente A2
#define sensor_magnetico A5
int campo_magnetico;
int temperatura;
const int inputPin = 10;
const int trigPin = 4;
const int echoPin = 5;
void setup()
{
Serial.begin(9600);
pinMode(sensor_magnetico, INPUT);
pinMode(inputPin, INPUT);
pinMode(caliente,INPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
// mede a umidade do solo trasmitindo para o monitor serial
int val = digitalRead(inputPin);
if (val = HIGH)
{
Serial.println("Solo seco");
}
if (val = LOW)
{
Serial.println("Solo umido");
}
delay(1000);
// mede a distancia trasmitindo para o monitor serial
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long duracao = pulseIn(echoPin, HIGH);
int distancia = duracao / 58;
Serial.print("Distancia em CM: ");
Serial.println(distancia);
delay(1000);
// mede se a temperatura é adequada para a vida, trasmitindo para o monitor serial
temperatura = analogRead(caliente);
if(temperatura > 0 && temperatura < 512)
{
Serial.println("Regiao Inabitavel");
}
if(temperatura > 512 && temperatura < 1024)
{
Serial.println("Regiao Habitavel");
}
delay(1000);
// mede se existe alguma rocha magnetica,para o monitor serial
campo_magnetico = analogRead(sensor_magnetico);
if (campo_magnetico > 497 && campo_magnetico < 1024)
{
Serial.println("Presenca de rochas magneticas");
}
if (campo_magnetico > 0 && campo_magnetico < 497)
{
Serial.println("Nao ha rochas magneticas");
}
delay(1000);
}
SpaceApps is a NASA incubator innovation program.