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.
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 + BrancoEsquerda = 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 + BrancoEsquerda = 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 + PretoEsquerda = 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 + PretoQuando 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.
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 3Gostou 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


Comentários
Postar um comentário