blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Montagem do Robô
  • Programando o Arduino
  • O Resultado
  • Conclusão
  • Links Úteis
  • Sobre o Autor
Robótica

Robô Seguidor de Linha – Tutorial Completo

Eletrogate 15 de julho de 2020Atualizado em: 15 abr 2022

Introdução

O Arduino é uma plataforma amplamente utilizada na prototipagem eletrônica graças à sua facilidade de programação e implantação. Hoje faremos uso dessas características para desenvolver um robô seguidor de linha e entender na prática como essas máquinas amplamente utilizadas na indústria funcionam.

Robôs seguidores de linha em um pátio industrial

Robôs seguidores de linha são máquinas capazes de percorrer um determinado trajeto através de marcações no chão. Isso é possível graças à presença de sensores que identificam as diferenças de cor ao longo do percurso e informam ao microcontrolador esses dados recolhidos, permitindo que, em conjunto com a lógica de programação ali presente, o robô tome decisões e tenha “conhecimento” do caminho que deve seguir.

Suas aplicações são vastas e, como ilustrado acima, estão presentes principalmente nos ambientes industriais, transportando cargas por toda fábrica de forma autônoma. No post de hoje você aprenderá a montar um robô seguidor de linha usando o Arduino e um par de sensores: um incentivo para que você tenha ainda mais interesse pelo mundo da robótica e da programação. Veja só:


Montagem do Robô

Para montar seu robô seguidor de linha, você precisará de:

  • 1x Arduino Uno
  • 1x Ponte H L298N
  • 1x Kit Chassi 2WD
  • 1x Bateria 9V
  • 1x Conector p/ bateria 9V – Arduino
  • 2x Sensores infravermelhos
  • 4x Pilhas AA (de preferência alcalinas)
  • Jumpers diversos

Além disso, você também precisará de ferramentas como chave Phillips e ferro de solda!

Com tudo em mãos, vamos dar início à montagem do chassi. Confira o passo a passo nas imagens à seguir:

IMPORTANTE

Antes de mais nada, precisamos salientar que nossos kits são todos confeccionados em acrílico. Os comercializamos com uma película protetora de papel craft para evitar danos durante a fabricação e transporte. Vamos mostrar o processo de montagem do kit com a película apenas para facilitar a visualização do processo, mas caso deseje o aspecto translúcido do acrílico em seu robô, basta retirar a película, conforme mostrado na imagem abaixo:

Dito isso, vamos à montagem:

Passo 1: posicione os 4 pilares de suporte para a roda boba conforme a imagem abaixo:

Passo 2: Parafuse-os no chassi e, em seguida, parafuse a roda boba sobre eles.

Passo 3: Solde os fios nos motores, conforme a imagem abaixo:

Passo 4: Posicione os suportes do motor e, em seguida, parafuse os mesmos, como ilustrado abaixo:

Passo 5: O próximo passo é fixar o suporte de pilhas e o interruptor no chassi. Veja a disposição dos mesmos à seguir:

Passo 6: Com o suporte e o interruptor posicionados, você deverá adicionar o interruptor em série com o suporte de pilhas. Para isso, basta cortar o fio vermelho (positivo) e soldá-lo no interruptor, conforme ilustrado abaixo:

Passo 7: Terminado isso, a parte física do seu chassi estará montada, restando agora posicionar os demais componentes eletrônicos ao longo do chassi. Nossa disposição ficou da seguinte forma:

Algumas observações sobre a fixação dos componentes no chassi:

1- Você pode usar fita dupla face emborrachada (VHB) ou cola quente para fixar o Arduino, a ponte H e a bateria de 9V no chassi;

2- A bateria de 9V foi fixada na parte inferior do chassi, como mostrado abaixo. Ela será a responsável por fornecer energia ao Arduino, enquanto as pilhas são exclusivamente para o acionamento dos motores.

3- Os sensores devem ser fixados próximo à roda boba. Para isso, recomendamos fortemente que seja utilizada cola quente e que estejam espaçados conforme a imagem a seguir:

Ao término dessa etapa, resta apenas a conexão dos fios e a programação do robozinho. Começando pela conexão, você pode seguir o diagrama abaixo:

Você também pode seguir a tabela de pinos abaixo:

IN1 -> D8
IN2 -> D9
IN3 -> D10
IN4 -> D11
Out_Sensor1 -> D6
Out_Sensor2 -> D7

IMPORTANTE:

É de suma importância manter os jumpers nos pinos Enable do módulo para que seus motores funcionem, conforme a imagem abaixo:


Programando o Arduino

Para programarmos o Arduino é necessário entender a lógica por trás do funcionamento do sensores, que serão manipulados pelo nosso código para que o carrinho se torne inteligente. Você pode conferir essa lógica de funcionamento na imagem a seguir:


Com isso em mente, podemos dar início à programação do robô.

Código

//Definição dos pinos de controle do motor
#define M1 9 // Pino_Velocidade 1º Motor ( 0 a 255)_ Porta ATV_A ponte H;
#define M2 11 //Pino_Velocidade 2º Motor ( 0 a 255) _ Porta ATV_B ponte H;
#define dir1 8 //Pino_Direção do 1º Motor: Para frente / Para trás (HIGH ou LOW)_ porta IN1 ponte H;
#define dir2 10 //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 7
#define pin_S2 6
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
}

}

Note que incluímos a variável velocidade no escopo do código. Essa variável é quem informa, num range de 0 a 255, qual a velocidade em que os motores serão acionados. Em nosso caso, o melhor valor foi 150, cerca de 60% de sua velocidade máxima. Caso deseje que seu robô ande mais rápido, basta alterar seu valor respeitando os limites informados.


O Resultado

Após ter seu robozinho montado e programado, chegou a hora de testar seu funcionamento. Para isso, você deverá desenhar o percurso usando fita preta em uma superfície branca. Você pode conferir no vídeo abaixo o resultado que obtivemos com esse projeto:

https://blog.eletrogate.com/wp-content/uploads/2020/07/robo-seguidor-de-linha.mp4

Conclusão

O Arduino serve de protótipo para projetos de várias dimensões. Hoje usando, alguns componentes simples (Ponte H, Sensor infravermelho) pudemos desenvolver e entender na prática o funcionamento de um robô largamente utilizado no ambiente industrial.

Esperamos que você tenha entendido e conseguido montar nosso projeto. Se curtiu, aprendeu e/ou desenvolveu o carrinho, poste nas redes sociais e nos marque no instagram: @eletrogate


Gostou? Deixe um curtir e compartilhe com seus amigos!  Ficou com alguma dúvida? Quer fazer um elogio?  Deixe um comentário!

Obrigado por nos acompanhar e ler até aqui.


Links Úteis

  • Sensor Reflexivo Infravermelho
  • Ponte H L298N
  • O que é o Arduino
  • Robô com controle remoto via APP

Sobre o Autor


Samuel Martins
@samuel.martins192

Cursando Eletroeletrônica no SENAI CETEL. Fanático por eletrônica, automação, impressão 3D e afins, dedico meu tempo livre a pesquisas e projetos ligados às principais áreas de interesse, pratico aeromodelismo e sou curioso por astrofotografia.


Eletrogate

15 de julho de 2020 Atualizado em: 15 abr 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Modelagem 3D

Conheça o Tinkercad

Eletrogate12 de maio de 2022

Se você já pensou em criar um projeto eletrônico, mas não tinha os componentes necessários e queria fazer um teste antes, este post foi feito pra você! Neste post, iremos conhecer a plataforma Tinkercad. Através dela, você poderá testar projetos, circuitos eletrônicos, códigos, criar designs 3D e muito mais.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2022 - Todos os direitos reservados. Termos de uso e Política de privacidade.