Pular para o conteúdo principal

Como Programar um Robô Seguidor de Linha com Arduino | Parte 2

Depois de montar toda a estrutura do seu carrinho seguidor de linha, chegou o momento mais esperado: dar vida ao robô através da programação.

Neste tutorial você aprenderá como funciona a lógica de um carrinho seguidor de linha utilizando Arduino, dois servos de rotação contínua e dois sensores seguidores de linha.

O objetivo deste artigo não é apenas copiar um código, mas entender o que acontece em cada linha do programa para que você possa evoluir o projeto futuramente.

O que este código faz?

O programa possui uma lógica bastante simples e eficiente:

  • Lê continuamente os dois sensores de linha.
  • Verifica se cada sensor está sobre uma superfície branca ou preta.
  • Decide para qual lado o robô deve seguir.
  • Controla independentemente cada servo para manter o carrinho sobre a linha.
Esse é um dos algoritmos mais utilizados por iniciantes na robótica e serve como base para projetos mais avançados.

Entendendo o Código

Vamos analisar cada parte do programa.

1. Biblioteca Servo

#include <Servo.h>

Essa biblioteca permite controlar servomotores utilizando sinais PWM.
Sem ela seria muito mais difícil controlar os motores.

2. Criando os objetos dos servos

Servo MOTOR_DIREITA;
Servo MOTOR_ESQUERDA;


Criamos dois objetos.
Cada um representa um servo instalado no carrinho.

3. Definindo os sensores

#define SENSOR_ESQUERDA 7
#define SENSOR_DIREITA 6


Aqui informamos em quais portas digitais os sensores estão conectados.
Utilizar #define facilita futuras alterações.

4. Configuração inicial (Setup)

No setup() configuramos todo o hardware.

MOTOR_DIREITA.attach(11);
MOTOR_ESQUERDA.attach(10);


Essas linhas informam em quais portas estão ligados os servos.
Depois configuramos os sensores como entrada.

pinMode(SENSOR_ESQUERDA, INPUT);
pinMode(SENSOR_DIREITA, INPUT);


Por último iniciamos a comunicação serial.

Serial.begin(9600);

Ela será utilizada para visualizar o funcionamento dos sensores durante os testes.

Como o Arduino "Enxerga" a Linha?

A cada repetição do programa, o Arduino faz a leitura dos sensores.

bool sensorEsquerda = digitalRead(SENSOR_ESQUERDA);
bool sensorDireita = digitalRead(SENSOR_DIREITA);


Cada sensor retorna apenas dois estados:

Valor Significado
0         Branco
1         Preto

Essas informações são suficientes para o robô decidir qual movimento executar.

Lógica de Funcionamento

O algoritmo trabalha com quatro situações possíveis.

Situação 1

Branco + Branco
Esquerda = Branco
Direita = Branco

Significa que a linha está centralizada.

O robô segue em frente.

MOTOR_ESQUERDA.write(180);
MOTOR_DIREITA.write(0);

Situação 2

Preto + Branco
Esquerda = Preto
Direita = Branco

O sensor esquerdo encontrou a linha.

Logo, o robô precisa virar para a esquerda.

MOTOR_ESQUERDA.write(90);
MOTOR_DIREITA.write(0);

Situação 3

Branco + Preto
Esquerda = Branco
Direita = Preto

Agora quem encontrou a linha foi o sensor direito.

O robô vira para a direita.

MOTOR_ESQUERDA.write(180);
MOTOR_DIREITA.write(90);

Situação 4

Preto + Preto

Quando os dois sensores detectam a linha ao mesmo tempo, o robô para.

MOTOR_ESQUERDA.write(90);
MOTOR_DIREITA.write(90);


Essa estratégia evita que ele continue andando quando perde completamente a referência da pista.

Código Completo Comentado

// ===============================
// Baixe o código de teste com os servos motores e os sensores de reflexos
// ===============================

Como testar o código

Após enviar o programa para o Arduino:
  • Ligue o carrinho.
  • Abra o Monitor Serial (9600 baud).
  • Passe uma folha branca e uma fita preta sob os sensores.
  • Verifique se os valores mudam entre 0 e 1.
  • Coloque o robô sobre a pista e observe as correções de direção.
Se o carrinho virar para o lado errado, basta inverter o sentido de um dos servos ou trocar a lógica correspondente no código.

Conclusão

Programar um carrinho seguidor de linha é uma excelente forma de aprender lógica de programação, eletrônica e robótica aplicada.

Embora o algoritmo seja simples, ele apresenta conceitos fundamentais como leitura de sensores, tomada de decisão e controle de atuadores — habilidades essenciais para qualquer estudante ou entusiasta da Cultura Maker.

Depois de compreender este código, você estará pronto para evoluir o projeto, criar estratégias mais inteligentes e desenvolver robôs cada vez mais eficientes.

Próximo passo:

Leia a seguir: Como Montar o Sensor Ultrassónico no Robô Seguidor de Linha com Arduino | Parte 3

Gostou deste projeto?

Aqui no blog você encontrará muitos outros conteúdos sobre:
  • Arduino
  • Robótica Educacional
  • Impressão 3D
  • Sensores e Componentes
  • Programação
  • Projetos Maker
Acompanhe nossas publicações e continue explorando o universo da robótica com a gente!

Comentários

Postagens mais visitadas deste blog

Como Montar um Robô Seguidor de Linha com Arduino | Parte 1

Aprenda a construir um robô seguidor de linha utilizando Arduino UNO, servos motor e sensores de reflexo. Um projeto ideal para quem está começando na robótica e para quem deseja participar da Olimpíada Brasileira de Robótica (OBR). O que você vai construir? Ao final deste tutorial você terá um robô capaz de: ✅ Detectar linhas pretas sobre fundo branco. ✅ Controlar independentemente cada roda. ✅ Servir como plataforma para estudos de programação. ✅ Participar de provas da OBR. Materiais Utilizados Estrutura Chassi em MDF/Acrílico 2 Rodas 1 Roda Boba Eletrônica Arduino UNO Protoboard 2 Servos (Rotação Contínua) 2 Sensores de reflexo Jumpers Suporte para Bateria Bateria Organização dos fios Uma boa montagem começa por uma boa organização. Neste projeto utilizamos um padrão de cores para facilitar futuras manutenções. 🔴 Vermelho → Alimentação (+5V) ⚫ Preto → GND 🟢🔵🟡 Outras cores → Sinais Essa simples organização evita muitos erros durante os testes. Etapa 1 — Montando a estrutura Come...

Como Programar o Sensor Ultrassônico no Robô Seguidor de Linha com Arduino | Parte 4

 Depois de montar o seu carrinho seguidor de linha e programar os sensores TCRT5000, chegou a hora de adicionar uma nova funcionalidade: a detecção de obstáculos utilizando o sensor ultrassônico HC-SR04. Neste tutorial você aprenderá a integrar o ultrassônico ao código existente do carrinho, permitindo que ele pare automaticamente quando encontrar um obstáculo à frente e continue seguindo a linha quando o caminho estiver livre. 💡 Projeto da série: Este tutorial dá continuidade ao projeto do Carrinho Seguidor de Linha para OBR. Se você ainda não montou o robô, recomendamos começar pelo artigo "Como Montar um Robô Seguidor de Linha com Arduino ". O que você vai aprender? Ao final deste tutorial você será capaz de: ✅ Integrar o sensor HC-SR04 ao código do carrinho. ✅ Medir distâncias utilizando ondas ultrassônicas. ✅ Exibir as leituras no Monitor Serial. ✅ Fazer o robô parar automaticamente diante de um obstáculo. ✅ Entender cada parte do código comentado. Como funciona o prog...