Olá! Trabalhamos em um projeto de robótica utilizando Arduíno, promovido de uma parceria entre a Accenture e a Rede Cidadã. A Rede Cidadã convidou seus alunos do projeto Start para participarem de um curso de robótica que foi realizado nos dias 27/10 e 28/10/2018 no prédio do Porto Digital, laboratório louco. Neste projeto tivemos inicialmente uma aula de robótica, programação, gambiologia e utilização do Arduíno. Em nosso projeto pensamos em um protótipo de um robô guia que auxiliaria deficientes visuais a andarem livremente, e quando um obstáculo fosse identificado o robô emitiria um aviso ao usuário.


#include 
int roda = 5;
int roda2 = 6;
int roda3 = 8;
int roda4 = 9;

int triiger = 12;
int echo = 13;
int led = 2; // led parar

Ultrasonic ultrasonic(triiger, echo);

void setup(){
  Serial.begin(9600);
  pinMode(led, OUTPUT);
  pinMode(roda, OUTPUT);
  pinMode(roda2, OUTPUT);
  pinMode(roda3, OUTPUT);
  pinMode(roda4, OUTPUT);
}
void frente(){
  digitalWrite(roda, HIGH);
  digitalWrite(roda2, LOW);
  digitalWrite(roda3, HIGH);
  digitalWrite(roda4, LOW); 
     delay(30);
}
void tras(){
  digitalWrite(roda, LOW);
  digitalWrite(roda2, HIGH);
  digitalWrite(roda3, LOW);
  digitalWrite(roda4, HIGH);  
}

void parar(){
  digitalWrite(roda, LOW);
  digitalWrite(roda2, LOW);
  digitalWrite(roda3, LOW);
  digitalWrite(roda4, LOW);  
}

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

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

void loop(){

  if(leituraDistancia() <= 30){ // Condição para quando o obstaculo estiver a frente
    digitalWrite(led, HIGH);
    
    parar();
   
  } 
  else{
    frente();
    digitalWrite(led, LOW);

  }
}

Atividades recentes