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:

  1. 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).

  2. 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.

  3. 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:

  1. Monte o circuito no Tinkercad conforme descrito na seção de configuração do circuito.
  2. Copie e cole o código acima no ambiente de programação do Arduino no Tinkercad.
  3. Simule o circuito e observe o funcionamento do robô seguidor de linha.
  4. 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.