Código-Fonte

Segue a baixo o código-fonte utilizado em nosso projeto e um link para baixar o mesmo, caso você deseje refazer o projeto em sua casa:


 //Adicionar a Biblioteca do Motor Shield  
 #include <AFMotor.h>  
   
 //Declaração dos Motores -- Classe variável(número da porta)  
 AF_DCMotor motor1(1);  
 AF_DCMotor motor2(2);  
 AF_DCMotor motor3(3);  
 AF_DCMotor motor4(4);  
   
 //variável que irá guardar os comandos enviados para o arduino por bluetooth  
 int bt;  
   
 void setup() {  
   
  //Velocidade dos motores dadas em bytes que vai de 0 a 255  
  motor1.setSpeed(255);  
  motor2.setSpeed(255);  
  motor3.setSpeed(255);  
  motor4.setSpeed(255);  
    
  //Declara o pino Analógico com Digital para acender a da seta direita  
  pinMode(14, OUTPUT);  
   //Declara o pino Analógico com Digital para acender a da seta esquerda  
  pinMode(15, OUTPUT);  
   //Declara o pino Analógico com Digital para acender a luz traseira  
  pinMode(16, OUTPUT);  
   //Declara o pino Analógico com Digital para acender a luz de ré  
  pinMode(17, OUTPUT);  
   //Declara o pino Analógico com Digital para acender os faróis  
  pinMode(18, OUTPUT);  
  Serial.begin(9600);  
   
   
 }  
   
   
 void loop() {  
   
  if(Serial.available()){  
   
  //"bt"recebe o comando do Bluetooth  
  bt = Serial.read();  
  Serial.println(bt);  
    
  if(bt == 'X'){  
   blink();  
  }else if(bt == 'W'){  
   acender(18);  
  }else if(bt == 'w'){  
   apagar(18);  
  }else if(bt=='U'){  
   acender(16);  
  }else if(bt=='u'){  
   apagar(16);  
  }else if(bt=='L'){  
    acender(15);  
    delay(200);  
    apagar(15);  
    delay(200);    
  }else if(bt== 'R'){  
    acender(14);  
    delay(200);  
    apagar(14);  
    delay(200);   
  }else if(bt == 'B'){  
   acender(17);  
    motor1.run(BACKWARD);  
    motor2.run(BACKWARD);  
    motor3.run(BACKWARD);  
    motor4.run(BACKWARD);    
  }else if(bt =='F'){  
   motor1.run(FORWARD);   
   motor2.run(FORWARD);  
   motor3.run(FORWARD);  
   motor4.run(FORWARD);   
  }else if(bt == 'H'){  
   apagar(17);  
   motor1.run(BACKWARD);   
   motor4.run(BACKWARD);  
   motor2.run(RELEASE);   
   motor3.run(RELEASE);  
   seta(bt, 15);  
  }else if(bt == 'J'){  
   acender(17);  
   motor2.run(BACKWARD);   
   motor3.run(BACKWARD);  
   motor1.run(RELEASE);   
   motor4.run(RELEASE);  
   seta(bt,14);  
  }else if(bt == 'I'){  
   motor2.run(FORWARD);   
   motor3.run(FORWARD);  
   motor1.run(RELEASE);   
   motor4.run(RELEASE);  
   seta(bt,14);  
  }else if(bt == 'G'){  
   motor1.run(FORWARD);   
   motor4.run(FORWARD);  
   motor2.run(RELEASE);   
   motor3.run(RELEASE);  
   seta(bt,15);  
  }else{  
   apagar(17);  
   motor1.run(RELEASE);   
   motor2.run(RELEASE);  
   motor3.run(RELEASE);   
   motor4.run(RELEASE);  
  }  
  }  
 }  
   
 //Método para o pisca alerta  
 void blink(){  
  while(bt=='X'){  
   Serial.println(bt);  
  digitalWrite(14, HIGH);  
  digitalWrite(15, HIGH);  
  delay(200);  
  digitalWrite(14, LOW);  
  digitalWrite(15, LOW);  
  delay(200);  
   if(Serial.read()== 'x'){  
    break;  
  }  
  }  
 }  
   
 //Método para acender as setas da esquerda ou da direita  
 int seta(char l, int pin){  
  while(bt==l){  
  digitalWrite(pin, HIGH);  
  delay(200);  
  digitalWrite(pin, LOW);  
  delay(200);  
   if(Serial.read()== 'S'){  
    motor1.run(RELEASE);   
    motor2.run(RELEASE);   
    motor3.run(RELEASE);  
    motor4.run(RELEASE);  
    digitalWrite(17, LOW);  
    break;  
      }  
  }  
 }  
   
 //Método para acender os Led's  
 int acender(int pin){  
  digitalWrite(pin, HIGH);  
 }  
   
 //Método para apagar os Led's  
 int apagar(int pin){  
  digitalWrite(pin, LOW);  
 }  
   


0 comentários:

Postar um comentário

Página inicial