//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);
}
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:
0 comentários:
Postar um comentário