Olá!

Nossa equipe irá relatar a respeito da experiência vivida no Robô Livre, que se iniciou na data de 27 de Outubro de 2018. O assunto abordado no inicio da aula foi o conceito básico de robótica, logo após gambiologia e enfim a distribuição dos grupos. 
No dia 28, foi onde tivemos a ideia da objetividade do robô, que seria um medidor de temperatura ambiente para pacientes em home care ou necessidades especificas.
Houveram algumas regras para montagem e aplicação, mas o que fez fluir o projeto foi a liberdade na criatividade, no qual podemos atribuir peças no robô e acrescentar novas ideias a pratica. 
Vale ressaltar também a ajuda dos professores Fabio, Matheus, Felipe e Ayrlan, que contribuíram com suas experiências e deram total apoio no que foi preciso. As habilidades desenvolvidas nesse programa foi de suma importância na soma de nossos conhecimentos gratidão pela oportunidade.

  #include <Ultrasonic.h>
//definição das portas das rodas
int rodaA1 = 6;
int rodaA2 = 5;
int rodaB1 = 3;
int rodaB2 = 2;

const int LM35 = A0; // Define o pino que lera a saída do LM35
float temperatura; // Variável que armazenará a temperatura medida

#define TRIGGER_PIN  9
#define ECHO_PIN     10
//definição das portas dos leds
int ledRED = 11;
int ledGREEN = 12;
int ledBLUE = 13 ;

Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);

//saída do arduino, roda

void setup(){
  Serial.begin(9600);
  
  pinMode(rodaA1, OUTPUT);
  pinMode(rodaA2, OUTPUT);

  pinMode(rodaB1, OUTPUT);
  pinMode(rodaB2, OUTPUT);
  
}

//COMANDO PARA O CARRINHO IR DE RÉ

void tras(){
  digitalWrite (rodaA1, LOW);
  digitalWrite (rodaA2, HIGH);
  digitalWrite (rodaB1, LOW);
  digitalWrite (rodaB2, HIGH);  
}

//COMANDO PARA O CARRINHO IR PARA FRENTE

void frente(){
  digitalWrite (rodaA1, HIGH);
  digitalWrite (rodaA2, LOW);
  digitalWrite (rodaB1, HIGH);
  digitalWrite (rodaB2, LOW);  
}

//COMANDO PARA O CARRINHO VIRAR A ESQUERDA

void girarEsquerda(){
  digitalWrite (rodaA1, HIGH);
  digitalWrite (rodaA2, LOW);
  digitalWrite (rodaB1, LOW);
  digitalWrite (rodaB2, LOW);  
}

//COMANDO PARA O CARRINHO VIRAR A DIREITA

void girarDireita(){
  digitalWrite (rodaA1, LOW);
  digitalWrite (rodaA2, LOW);
  digitalWrite (rodaB1, HIGH);
  digitalWrite (rodaB2, LOW);  
}

//COMANDO PARA O CARRINHO PARAR

void parar(){
  digitalWrite (rodaA1, LOW);
  digitalWrite (rodaA2, LOW);
  digitalWrite (rodaB1, LOW);
  digitalWrite (rodaB2, LOW);
  
  
 }

 //COMANDO PARA EFETURAR A LEITURA A CADA 1 MILÉSIMO
float leitura(){
  
  float cmMsec;
  long microsec = ultrasonic.timing();

  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
  Serial.print("CM: ");
  Serial.println(cmMsec);
  return cmMsec;
  
  }

 float leituraTempreratura(){
temperatura = (float(analogRead(LM35))*5/(1023))/0.01;
Serial.print("Temperatura: ");
Serial.println(temperatura);  
return temperatura; 
 }
  
//COMANDO PARA CONFIGURAR O SENSOR

void loop(){
  float cmMsec;
  long microsec = ultrasonic.timing();

  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
  Serial.print("CM: ");
  Serial.println(cmMsec);
   

  frente(); // COMANDO PARA CONTINUAR ANDANDO
  delay(10);
  
if(leitura() < 25){ // CONDIÇÃO PARA PERCEBER A LEITURA E TOMAR A DECISÃO CORRETA

   parar();
   delay(500);
   int decisao = random(1,3); // VARIÁVEL PARA DECIDIR DOIS NÚMEROS ALEATÓRIOS(OU 1 OU 2)
   
   if(decisao == 1){
    girarDireita();
    delay(1000);
   }
   
   if(decisao == 2){
     girarEsquerda();
    delay(1000);
    }
 
 
} 

//temperatura

if(leituraTempreratura()<30 && leituraTempreratura()>25 ){
  digitalWrite(ledBLUE,HIGH);
  }
 if(leituraTempreratura()<25){
  digitalWrite(ledGREEN,HIGH);
 
  }
 if(leituraTempreratura()>30){
  digitalWrite(ledRED, HIGH);
  
  }

}

Atividades recentes