Mini Projeto Final - Enunciado e Instruções
Mini Projeto: Robô Seguidor de Linha
Objetivo:
Desenvolver um robô seguidor de linha simples utilizando um microcontrolador Arduino, sensores infravermelhos (IR) e motores DC. O robô deve ser capaz de seguir uma linha preta num fundo branco.
Componentes Necessários no Thinkercad:
- 1 Microcontrolador Arduino Uno
- 2 Sensores Infravermelhos (IR)
- 2 Motores DC
- 1 Ponte H (L298N ou similar) para controle dos motores
- Fios de conexão
- Breadboard
- Chassi do robô (pode ser simulado no Tinkercad)
Descrição do Projeto:
Configuração do Circuito:
- Microcontrolador: Arduino Uno
- Sensores Infravermelhos: Conectar os sensores IR ao 5V e GND do Arduino. Conectar as saídas dos sensores aos pinos analógicos do Arduino (por exemplo, A0 e A1).
- Motores DC: Conectar os motores à ponte H para controle de direção e velocidade.
- Ponte H: Conectar a ponte H ao Arduino para controle dos motores. Conectar os pinos de controle da ponte H aos pinos digitais do Arduino (por exemplo, 5, 6, 9, 10).
Lógica do Programa:
- Os sensores IR detectam a presença ou ausência da linha preta.
- O Arduino processa os dados dos sensores e envia comandos à ponte H para controlar os motores.
- Dependendo das leituras dos sensores, o robô ajusta a velocidade e direção dos motores para seguir a linha.
Desenvolvimento do Código:
- Inicializar os pinos e configurar as entradas e saídas no
setup()
. - No
loop()
, ler os valores dos sensores IR. - Controlar a direção e velocidade dos motores com base nas leituras dos sensores
Código Exemplo:
int sensorEsquerda = A0; // Pino conectado ao sensor IR esquerdo
int sensorDireita = A1; // Pino conectado ao sensor IR direito
int motorEsquerdaFrente = 5; // Pino conectado ao motor esquerdo (frente)
int motorEsquerdaTras = 6; // Pino conectado ao motor esquerdo (trás)
int motorDireitaFrente = 9; // Pino conectado ao motor direito (frente)
int motorDireitaTras = 10; // Pino conectado ao motor direito (trás)
void setup() {
pinMode(sensorEsquerda, INPUT);
pinMode(sensorDireita, INPUT);
pinMode(motorEsquerdaFrente, OUTPUT);
pinMode(motorEsquerdaTras, OUTPUT);
pinMode(motorDireitaFrente, OUTPUT);
pinMode(motorDireitaTras, OUTPUT);
Serial.begin(9600); // Inicializa a comunicação serial para depuração
}
void loop() {
int leituraEsquerda = analogRead(sensorEsquerda); // Lê o valor do sensor esquerdo
int leituraDireita = analogRead(sensorDireita); // Lê o valor do sensor direito
if (leituraEsquerda < 500 && leituraDireita > 500) { // Sensor esquerdo na linha, direito fora da linha
// Vira para a direita
digitalWrite(motorEsquerdaFrente, HIGH);
digitalWrite(motorEsquerdaTras, LOW);
digitalWrite(motorDireitaFrente, LOW);
digitalWrite(motorDireitaTras, HIGH);
} else if (leituraEsquerda > 500 && leituraDireita < 500) { // Sensor direito na linha, esquerdo fora da linha
// Vira para a esquerda
digitalWrite(motorEsquerdaFrente, LOW);
digitalWrite(motorEsquerdaTras, HIGH);
digitalWrite(motorDireitaFrente, HIGH);
digitalWrite(motorDireitaTras, LOW);
} else {
// Anda para frente
digitalWrite(motorEsquerdaFrente, HIGH);
digitalWrite(motorEsquerdaTras, LOW);
digitalWrite(motorDireitaFrente, HIGH);
digitalWrite(motorDireitaTras, LOW);
}
delay(100); // Pequena pausa para evitar leituras instáveis
}
Instruções:
- Monte o circuito no Tinkercad conforme descrito na seção de configuração do circuito.
- Copie e cole o código acima no ambiente de programação do Arduino no Tinkercad.
- Simule o circuito e observe o funcionamento do robô seguidor de linha.
- Ajuste os parâmetros conforme necessário (por exemplo, os valores de leitura dos sensores).
Conclusão: Este mini projeto demonstra a integração de um microcontrolador, sensores e atuadores para criar um robô seguidor de linha. O Tinkercad permite simular o circuito e o código, facilitando a aprendizagem prática de conceitos de robótica e programação.