Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Sensor de Linha: Detecção e Controle Preciso para Projetos com Arduino

Público-Alvo: Engenheiros eletrônicos, estudantes de engenharia e entusiastas de Arduino com conhecimento intermediário em programação e eletrônica. O sensor de linha é um componente fundamental em projetos de robótica e automação, permitindo a detecção precisa de linhas ou trilhas em superfícies, como pisos ou mesas. Neste artigo, exploraremos as funcionalidades e aplicações do sensor de linha em projetos com Arduino, fornecendo exemplos de códigos e uma lista de componentes necessários.

Projeto: O projeto consiste em criar um robô seguidor de linha utilizando um sensor de linha e um Arduino. O objetivo é fazer com que o robô siga uma linha preta em um percurso determinado, utilizando o sensor de linha para detectar a posição da linha e controlar os motores do robô.

Lista de componentes:

Exemplos: Exemplo de código para calibração do sensor de linha:

// Definindo os pinos do sensor de linha
int sensorEsquerdo = A0;
int sensorDireito = A1;

void setup() {
  // Inicializando a comunicação serial
  Serial.begin(9600);
}

void loop() {
  // Lendo os valores dos sensores
  int valorEsquerdo = analogRead(sensorEsquerdo);
  int valorDireito = analogRead(sensorDireito);

  // Exibindo os valores lidos
  Serial.print("Sensor Esquerdo: ");
  Serial.println(valorEsquerdo);
  Serial.print("Sensor Direito: ");
  Serial.println(valorDireito);

  // Aguardando 1 segundo
  delay(1000);
}

Exemplo de código para controle dos motores com base na leitura do sensor de linha:

// Definindo os pinos dos motores
int pinoMotorEsquerdo1 = 2;
int pinoMotorEsquerdo2 = 3;
int pinoMotorDireito1 = 4;
int pinoMotorDireito2 = 5;

// Definindo os pinos do sensor de linha
int sensorEsquerdo = A0;
int sensorDireito = A1;

void setup() {
  // Configurando os pinos dos motores como saída
  pinMode(pinoMotorEsquerdo1, OUTPUT);
  pinMode(pinoMotorEsquerdo2, OUTPUT);
  pinMode(pinoMotorDireito1, OUTPUT);
  pinMode(pinoMotorDireito2, OUTPUT);
}

void loop() {
  // Lendo os valores dos sensores
  int valorEsquerdo = analogRead(sensorEsquerdo);
  int valorDireito = analogRead(sensorDireito);

  // Controlando os motores com base nos valores dos sensores
  if (valorEsquerdo > 500 && valorDireito > 500) {
    // Ambos os sensores estão sobre a linha, avançar
    digitalWrite(pinoMotorEsquerdo1, HIGH);
    digitalWrite(pinoMotorEsquerdo2, LOW);
    digitalWrite(pinoMotorDireito1, HIGH);
    digitalWrite(pinoMotorDireito2, LOW);
  } else if (valorEsquerdo > 500 && valorDireito < 500) {
    // Apenas o sensor esquerdo está sobre a linha, virar à direita
    digitalWrite(pinoMotorEsquerdo1, LOW);
    digitalWrite(pinoMotorEsquerdo2, HIGH);
    digitalWrite(pinoMotorDireito1, HIGH);
    digitalWrite(pinoMotorDireito2, LOW);
  } else if (valorEsquerdo < 500 && valorDireito > 500) {
    // Apenas o sensor direito está sobre a linha, virar à esquerda
    digitalWrite(pinoMotorEsquerdo1, HIGH);
    digitalWrite(pinoMotorEsquerdo2, LOW);
    digitalWrite(pinoMotorDireito1, LOW);
    digitalWrite(pinoMotorDireito2, HIGH);
  } else {
    // Nenhum sensor está sobre a linha, parar
    digitalWrite(pinoMotorEsquerdo1, LOW);
    digitalWrite(pinoMotorEsquerdo2, LOW);
    digitalWrite(pinoMotorDireito1, LOW);
    digitalWrite(pinoMotorDireito2, LOW);
  }
}

Gostou deste artigo sobre o sensor de linha? Compartilhe com seus amigos que também estão interessados em projetos com Arduino e robótica!

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.