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
- 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
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:
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
Postar um comentário