Sobre este projeto
it-programming / others-5
Aberto
#Define M1 2 // Pino_Velocidade 1º Motor ( 0 a 255)_ Porta ATV_A ponte H;
#define dir1 3 //Pino_Direção do 1º Motor: Para frente / Para trás (high ou low)_ porta in1 ponte h;
#define m2 5 //pino_velocidade 2º motor ( 0 a 255) _ porta atv_b ponte h;
#define dir2 6 //pino_direção do 2º motor: para frente / para trás (high ou low)_ porta in3 ponte h;
//definição dos pinos dos sensores
#define pin_s1 8
#define pin_s2 13
bool sensor1 = 0;
bool sensor2 = 0;
//variável responsável por controlar a velocidade dos motores
int velocidade = 150;
void setup(){
//setamos os pinos de controle dos motores como saída
pinmode(m1, output);
pinmode(m2, output);
pinmode(dir1, output);
pinmode(dir2, output);
//setamos a direção inicial do motor como 0, isso fará com que ambos os motores girem para frente
digitalwrite(dir1, low);
digitalwrite(dir2, low);
//setamos os pinos dos sensores como entrada
pinmode(pin_s1, input);
pinmode(pin_s2, input);
}
void loop(){
//neste processo armazenamos o valor lido pelo sensor na variável que armazena tais dados.
Sensor1 = digitalRead(pin_S1);
Sensor2 = digitalRead(pin_S2);
//Aqui está toda a lógica de comportamento do robô: Para a cor branca atribuímos o valor 0 e, para a cor preta, o valor 1.
if((Sensor1 == 0) && (Sensor2 == 0)){ // Se detectar na extremidade das faixas duas cores brancas
analogWrite(M1, velocidade); // Ambos motores ligam na mesma velocidade
analogWrite(M2, velocidade);
}
if((Sensor1 == 1) && (Sensor2 == 0)){ // Se detectar um lado preto e o outro branco
analogWrite(M1, 0); // O motor 1 desliga
analogWrite(M2, velocidade); // O motor 2 fica ligado, fazendo assim o carrinho virar
}
if((Sensor1 == 0) && (Sensor2 == 1)){ // Se detectar um lado branco e o outro preto
analogWrite(M1, velocidade); //O motor 1 fica ligado
analogWrite(M2, 0); // O motor 2 desliga, fazendo assim o carrinho virar no outro sentido
}
}
Categoria TI e Programação
Subcategoria Outros
Tamanho do projeto Pequeño
Isso é um projeto ou uma posição de trabalho? Um projeto
Disponibilidade requerida Conforme necessário
Prazo de Entrega: Não estabelecido
Habilidades necessárias