robo seguidor de linha

Post on 12-Jan-2017

70 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

//Teste Robô Seguidor de Linha | Arduino - Canal Click Luna

//Potencia Normal

//Potencia Reduzida

//Potencia Tras

#define potN 120

#define potR 60

#define potT 100

//Direita

int in1=4;

int in2=5;

//Esquerda

int in3=6;

int in4=7;

int velocidadeA=8;

int velocidadeB=9;

int lerSD=48;

int lerSE=46;

void setup() {

// Inicializa os pinos dos motores como saida

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);

pinMode(velocidadeA, OUTPUT);

pinMode(velocidadeB, OUTPUT);

//sensores entrada

pinMode(lerSD, INPUT);

pinMode(lerSE, INPUT);

}

void loop() {

// Adquire os valores do sensor direito e esquerdo

int sD=digitalRead(lerSD);

int sE=digitalRead(lerSE);

if(sD == 0 && sE == 0){

control('f');

}else if(sD == 1 && sE == 0){

control('d');

}else if(sD == 0 && sE == 1){

control('e');

}else if(sD == 1 && sE == 1){

control('p');

}

delay(100);

}

//Funcao que controla os motores

void control(char dir){

switch(dir){

case 'f':

analogWrite(velocidadeA,potN);

analogWrite(in1, HIGH);

analogWrite(in2, LOW);

analogWrite(velocidadeB,potN);

analogWrite(in3, HIGH);

analogWrite(in4, LOW);

break;

case 'd':

analogWrite(velocidadeA,potR);

analogWrite(in1, LOW);

analogWrite(in2, HIGH);

analogWrite(velocidadeB,potN);

analogWrite(in3, HIGH);

analogWrite(in4, LOW);

break;

case 'e':

analogWrite(velocidadeA,potN);

analogWrite(in1, HIGH);

analogWrite(in2, LOW);

analogWrite(velocidadeB,potR);

analogWrite(in3, LOW);

analogWrite(in4, HIGH);

break;

case 'p':

analogWrite(velocidadeA,0);

analogWrite(in1, LOW);

analogWrite(in2, LOW);

analogWrite(velocidadeB,0);

analogWrite(in3, LOW);

analogWrite(in4, LOW);

break;

/* case 't':

analogWrite(velocidadeA,potT);

analogWrite(in1, LOW);

analogWrite(in2, HIGH);

analogWrite(velocidadeB,potT);

analogWrite(in3, LOW);

analogWrite(in4, HIGH);

break;

*/

} }

top related