Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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!