Escolar Documentos
Profissional Documentos
Cultura Documentos
Microprocessadores
Marabá – PA
Maio/2019
Elias dos Santos Sales Júnior
Jair Kléber Dias Silva Júnior
Jean Charles Côrtes Ferreira
José Vinícius Pereira Alves
Ramon Felipe Farias Pacheco
Sara Alves de Azevedo
Weslley da Silva Oliveira
Marabá – PA
Maio/2019
RESUMO
Os primeiros robôs da era moderna foram desenvolvidos com enfoque no ramo
industrial, sendo o primeiro deles o braço robótico Unimate que era amplamente utilizado no
setor automotivo. A partir do desenvolvimento destes modelos ocorreu o surgimento e
aperfeiçoamento de novas tecnologias no ramo da robótica, possibilitando assim uma gama
mais ampla de aplicações. Com isso os robôs passaram a fazer parte de nosso cotidiano, sendo
possível desenvolver seu próprio robô com um custo relativamente acessível.
Este projeto consiste na construção de um robô autônomo que seja capaz de seguir uma
linha da cor preta a partir da utilização de sensores ópticos reflexivos. Para isso, será utilizado
uma das mais populares plataformas de software e hardware livre (open source), o arduino,
além de outros componentes eletrônicos que serão descritos posteriormente.
Sumário
1. INTRODUÇÃO ............................................................................................................................. 4
2. METODOLOGIA ......................................................................................................................... 4
2.1 Materiais Utilizados .............................................................................................................. 4
2.2 Construção do Protótipo....................................................................................................... 5
3. RESULTADOS E DISCUSSÕES ................................................................................................ 7
4. CONCLUSÕES ............................................................................................................................. 9
5. REFERÊNCIAS .......................................................................................................................... 10
ANEXO I .............................................................................................................................................. 11
ANEXO II ............................................................................................................................................ 14
4
1. INTRODUÇÃO
A robótica é uma área de estudo multidisciplinar que se apoia nos conhecimentos de
mecânica, eletrônica, física, matemática, biologia, informática e inteligência artificial. Tem por
objetivo “automatizar tarefas através de técnicas de programação e algoritmos orientados à
construção de robôs” (SILVA, 2009).
Hoje já se fala em robôs que interagem com os seres humanos, facilitam a sua vida,
proporcionam diversão e comodidade, tomam decisões não pré-programadas, aprendem com
movimentos, erros e acertos e exploram ambientes desconhecidos. Um dos grandes avanços
das técnicas de controle aplicadas à robótica foi a criação de máquinas autônomas, as quais têm
simplificado fortemente a vida de grande parte das pessoas evitando situações perigosas e
trazendo lazer e comodidade.
Nos tempos atuais, percebe-se um crescente aumento no uso de controladores
automáticos aplicados a engenharia, fato que vem diminuindo cada vez mais a mão-de-obra
humana para o manuseio de equipamentos e maquinários, considerados, muitas das vezes,
perigosos. Por meio da automação, o controle de sistemas busca minimizar o tempo de
produção, como também o índice de erros durante a mesma, erros esses considerados como
algo indesejável para o sistema (NUNES et al, 2012).
O protótipo desenvolvido, robô seguidor de linha, pode ser caracterizado de forma
superficial como um robô que tem a capacidade de detectar através de sensoriamento e seguir
uma linha desenhada no chão por meio do contraste entre a cor desta linha e a cor do restante
do piso, por isso estes robôs são conhecidos como veículos guiados automaticamente onde é
utilizado em larga escala, principalmente nas indústrias.
Portanto, a robótica se configura numa área de crescente desenvolvimento. Isto decorre
dos inúmeros recursos que os sistemas de microcomputadores vêm oferecendo. Grandes centros
de tecnologia se ocupam incansavelmente da criação de novas tecnologias, criando robôs
capazes de lidar com tomadas de decisão cada vez mais complexas.
2. METODOLOGIA
2.1 Materiais Utilizados
Para a montagem deste projeto foi utilizados os seguintes materiais:
➢ 1 Arduino UNO;
➢ 1 Ponte H dupla L298N;
➢ 3 Sensores óptico reflexivo Tcrt5000;
5
O primeiro passo a ser tomado foi a montagem da base do veículo autônomo, utilizando
o chassi em acrílico, no qual já contém os locais para que sejam fixados os pneus do carrinho.
São eles, os dois pneus emborrachados nos quais terão os motores DC acoplados para que seja
feito o controle dos torques aplicados, e a roda boba, que garantirá mais mobilidade ao
protótipo.
Além do Arduino UNO (Figura 3), responsável por guardar a programação que guiará
o comportamento do robô, um outro elemento importante que será acoplado em cima da base
montada será a Ponte H (Figura 4). O módulo em questão, citado no item 2.1., é incumbido de
fazer o controle do sentido de rotação dos motores DC, utilizando dois pinos para cada motor,
nos quais determinarão a polaridade aplicada. Já para velocidade, há um pino destinado a cada
motor, que é ligado ao Arduino, onde há o envio de um sinal modulado por PWM (Pulse-Width
6
Modulation ou Modulação por Largura de Pulso), para que seja possível controlar a potência
enviada e consequentemente a velocidade de rotação.
Para o sensoriamento do traçado a ser seguido, foi utilizado 3 sensores óptico reflexivos,
onde cada sensor é formado por um LED e um fotodiodo, ambos infravermelhos. O
posicionamento escolhido foi em linha na parte frontal do carrinho, onde cada conjunto foi
fixado por um pequeno suporte de acrílico junto a um parafuso longo para que seja possível
regular a distância a qual o sensor ficará do plano, como mostra a Figura 5. A luz emitida pelo
LED é refletida pela superfície analisada e atinge o fotodiodo, que gera uma tensão de saída
proporcional ao quantitativo refletido, sendo possível então, distinguir a linha (que possui cor
escura) do restante da superfície.
do Arduino. Para exemplificar melhor como se dá todas as ligações foi feito um esquemático,
como mostra a Figura X.
Figura 6 – Baterias de 9V
Figura 7 – Pneu com motor DC
Além disso, outros componentes essenciais como resistores e jumpers foram utilizados
para a construção do circuito que compõe o robô seguidor de linha.
Para o controle do robô, pode-se visualizar no Anexo I o código que foi escrito na IDE
do Arduino. A interação eficiente entre o sensoriamento e o controle das rodas foi de extrema
importância para que o funcionamento do protótipo pudesse ser alcançado de forma satisfatória,
por isso a programação possui uma atenção especial na construção do mesmo.
3. RESULTADOS E DISCUSSÕES
Após ter realizado a montagem dos equipamentos para a construção do hardware, como
mostra a Figura 8, iniciou-se a fase de teste para ter a certeza de que todos os equipamentos
estavam realmente funcionando.
A pista para que pudéssemos realizar os testes foi construída com fita isolante em um
local plano. Inicialmente, foram enfrentadas algumas dificuldades que de certa forma
acontecem em praticamente toda elaboração do projeto. No entanto, podemos destacar que a
diferença entre a característica construtiva do motor da roda esquerda para o motor da roda
direita foi o problema que levou um certo tempo para ser solucionado.
8
O motor da direita possui uma sensibilidade menor do que o motor da esquerda o que
ocasionava desestabilidade (Figura 9), principalmente nas curvas. Isso fez com que alguns
parâmetros fossem levados em consideração no momento da elaboração do programa de
controle do Arduino. A solução para isso foi regular a potência em cada uma das rodas, por
tentativa e erro, para que elas pudessem trabalhar de forma equivalente e suavizassem as curvas
realizadas pelo robô.
Uma outra problemática a ser solucionada foi a distância entre os sensores, como
mostrado na Figura 5 anteriormente. Essa distância ocasionava uma faixa de atuação e
consequentemente uma maior oscilação do sensoriamento na parte da frente do robô. Para não
alterar a parte construtiva do protótipo, foi aumentada a espessura da linha, pois isso diminuiu
o range de operação e a oscilação.
9
4. CONCLUSÕES
O projeto descrito nesse relatório foi de grande valia para os envolvidos no mesmo, pois
proporcionou uma gama de conhecimentos que, a priori, ainda não possuíamos. Ficou claro
durante o desenvolvimento do protótipo que o Arduino é uma tecnologia que pode e irá trazer
muitos frutos aqueles interessados em desenvolver tecnologias inovadoras. Um equipamento
completo, open-source e o mais importante, uma ferramenta muito simples e poderosa.
Conceitos como controladores, novas ferramentas para desenvolvimento de robôs e
sistemas autônomos para controle de máquinas, foram explorados minuciosamente para que
tudo fosse feito de acordo com o que atual mercado tecnológico e científico exige, como
praticidade, processos automatizados, diminuir a exposição de humanos a perigos, dentre
outros.
10
5. REFERÊNCIAS
ANEXO I
//MOTOR DIREITA
int Pdireita = 5;
int in1 = 7;
int in2 = 6;
//MOTOR ESQUERDA
int Pesquerda = 10;
int in3 = 9;
int in4 = 8;
int sensor1=A1; //Entradas analógicas dos sensores
int sensor2=A0;
int sensor3=A2;
int leitura1=0;
int leitura2=0;
int leitura3=0;
int const LIMITE1=4;
int const LIMITE2=4;
int const LIMITE3=4;
int aux=0;
int led1=11;
int led2=3;
void setup()
{
pinMode(Pdireita, OUTPUT);
pinMode(Pesquerda, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
Serial.begin(9600);
}
void frente()
{
// liga o motor da Direita
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(Pdireita, 88);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(Pesquerda,91);
}
void esquerda()
{
digitalWrite(led1, HIGH); //LED DA DIREITA ACESO
digitalWrite(led2, LOW);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
analogWrite(Pdireita,128);
analogWrite(Pesquerda,110);
}
void direita(){
digitalWrite(led1, LOW); //LED DA ESQUERDA ACESO
digitalWrite(led2, HIGH);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(Pdireita,128);
analogWrite(Pesquerda,128);
}
void loop()
{
leitura1=analogRead(sensor1); //LÊ OS SENSORES
leitura2=analogRead(sensor2);
leitura3=analogRead(sensor3);
Serial.print(leitura1);
Serial.print(";");
Serial.print(leitura2);
Serial.print(";");
Serial.println(leitura3);
delay(10);
frente();
}
//-----------MOTOR MUITO À DIREITA
13
esquerda();
aux=1;
}
//-----------MOTOR MUITO À ESQUERDA
if(leitura1>LIMITE1 && leitura2>LIMITE2 && leitura3<LIMITE3
|| leitura1>LIMITE1 && leitura2<LIMITE2 && leitura3<LIMITE3 ){
direita();
aux=2;
ANEXO II