segunda-feira, 9 de novembro de 2015

Desenvolvimento 2 - Montagem, Testes e programação final



Montagem, Testes e Programação final


            Montagem  e testes finais.










A INOVAÇÃO 

Esse projeto é uma reformulação do 1º semestre de 2015; ou seja: é uma simulação real do projeto integrador apresentado no dia 11 de Novembro de 2015. 




Programação finalizada:



#define trigPin 13
#define echoPin 12
#define trigPin2 4
#define echoPin2 5
int solar1;
int solar2;
int value;

void setup()

{
  Serial.begin (9600);
  
  // Arduino inputs/outputs mode
  pinMode(trigPin, OUTPUT);    // pin 13
  pinMode(echoPin, INPUT);     // pin 12
  pinMode(trigPin2, OUTPUT);    // pin 4
  pinMode(echoPin2, INPUT);     // pin 5
  pinMode(3, OUTPUT);    // motor2 pin 3
  pinMode(11, OUTPUT);  // motor1 pin 11
}


void loop()

{
  // Initial parameters (sensor reset)
  // Serial.println(" reset sensors");
  long duration, distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration / 2) / 29.1;
  long duration2, distance2;
  digitalWrite(trigPin2, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin2, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin2, LOW);
  duration2 = pulseIn(echoPin2, HIGH);
  distance2 = (duration2 / 2) / 29.1;
  delay(100);
  
  // Solar plate voltage read  
  solar1 = analogRead(A1);
  solar2 = analogRead(A0);
  value=(solar1-solar2)/1.91;
  Serial.print(value);
  Serial.println(" V loading voltage / 100");  
  
  // motor function
  digitalWrite(3, HIGH);
  digitalWrite(11, HIGH);

  if (distance < 20 || distance2 < 20)
  {
    digitalWrite(3, LOW);
    digitalWrite(11, LOW);
    Serial.print(distance);
    Serial.println(" cm sensor 1   ");
    Serial.print(distance2);
    Serial.println(" cm sensor 2   ");
    delay(600);

    if (distance2 < 20)
    {
      digitalWrite(11, HIGH);
      delay(600);
      digitalWrite(11, LOW);
    }

    else
    {
      digitalWrite(3, HIGH);
      delay(600);
      digitalWrite(3, LOW);
    }

    delay(600);
  }

}