Académique Documents
Professionnel Documents
Culture Documents
Goinia
2011
Arthur Moiss da Costa Borges
Goinia
2011
Arthur Moiss da Costa Borges
__________________________________________
Prof. Jos Wilson Lima Nerys, PhD
__________________________________________
__________________________________________
AGRADECIMENTOS
Aos meus pais e familiares, principalmente minha av, por ter cedido um quarto de sua casa
como laboratrio e minha me, para que compreendesse o uso do fogo e ferro de passar
roupas para confeccionar as placas de fenolite.
Ao professor, Jos Wilson Lima Nerys, pelo apoio e entusiasmo ao apoiar o projeto, quando este
ainda era um simples esboo no caderno.
Ao engenheiro eletricista Gustavo, pelas dicas em soldagem/furao de placas e corroso, que
foram muito importantes para a confeco das placas.
Agradeo empresa jnior de engenharia da UFG, ELO Engenharia Jnior, pelo suporte e
investimento no projeto, em sua fase de maturao, e aos meus amigos tila Gracco e Yi Lun Lu
por terem me auxiliado no desenvolvimento e na contribuio com novas idias.
Agradeo tambm ao professor Ademyr Gonalves de Oliveira pela ajuda na montagem
mecnica dos motores, sensores e roda boba do rob seguidor de linha.
SUMRIO
LISTA DE FIGURAS
LISTA DE TABELAS
11
SIGLAS UTILIZADAS
12
RESUMO
14
ABSTRACT
15
Introduo
16
1.1
Contextualizao
16
1.2
Objetivos
17
1.3
Estrutura do trabalho
18
Robtica Educacional
19
2.1
Introduo
19
2.2
Conceitos de Robtica
19
21
3.1
Introduo
21
3.2
22
3.3
A comunidade Arduino
25
3.4
Computao Fsica
28
30
4.1
Introduo
30
4.2
Motores
30
4.3
Sensores
30
4.4
Crebro
31
4.5
Princpio de Funcionamento
31
34
5.1
Introduo
34
5.2
34
5.3
35
5.4
38
5.5
41
5.6
52
5.7
53
58
6.1
Introduo
58
6.2
59
6.3
62
66
7.1
Introduo
66
7.2
66
7.3
68
7.4
72
82
8.1
Introduo
82
8.2
82
8.3
87
8.4
Custo da estrutura
92
Oramento Geral
93
9.1
Introduo
93
9.2
93
10
Concluso
95
REFERNCIAS
96
ANEXO
97
LISTA DE FIGURAS
Cap III:
Fig
3.1
Arduino UNO
21
Fig
3.2
22
Fig
3.3
23
Fig
3.4
23
Fig
3.5
LilyPad Arduino
26
Fig
3.6
Boarduino
27
Fig
3.7
Tatuino
27
Fig
3.8
Shield Ethernet
28
Cap IV:
Fig
4.1
32
Fig
4.2
32
Cap V:
Fig
5.1
ATMega 328
35
Fig
5.2
Crebro do Rob
35
Fig
5.3
Esquemtico do Crebro
38
Fig
5.4
Layout do Crebro
40
Fig
5.5
41
Fig
5.6
42
Fig
5.7
42
Fig
5.8
Serra Tico-tico
43
Fig
5.9
43
Fig
5.10
Placa partida
44
Fig
5.11
44
Fig
5.12
45
Fig
5.13
46
Fig
5.14
46
Fig
5.15
47
Fig
5.16
48
Fig
5.17
48
Fig
5.18
49
Fig
5.19
Placa corroda
49
Fig
5.20
50
Fig
5.21
50
Fig
5.22
51
Fig
5.23
51
Fig
5.24
52
Fig
5.25
Crebro concludo
53
Fig
5.26
54
Fig
5.27
55
Fig
5.28
56
Fig
5.29
56
Fig
5.30
57
Cap VI:
Fig
6.1
58
Fig
6.2
60
Fig
6.3
Layout do sensor
61
Fig
6.4
61
Fig
6.5
Sensores concludos
62
Fig
6.6
63
Fig
6.7
64
Fig
6.8
64
Fig
6.9
65
Cap VII:
Fig
7.1
67
Fig
7.2
67
Fig
7.3
68
Fig
7.4
69
Fig
7.5
70
Fig
7.6
71
Fig
7.7
71
Fig
7.8
72
Fig
7.9
73
Fig
7.10
73
Fig
7.11
74
Fig
7.12
75
Fig
7.13
Funo DoisMotores()
76
Fig
7.14
Funo MotorEsquerda()
76
Fig
7.15
Funo MotorDireita()
77
Fig
7.16
77
Fig
7.17
78
Fig
7.18
79
Fig
7.19
80
Cap VIII:
Fig
8.1
83
Fig
8.2
83
Fig
8.3
Furadeira de bancada
84
Fig
8.4
84
Fig
8.5
85
Fig
8.6
85
Fig
8.7
86
Fig
8.8
86
Fig
8.9
87
Fig
8.10
88
Fig
8.11
88
Fig
8.12
89
Fig
8.13
89
10
Fig
8.14
90
Fig
8.15
91
Fig
8.16
Rob finalizado
91
LISTA DE TABELAS
11
Cap V:
Tabela
5.1
34
Tabela
5.2
37
Tabela
5.3
55
6.1
60
69
Cap VIII
Tabela 8.1
92
Cap IX
Tabela 9.1
93
Cap VI:
Tabela
Cap VII:
Tabela
7.1
SIGLAS UTILIZADAS
12
LED
LDR
IDE
NiMH
EAGLE
UFG
EEEC
EUA
USB
ARM
GPS
CI
Circuito Integrado
Mega
Hz
Hertz
MIPS
RAM
Random-access Memory
kilo
Byte
EEPROM
I/O
INPUT/OUTPUT
PWM
Pulse-Width Modulation
pico
Faraday
VCC
AVCC
Analog VCC
AREF
Analog Reference
SDA
SCL
Serial Clock
I2C
Inter-Integrated Circuit
GND
13
RESUMO
14
Este projeto trata do desenvolvimento de um kit de robtica de baixo custo a ser usado por
alunos do ensino fundamental e mdio. Este material tambm pode ser usado por alunos e
professores de Engenharia Eltrica que queiram construir seus robs e/ou adentrar o mundo da
computao fsica. O produto final do kit de robtica um rob seguidor de linha e composto
por vrios mdulos, como motores, sensores, rodas, chassi e crebro, que sero montados pelos
alunos em um curso a ser ministrado nestas escolas. Este kit ser desenvolvido tendo como base
a plataforma de Hardware e Software open-source, Arduino. Durante o desenvolvimento do
rob, os alunos tero este trabalho escrito em mos no qual todos os mdulos, princpio de
funcionamento e caractersticas esto apresentados em uma linguagem de fcil compreenso,
facilitando assim o aprendizado em robtica. Para desenvolvimento do sensores, sero usados
LEDs de alto brilho e LDRs (fotoresistor). Para captar as informaes dos sensores e converter
em resposta aos motores, ser usado o microcontrolador ATMega 328, cuja programao ser em
C/C++ usando o ambiente do Arduino (IDE). Os motores sero acionados atravs do transistor
TIP 120, funcionando como driver. A fonte de alimentao ser um bateria de NiMH encontrada
em carrinhos de brinquedo de controle remoto.
ABSTRACT
15
This project is about the development of a low cost robotic kit to be used by middle and high
school students. This work can also be used by Electrical Engineering students and teachers who
want to build its own robots and/or enter the Physical Computing world. The final product of the
robotic kit is a line follower robot, and it's made by the association of many modules, like
motors, sensors, wheels, structure and brain, that will be assembled by students in a class to be
presented to them in schools. This kit will be based in the prototyping open-source and openhardware platform called Arduino. While the robot development, the students will have this
document, so like all modules, working principles, and specifications are presented in a easy
language, making it easier to students learn about robotics. In the development of the sensors,
very bright LEDs will be use and photoresistors(LDRs). To acquire information from the sensors
and to convert them in a response for motors, will be used a ATMega 328 microcontroller, which
programming can be done in C/C++ using Arduino's environment (IDE). The motors will be
activated with TIP 120 transistors, working like a driver. The power source will be a NiMH
battery, which can be found in remote control toy cars.
CAPITULO I
16
1 Introduo
1.1 Contextualizao
Com a crescente evoluo da tecnologia e da informtica, cresce ao mesmo tempo a
necessidade de estar atualizado em relao a estas tecnologias. A formao de profissionais
especializados em reas de alta tecnologia voltada para informatizao e infra-estrutura ocorrem
em geral nos cursos de Exatas.
A escolha pelo curso superior se d geralmente no ensino mdio, porm o gosto por
matrias especficas, sejam elas de Exatas, Humanas ou Biolgicas, comea mias cedo. Em
pases em desenvolvimento como o Brasil, o nmero de alunos que se decidem por prestar cursos
nas reas de Exatas nfimo em relao as outras reas. Parte desta pouca procura devido ao
"medo" de matrias como matemtica, e da incapacidade do professor de contextualizar estas
disciplinas com a prtica.
Existem vrias sadas para corrigir este problema. Uma delas a apresentao dos
contedos de forma interativa, para despertar o gosto e captar a ateno dos alunos. Ministrar
cursos voltados para a rea de robtica e computao, uma estratgia, que infelizmente est
restrita poucas escolas particulares, devido ao alto custo dos kits e da necessidade de
professores qualificados para ministrar corretamente a disciplina.
O desenvolvimento de um Kit de Robtica de Baixo Custo uma tima soluo para
resolver estas questes.
Quanto ao prprio ensino de Engenharia Eltrica na UFG, no existem solues
estruturadas que contextualizem o ensino terico com a prtica logo nos primeiros semestres do
curso. O fato de muitos laboratrios serem fechados ou s abertos aos alunos na poca de cursar
tais disciplinas aliado baixa divulgao dos que j so abertos, contribui para que alunos
fiquem desmotivados ao longo do curso.
Escrever um trabalho como este, ensinando os alunos a construrem seus prprios kits de
robtica, e o melhor, introduzindo-os ao mundo da computao fsica com Arduino, uma tima
soluo para que eles contextualizem o aprendizado terico com o prtico durante todo o curso,
17
independente da disponibilidade dos laboratrios, e com certeza aumente o interesse pelo curso e
a vivncia da Engenharia Eltrica na prtica, ainda dentro da Universidade.
A idia de um kit de robtica de baixo custo surgiu na diretoria de Pesquisa e
Desenvolvimento da ELO Engenharia Jnior, a empresa jnior das Engenharias da Universidade
Federal de Gois (UFG). No incio, a idia era apenas desenvolver um kit para ensinar robtica a
alunos de ensino fundamental e mdio de escolas pblicas e particulares. Com o tempo, o projeto
Engenharia nas escolas, como assim chamado, evoluiu, sendo inseridos outros cursos e
abordagens. Em julho de 2011 a idia deixou de ser um projeto interno da ELO e passou a ser
um projeto de extenso da UFG, passando a colaborar vrios professores, tcnicos e alunos da
Escola de Engenharia Eltrica e de Computao(EEEC).
1.2 Objetivos
O objetivo deste projeto o desenvolvimento e construo de um prottipo de um rob
seguidor de linha, cuja estrutura ser dividida em vrios mdulos, como rodas, motores, sensores
e crebro. Desta forma, o aluno poder montar por si s o rob, e ver a influncia de cada parte
na realizao da tarefa, que aqui ser seguir uma linha em um percurso fechado. As partes do kit
sero customizveis, de forma que seja possvel ter vrios robs diferentes, com o mesmo kit,
usando os mdulos em posies diferentes.
Aliado a construo do prottipo do rob, ser documentado todo o processo, em forma
de uma apostila, cuja funo explicar passo-a-passo o funcionamento de cada etapa do rob e a
importncia delas para o resultado final, que seguir uma linha preta em um fundo branco. O kit
e a apostila podero ser usados para ensinar robtica para alunos do ensino fundamental e mdio.
Alm da abordagem nas escolas, os alunos e professores da Escola de Engenharia
Eltrica e Computao da Universidade Federal de Gois, tambm tero a oportunidade de
construir seus prprios robs ou dispositivos baseados em computao fsica, aps ler este
material. Com certeza a reproduo do produto final desde trabalho ser muito mais fcil
seguindo os passos descritos neste trabalho.
Esses objetivos tambm esto de acordo com a continuao do desenvolvimento do
projeto de extenso Engenharia nas Escolas, que tem o Kit de Robtica de Baixo Custo como
18
base. A idia divulgar o projeto amplamente, comeando pelas Escolas de Engenharia, para que
todos tenham acesso ao material, inclusive com o propsito de aperfeio-lo.
1.3 Estrutura do Trabalho
Para alcanar os objetivos acima citados, o trabalho foi divido em vrios captulos, e esto
listados seguir:
- Captulo II - Apresenta o tema robtica e o ensino dela em escolas de ensino fundamental e
mdio no Brasil.
- Captulo III - Apresenta a plataforma Arduino e ao mundo da Computao Fsica.
- Captulo IV - Apresenta o rob seguidor de linha.
- Captulo V - Descreve o desenvolvimento e construo do crebro do rob e do mdulo de
regulao de tenso.
- Captulo VI - Descreve o desenvolvimento e construo dos sensores do rob
- Captulo VII - Descreve o desenvolvimento e construo do sistema de locomoo do rob
- Captulo VIII - Descreve a montagem do rob passo-a-passo.
19
CAPTULO II
2 Robtica Educacional
2.1 Introduo
A robtica educacional uma poderosa ferramenta para estimular alunos de ensino mdio
e fundamental a desenvolver uma srie de habilidades, como pensamento lgico, resoluo de
problemas, noo espacial, pensamento matemtico e trabalho em equipe. Com ela, alunos
podem ver que o que aprendem na escola tem aplicao prtica, e isso contribui para aumentar o
desempenho escolar e o interesse em matrias antes consideradas apenas "tericas", como
matemtica e fsica.
O atual problema brasileiro se concentra em dois pilares: custos dos kits e materiais para
o ensino de robtica e necessidade de capacitao profissional, de forma que o contedo seja
passado de forma simples aos alunos.
Existem diversos kits de robtica disponveis no Brasil, e amplamente usado em algumas
escolas particulares, como LEGO Mindstorms NXT, por exemplo. Entretanto, o valor destes kits
chegam a custar mais de mil reais.
2.2 Conceitos de Robtica
Um rob trata-se de uma mquina capaz de perceber o meio a sua volta e interagir com
ele, de acordo com uma instruo pr-programada. No campo da robtica educacional, um rob
uma mquina que, ao ser programada, interage com o ambiente realizando alguma tarefa.
Dessa forma, qualquer dispositivo guiado por controle remoto, ou que dependa do controle do
aluno em tempo real no um rob.
Dessa definio, um rob interage com o meio sua volta atravs de sensores, e, a partir
destes, realizam funes atravs de atuadores. Exemplos de sensores so: sensor de luz, som,
imagens, presso, temperatura, umidade, etc.. Exemplos de atuadores so: lmpadas, motores,
etc.. Atuadores sero descritos como dispositivos de sada, enquanto que sensores so
20
21
CAPTULO III
3 Plataforma Arduino e Computao Fsica
3.1 Introduo
22
Como mostrado na figura 3.1, uma placa padro Arduino possui tudo que uma pessoa
iniciante no mundo da computao fsica precisa para iniciar seus estudos nessa rea. No
necessrio saber de eletrnica para projetar um sistema de alimentao para a placa, j que ela j
conta com um regulador de tenso interno, e pode ser alimentado at pela energia eltrica que sai
da porta USB.
3.2 Ambiente de Desenvolvimento Integrado
Em relao programao da placa, tambm no necessrio vastos conhecimentos nas
linguagens C/C++(usadas pelo Arduino), j que a IDE (Integrated Development Environment)
vem com vrios exemplos para as mais diversas aplicaes, que podem ser modificados para
resolver um problema especfico do usurio, mas que j foi resolvido de outra forma por outra
pessoa, e transformado em um exemplo. A figura 3.2 mostra a IDE do Arduino 1.0 (Lanada em
01/12/2011).
23
Sendo assim, o que torna a IDE do Arduino simples de mexer, simplesmente o fato de
ser muito fcil e rpido de comear a utiliz-la. possvel, por exemplo fazer um LED piscar
bastando conectar a placa ao computador por USB, digitar o cdigo mostrado na Figura 3.3 na
IDE do Arduino e clicar no boto Upload. O resultado mostrado na figura 3.4.
24
Como visto, para ensinar iniciantes ou integrar pessoas ao mundo da computao fsica
muito mais eficaz usar a plataforma Arduino do que ensinar diretamente em Assembly, usando
um microcontrolador como o 8051, por exemplo. A seguir est um cdigo em Assembly para
8051 que faz a mesma coisa que o cdigo para o Arduino (a nica diferena a frequncia com
que o LED pisca, devido rotina de temporizador usada).
org
0000h
loop:
mov
b, #0FFh
acall
delay
clr
p1.0
mov
b, #0FFh
acall
delay
mov
p1, #0FFh
ajmp
loop
djnz
acc, delay
mov
acc, #0FFh
djnz
b, delay
delay:
ret
end
25
ser
aprendida
estudando
um
pouco
sobre
linguagem
C/C++[1].
O mais importante aqui, que tudo o que inserido dentro de "void setup()", delimitado
pelos dois colchetes, executado apenas no incio do programa. Neste exemplo, foi inserido a
funo "pinMode(13,OUTPUT);", que diz ao compilador que o pino 13 ser um pino de sada de
dados. Poderia tambm ser usado "INPUT", em vez de "OUTPUT", caso algum sensor estivesse
conectado ao pino 13. Mais detalhes sobre sensores nos captulos V e VI.
O que inserido dentro de "void loop()", executado continuamente, em loop constante,
at que o microcontrolador seja desligado ou resetado. Dentro desta funo, entre colchetes,
como mostra a figura 3.4, inserido a funo "digitalWrite(13,HIGH);", que seta o valor digital
alto ao pino 13, fazendo com que o LED vermelho integrado placa acenda. Depois, inserida a
funo "delay(1000);", fazendo com que o microcontrolador espere 1000 milisegundos, ou 1
segundo, mantendo o LED aceso por esse tempo.
A funo seguinte "digitalWrite(13,LOW);", setando um valor digital baixo ao pino 13,
fazendo com que o LED apague. Por fim, inserida novamente a funo "delay(1000);", fazendo
com que o LED fique apagado por 1000 milisegundos, ou 1 segundo. Como a funo "void
loop()" roda continuamente, o LED ficar piscando continuamente, em intervalos de 1 segundo.
3.3 A comunidade Arduino
Sem dvidas, uma das maiores vantagens de se usar Arduino como ferramenta de
aprendizado em programao e/ou computao fsica, ou em projetos profissionais a fora de
sua comunidade. Arduino foi inicialmente idealizado por Massimo Banzi, e de acordo com o
26
Arduino Documentary[2], foi criado em uma poca em que o Instituto em que era professor, o
Interaction Design Institute Ivrea, estava prestes a fechar, e para garantir que o projeto no
morresse aps isso, abriu os cdigos tanto de hardware e software do projeto para todos que
quisessem us-lo ou at mesmo modific-lo. Isto com certeza foi uma das melhores decises do
grupo (Massimo se juntou a outros amigos, compondo a Arduino Team), pois a idia se expandiu
no s para designers e hobbistas, que compunham o pblico alvo inicial, mas para qualquer
pessoa interessada em aprender sobre computao fsica ou microcontroladores.
A idia evoluiu tanto, que hoje, em 2011, cerca de 6 anos aps o primeiro lanamento da
placa, a equipe planeja lanar verses mais robustas, como o lanamento da placa Arduino Due,
em que, em vez de um microcontrolador ATMega como crebro, um microprocessador ARM de
90MHz realiza as funes de processamento.
O fato de tanto o hardware como software serem open-source, isto , abertos para quem
quiser modificar e copiar os esquemticos e/ou cdigos, vrias empresas lanaram suas prprias
placas baseadas em Arduino, cujos esquemticos tambm so abertos para outras pessoas
modificarem e melhorarem. O grande exemplo disso a gigante Google, que lanou
recentemente uma forma de conectar os dispositivos Android (smartphones e tablets) placas
Arduino, algumas delas desenvolvidas pela prpria empresa[3].
Entretanto, algumas empresas vieram antes da Google, e que ajudaram significativamente
a expandir a cultura Arduino pelo mundo.Exemplos disso so as empresas SparkFun Electronics,
criadora do
Equipamentos Eletrnicos, criadora do Tatuino. As figuras 3.5, 3.6 e 3.7 mostram as placas
LilyPad, Boarduino e Tatuino, respectivamente.
27
28
para controle e inverso de motores, shield com capacidade de comunicao por padro Ethernet,
Wifi, ZigBee, Bluetooth, alm de shields de aquisio de dados, como GPS e Acelermetro. A
figura 3.9 mostra um shiled de Ethernet, baseado no CI W5300 da Wiznet.
29
e analisar como as pessoas interagem com o mundo digital, com certeza esta pessoa est
adentrando o mundo da computao fsica.
Falar sobre computao fsica em um trabalho como esse essencial, porque, ao utilizar
ferramentas como o Arduino para construir robs, as pessoas estaro diretamente trabalhando
com variveis do meio, e fazendo alguma coisa em resposta a ela. No caso deste trabalho, iremos
construir um rob para seguir uma linha no cho. Entretanto, possvel avanar mais com
computao fsica, usando sensores para perceber como as pessoas transitam em um ambiente, e
como investir em sistemas que melhorem o fluxo delas. Este s um dos vrios exemplos de uso
de computao fsica.
Uma das ferramentas "mes" do Arduino a linguagem Processing[5]. Essa ferramenta
bastante usada por pessoas que trabalham com processamento de imagens e computao visual.
Entretanto, mesclando-a com Arduino possvel captar entradas de sensores e mostr-los em
uma tela, para melhor visualizao. uma tima linguagem para quem est interessado em saber
mais ou at trabalhar com computao fsica.
30
CAPTULO IV
4 Rob Seguidor de Linha
4.1 Introduo
O rob a ser desenvolvido neste trabalho um rob seguidor de linha. Trata-se de um
rob que tem o objetivo de seguir uma linha escura em uma superfcie clara (podendo tambm
seguir uma linha clara em um fundo escuro, dependendo da programao.) Geralmente conta
com duas rodas traseiras ou dianteiras controladas por motores de corrente contnua (podendo
tambm ser usados motores de passo, ou servo motores, apesar de alcanar uma velocidade
menor) e uma roda dianteira para estabiliz-lo. Esta roda chamada de "roda boba", porque ela
simplesmente acompanha o movimento das duas rodas traseiras ou dianteiras, sem ter controle
prprio. Alm das rodas para locomoo, o rob tambm conta com dois sensores, os quais so
responsveis pela deteco da linha, e da diferenciao dela em relao ao resto da superfcie.
4.2 Motores
Geralmente, so usados motores de passo (servo motores) ou motores de corrente
contnua para girarem as rodas. Neste trabalho foram escolhidos motores de corrente contnua,
por serem mais fceis de achar (encontrado em praticamente qualquer carrinho de brinquedo
guiado por controle remoto) e por serem mais rpidos que os motores de passo, podendo ser
usados em competies, como a Olimpada Brasileira de Robtica.
Os motores de corrente contnua so ligados ao microcontrolador atravs de um driver,
responsvel por amplificar a corrente do microcontrolador, que insuficiente para acionar o
motor diretamente.
4.3 Sensores
Os sensores mais usados em robs seguidores de linha so os construdos com
fotoresistor e o com fotodiodo/fototransistor. O primeiro significativamente mais barato e fcil
31
de fazer, enquanto que o segundo mais caro, e mais complexo de ser implementado. Foi
escolhido o primeiro, devido ao custo, e facilidade de se explicar o funcionamento ao aluno.
Apesar de o sensor com fotoresistor ter estas vantagens, ele muito mais impreciso, sendo
necessrio realizar uma calibrao via software ou hardware (com o uso de potencimetros de
ajuste).
Entretanto, no caso de desenvolvimento de outros sistemas referentes computao
fsica, como um medidor de luminosidade de um ambiente, o uso fototransistor invivel
tecnicamente, sendo que este s detecta dois estados de funcionamento(com luz ou sem luz),
sendo necessrio o uso de fotoresistor ou de outro componente que detecta vrias faixas de
luminosidade.
O sensor, alm de ser implementado com fotoresistor ou fotodiodo/fototransistor, tambm
conta com um LED, responsvel por gerar o feixe de luz a ser captado. O sensor posicionado
em paralelo com o LED, e ambos virados para a superfcie que o rob ir percorrer. Caso a
superfcie for refletora (fundo claro/ ausncia da linha), o sensor consegue captar a luz refletida
por ela, enviando uma mensagem ao crebro do rob, indicando a ausncia de linha. Caso a
superfcie no for refletora (fundo escuro/ presena da linha), o sensor no consegue captar a luz,
pois essa foi absorvida pela superfcie, enviando uma mensagem ao crebro do rob, indicando a
presena da linha.
4.4 Crebro
O crebro do rob constitudo por um microcontrolador, responsvel por fazer a leitura
constante dos sensores, calibr-los, caso haja necessidade de fazer isso via software, e tomar uma
deciso baseada nessas entradas dos sensores. Neste caso, o crebro cuidar de fazer o
acionamento dos motores com base na comparao das respostas dos sensores.
4.5 Princpio de Funcionamento
Na construo do rob, so posicionados dois sensores, cuja distncia igual ao tamanho
da linha a ser percorrida(essa linha geralmente construda usando uma fita isolante de cor preta
em uma cartolina branca, por exemplo. Apesar de tambm poder ser usada uma cartolina de cor
32
preta com fita crepe ou fita adesiva de cor branca). Considerando a linha no meio dos sensores,
conforme mostra a figura 4.1, enviado pelo microcontrolador (crebro) um comando para que
os dois motores girem, a fim de que o rob mova-se para frente.
33
Isso far com que o rob vire para a esquerda. Em caso oposto, com uma curva para a
direita, o rob parar o motor direito e girar o esquerdo, fazendo o rob virar pra direita. Esse
processo chamado de "Sistema de Direo Diferencial"[6].
34
CAPTULO V
5 Desenvolvimento e construo do crebro do rob
5.1 Introduo
O Arduino mais que suficiente para a construo de qualquer rob seguidor de linha.
Pode-se simplesmente ligar os fios correspondentes aos sensores nos pinos analgicos de sua
superfcie e os pinos dos motores tambm as seus respectivos pinos correspondentes. Entretanto,
o objetivo desenvolver um rob seguidor de linha a ser usado em um kit de robtica de baixo
custo, que seja dividido em vrios mdulos, e que os alunos consigam entender o funcionamento
de cada mdulo, ligando uns nos outros, at finalizar o rob.
Assim, este captulo trata do desenvolvimento e da construo do crebro do rob
seguidor de linha, explicando e mostrando todas as etapas necessrias.
5.2 O microcontrolador ATMega 168/328
O corao de qualquer Arduino um microcontrolador da ATMEL. No caso do Arduino
Duemilanove ou UNO, o microcontrolador usado o ATMega, podendo ser 168 ou 328. A tabela
5.1 mostra uma comparao entre ambos.
Tabela 5.1 Comparao entre ATMega 168 e 328
Especificaes /
ATMega 168
ATMega 328
Microcontrolador
Clock
16MHz (1MIPS/MHz)
16MHz(1MIPS/MHz)
Memria RAM
1KB
2KB
Memria Flash
16KB
32KB
Memria EEPROM
512 bytes
1024 bytes (1KB)
Nmero de I/O digitais
14
14
Sadas PWM
6 (8bits)
6 (8bits)
Entradas Analgicas
6 (10 bits)
6 (10 bits)
um microcontrolador bastante verstil, se comparado a outras alternativas da ATMEL,
como a plataforma 8051, pois possui 6 pinos de conversor analgico -digital integrado de 10 bits,
35
36
Esta placa do crebro do rob conta com um cristal removvel (sem solda) de 16MHz,
dois capacitores de 22pF para estabilizao dos pulsos do cristal, um resistor de 10k para o
RESET (um boto pode ser implementado em futuras verses sem grandes modificaes no
design), 1 resistor de 10k e um capacitor de 22pF para cada entrada do sensor de linha, soquete
torneado de 28 pinos para o microcontrolador ATMega 328, dois conectores parafusveis de 3
pinos para os sensores, dois conectores parafusveis de 3 pinos para os drivers dos motores e 1
conector para o mdulo de energia.
Alm disso, o microcontrolador ATMega 328 no foi comprado avulso. No existe
produo nacional para esse tipo de componente, e todos os que so vendidos tem um alto custo
devido escassez e s taxas de importao. Em mdia, o custo deste componente varia de R$
14,50 a R$ 25,00 sem incluir o frete para Goinia. Caso fosse optado a importao deste
componente, o preo sairia mais em conta, na faixa de R$ 8,00 a R$ 10,00, sujeito a oscilaes
no dlar e sem contar impostos de importao (geralmente mercadorias abaixo de $50 no so
taxadas pela alfndega)
Assim, como seria necessrio um gravador para o microcontrolador de qualquer forma,
preferiu-se importar uma placa Arduino diretamente da China, usando o site de compras
internacionais eBay, como meio. Dessa forma, o conjunto de placa Arduino mais
microcontrolador ATMega 328 que ainda funciona como gravadora, saiu por R$ 32,00.
Outra vantagem de comprar esse "combo" que o microcontrolador ATMega 328 j vem
com o bootloader gravado, que um cdigo que permite a transformao dos programas escritos
na linguagem Arduino para a linguagem de mquina, que o microcontrolador entende. Os valores
da placa Arduino aqui no Brasil variam entre R$ 90,00 a R$ 150,00, sendo ainda muito mais
vantajoso importar da China atravs de sites como eBay[7] e Dealextreme[8]. Ao se comprar um
microcontrolador virgem, necessrio gravar o bootloader do Arduino nele, que no um
processo trivial, e ainda sairia mais caro, pois na maioria das vezes preciso comprar uma
gravadora especfica para isso. A tabela 5.2 mostra a listagem dos componentes e seus
respectivos custos.
37
Quantidade
Local de compra
Custo Unitrio
Custo Total
eBay
R$ 32,00
R$ 32,00
R$ 0,05
R$ 0,20
3
1
R$ 0,05
R$ 1,00
R$ 0,15
R$ 1,00
R$ 1,00
R$ 1,00
R$ 0,90
R$ 0,90
parafusvel de 3
R$ 1,50
R$ 6,00
pinos
Outros
Total Crebro
R$ 12,00
R$53,25
(com
microcontrolador
ATMega 328)
Capacitor
cermico 22pF
Resistor 10k
Cristal 16MHz
Soquete torneado
28 pinos
Dummont, rua 68
Conector
parafusvel de 2
Eletrnica Santos
(Goinia)[9]
pinos
Conector
O valor total gasto para construir ento o crebro do rob foi de aproximadamente R$
53,25. O item da lista denominado de "outros" se refere compra de placas de fenolite cobreado,
em que o valor unitrio de R$ 1,80, de percloreto de ferro para corroso das placas (geralmente
cerca de R$ 8,00) e de gastos com compra de papel couch para impresso dos circuitos e da
impresso laser em si. Esse valor foi estimado em aproximadamente R$ 12,00 porque no se
teve o controle de quantas placas de fenolite cobreado foram compradas nem da quantidade de
folhas que foram gastas (nas etapas iniciais do projeto, muitos insumos foram gastos at que se
pudesse dominar o processo de fabricao).
Entretanto, como as placas de fenolite cobreado, folhas de papel couche e soluo de
percloreto de ferro foram usadas para todos os circuitos do projeto, este valor referente a
"Outros" de R$ 12,00 s ser includa nesta primeira tabela. Alis, com uma soluo nica de
38
percloreto de ferro possvel de se fazer centenas de placas como essa, sem ser necessrio
comprar novamente.
Para se ter uma idia, a soluo de percloreto de ferro do laboratrio de
microprocessadores e Microcontroladores da Escola de Engenharia Eltrica e de Computao
tem mais de quatro anos, e foi usada para corroer alguns prottipos usados nesse trabalho sem
problema algum (contudo, o tempo de corroso aumenta proporcionalmente quantidade de
corroses realizadas com a mesma soluo).
5.4 O projeto do circuito do crebro do rob
O circuito da placa foi projetado e desenhado usando o software EAGLE, o qual j conta
com todos os blocos dos componentes, principalmente do microcontrolador ATMega 168/328. A
figura 5.3 mosta o esquemtico do circuito do crebro do rob.
39
componentes. No caso do ATMega 328, o EAGLE distribui de forma inteligente os pinos do CI.
Do lado esquerdo, esto os pinos referentes a ligaes pertinentes para o funcionamento do
microcontrolador, como RESET, que ativo baixo, tendo que ser ligado a 5V para que ele no
resete. Tal ligao feita usando a conexo VCC em srie com o resistor de 10k. O pino do
RESET o pino 1.
Ainda do lado esquerdo, foram feitas as conexes de VCC aos pinos AVCC (para
alimentao do conversor analgico-digital interno) e AREF (setando a referncia do pino
analgico em 5V). Tambm foram feitas as conexes dos pinos 22 e 8 ao GND e conectados os
capacitores ao cristal, e este aos pinos 9 e 10 do microcontrolador.
J do lado esquerdo, esto o restante dos pinos de controle do microcontrolador. Os pinos
23 a 28 so as entradas para o conversor analgico-digital, sendo que possvel usar os pinos 27
e 28 para conexes SDA e SCL, a fim de fazer comunicao I2C com outros perifricos e
microcontroladores.
Foram usados os pinos 23 e 28 para conexo dos sensores de linha, sendo que h um
resistor de 10k e um capacitor de 22pF em paralelo, para servir de divisor de tenso com o
fotoresistor e de filtro de rudos, respectivamente.
Para os drivers dos motores, foram usados duas sadas PWM (Pulse Width Modulation Modulao por largura de pulso) do microcontrolador, situadas nos pinos 12 e 16 do ATMega
328. As outras sadas PWM se encontram nos pinos 5, 11, 15 e 17. possvel usar os pinos 2 e 3
para comunicao serial com o microcontrolador.
Acima, do lado esquerdo, podemos ver um conector para VCC e GND. Essa alimentao
j de 5V, sendo entregada pelo mdulo de regulador de tenso, a ser abordado na seo 5.4.
Aps desenvolver o esquemtico do crebro, foi realizado o desenho do circuito a ser
confeccionado. Por se tratar de um trabalho voltado para pessoas sem muito conhecimento na
rea de confeco de placas de circuito impresso, o desenho do circuito foi feito usando apenas
uma camada e poucos jumpers (fios que simulam dupla face), de forma que o rob possa ser
reproduzido e modificado por pessoas com nvel tcnico mnimo.
A figura 5.4 mostra o layout da placa de circuito impresso do crebro do rob.
40
41
42
43
Figura 5.9 Corte feito dos dois lados da placa de fenolite cobreado
44
45
O processo de transferncia de calor realizado nesse trabalho foi feito usando um ferro de
passar roupas comuns, destes que todos temos em casa. Entretanto, totalmente recomendvel
que no seja usado um ferro vapor.
A primeira coisa a se fazer posicionar o papel do circuito recortado sobre a parte do
cobre da placa de fenolite lixada. Deve-se alinhar bem o papel, segurando-o com os dedos
durante a parte inicial desse procedimento. O alinhamento do papel mostrado na primeira parte
da figura 5.12.
46
47
O papel dar sinais de que pode ser removido aps as bordas comearem a escurecer,
como mostra figura 5.14. Isso ocorre porque a tinta que est de baixo do papel comea a aparecer
e este outro indicativo de que o processo de transferncia de calor foi bem sucedido. Quando o
papel estiver bem mido, o papel poder ser retirado. Isso deve ser feito com as pontas dos
dedos, puxando uma pontinha do papel antes, conforme mostra a figura 5.15.
48
49
50
51
52
53
Depois bastou soldar os componentes para que a placa ficasse conforme mostra a figura
5.25.
54
existe tenso eltrica ou no na sada (atravs de um LED azul) e conectar a sada regulada em
5V, usando conectores parafusveis de dois pinos.
O regulador de tenso usado foi o 7805, e a imagem da primeira pgina do datasheet do
mesmo, disponibilizado online pela fabricante Fairchild Semiconductor, est representada na
figura 5.26.Entretanto, pode ser usado qualquer outro componente de qualquer outro fabricante,
desde que o encapsulamento seja TO-220, para se encaixar no layout do circuito projetado.
55
Quantidade
Custo Unitrio
Custo Total
R$ 1,00
R$ 1,00
R$ 0,08
R$ 0,08
R$ 0,20
R$ 0,20
R$ 0,90
R$ 1,80
100uF
Conector
Local de compra
Eletrnica Santos
Dummont, rua 68
parafusvel de 2
pinos
Diodo 1N4001
Resistor 10k
LED Alto
1
1
R$ 0,10
R$ 0,05
R$ 0,10
R$ 0,05
brilho(azul)
Switch
Total Regulador
R$ 0,80
R$ 0,80
R$ 1,00
R$ 1,00
(Goinia)
R$ 5,03
de Tenso
56
57
Com este circuito em mos, foi realizada a transferncia da tinta para a placa de fenolite
cobreado, da mesma forma que foi feita com o mdulo Crebro. A placa finalizada pode ser
visualizada na figura 5.30.
CAPTULO VI
58
59
em que a tenso que aparecer em OUT proporcional aos valores de resistncia do fotoresistor
e do resistor de 10k, segundo a equao 6.1.
V out =
10 k
5 (V )
10 k+Rfotoresistor
(6.1)
Rfotoresistor
Rfotoresistor
ser de 65k,
sendo Vout = 0,67V. Entretanto, esses valores so ideais. Na prtica, ser necessrio criar uma
funo para que o microcontrolador armazene os valores mximos e mnimos de luminosidade
refletida da luz na linha e ausncia de linha, sempre que inicializar. Mais detalhes sero
abordados no captulo 7.
6.2 Projeto dos sensores
Para economizar espao nas placas dos sensores e facilitar a soldagem, o resistor de 10k
do divisor de tenso foi posicionado na placa do crebro do rob, conforme mostrado no captulo
anterior. A nica diferena para o esquemtico do tpico anterior, que nesse circuito foi
inserido um capacitor de 22pF para filtrar oscilaes indesejadas do fotoresistor. O motivo de
no ter sido usado um potencimetro de calibrao em vez do resistor de resistncia fixa de
10k, foi a reduo de custo e complexidade do circuito, alm de se optar por uma estratgia de
calibrao mais precisa que o potencimetro. Dessa forma necessrio calibrar os sensores via
software.
Os dois sensores foram projetados de forma idntica, a fim de deixar o rob o mais
simtrico possvel. Dessa forma, este captulo aborda a construo de um sensor. A tabela 6.1
mostra a lista de componentes usados na construo dos sensores enquanto que a figura 6.2
mostra o esquemtico do sensor, juntamente com a conexo do divisor de tenso junto ao
microcontrolador.
Tabela 6.1 Lista de componentes e custo de construo dos sensores
Componente
Quantidade
Local de compra
Custo Unitrio
Custo Total
60
Fotoresistor
LED alto brilho
(branco)
Resistor 220
Conector
parafusvel de 3
2
2
2
2
Eletrnica Santos
Dummont, rua 68
(Goinia)
R$ 0,50
R$ 1,00
R$ 1,00
R$ 2,00
0,05
R$ 0,10
R$ 1,50
R$ 3,00
pinos
Total Sensores
R$ 6,10
61
62
63
64
65
66
CAPTULO VII
67
68
69
Tabela 7.1 Lista de componentes e custo de construo dos drivers dos motores
Componente
TIP 120
Resistor 1
Diodo 1N4001
Conector
Quantidade
2
2
2
parafusvel 3
pinos
Total Drivers
Custo Unitrio
R$ 1,20
R$ 0,05
R$ 0,10
Custo Total
R$ 2,40
R$ 0,10
R$ 0,20
R$ 1,50
R$ 3,00
R$ 0,90
R$ 1,80
Eletrnica Santos
pinos
Conector
parafusvel 2
Local de compra
Dummont, rua 68
(Goinia)
R$ 7,50
70
71
72
73
74
Dessa forma, conforme a figura 7.5, os motores esto ligados nos pinos 12 e 16 do
ATMega 328. O motor da esquerda est ligado no pino 12 e o motor da direita est ligado no
pino 16. Porm, segundo a figura 7.10, o pino 12 equivale ao pino digital 6 e o pino 16 equivale
ao pino digital 10 na programao do Arduino. Assim, foram declaradas duas variveis,
MotorEsq e MotorDir, para controlar os motores. Essas duas variveis foram declaradas no incio
do cdigo, para servirem de variveis globais, e dentro da funo "void setup()", foram
declaradas como pinos de sada. A figura 7.11 mostra o cdigo geral com estes procedimentos
inseridos.
75
O primeiro estado para girar ambas as rodas ao mesmo tempo, caso o rob identifique a
linha,
para
que
mesmo
siga
reto.
Para
essa
situao
foi
criada
funo
"AndarParaFrente()".Caso encontrar uma curva para a esquerda, o motor da direita deve girar e o
motor da esquerda deve ficar esttico. Para isso foi criada a funo "AndarParaEsquerda()". No
ltimo caso, foi criada a funo "AndarParaDireita()", e caso o rob encontre uma curva para a
direita, essa funo deve ser chamada. Esta ltima faz o motor da esquerda girar e o da esquerda
parar.
A figura 7.12 mostra o cdigo das funes "AndarParaFrente()", "AndarParaEsquerda()"
e "AndarParaDireita()".
Figura 7.12 Declarao das funes para comandar os trs estados do rob
Cada uma destas trs funes chama outra. Esta segmentao do cdigo no necessria,
mas foi feita para aumentar a didtica e o entendimento, e tambm para que novas trs funes
pudessem ser criadas, "DoisMotores();", para acionar os dois motores ao mesmo tempo,
"MotorEsquerda();", para acionar somente o motor da esquerda, e "MotorDireita();" para acionar
somente o motor da direita. As funes so do tipo void pois no retornam nada, somente
chamam a funo que est dentro delas.
A funo "DoisMotores();" est mostrada na figura 7.13.
76
77
78
Entretanto, esta de longe uma das piores formas de se projetar um rob seguidor de
linha, porque o mesmo s estar programado para operar em um ambiente. Fatores como
refletncia da superfcie, iluminao externa e carga da bateria influenciaro os valores recebidos
pelos sensores, alterando a forma do rob seguir a linha. Para isso, necessrio que o rob se
calibre toda vez que for iniciado, para que ele se adapte a qualquer ambiente. Isso ser mostrado
agora.
Para calibrar os sensores durante o incio do programa, foi usado a funo "millis();".
Toda vez que o microcontrolador inicia, essa funo comea a contar o tempo, em milisegundos.
A mesma ser usada para que o rob se calibre apenas durante alguns poucos segundos, e depois
siga com o cdigo para seguir a linha. Antes, foram criadas as variveis "esqCalib" e "dirCalib",
para armazenar o valor dos sensores esquerdo e direito durante a calibrao. Esse incio est
mostrado na figura 7.17.
79
80
81
motores, usando uma caixa de reduo, por exemplo, e usando tambm uma bateria com maior
carga. O cdigo completo est todo disponvel no ANEXO.
82
CAPTULO VIII
8 Montagem do rob passo a passo
8.1 Introduo
Conforme dito nos primeiros captulos, o objetivo deste trabalho desenvolver um kit de
robtica de baixo custo, a fim de poder ser ministrado na forma de curso para alunos de ensino
mdio. Isso significa que o kit deve ser didtico, e possibilitar que os alunos customizem seus
prprios robs e vejam a diferena que cada customizao possibilita ao resultado final, que
seguir uma linha em uma superfcie.
Dessa forma, foi pensada uma maneira para que os alunos pudessem encaixar os vrios
mdulos descritos nos captulos anteriores da forma que melhor lhes fossem conveniente. Essa
forma de customizao ser discutida nesse captulo, bem como a montagem do rob segundo
uma das vrias formas de montar.
8.2 Primeiro prottipo da estrutura
Para que o aluno confeccionasse os mdulos da maneira que quisesse, seguindo sua
imaginao, foi desenvolvido um sistema de tranar os mdulos em uma placa principal, e para
isso foi feita uma matriz de furos em uma placa de acrlico de 15x15cm e 2mm de espessura para
servir de suporte aos demais mdulos. Foram usadas outras placas menores, de 4x5cmm e 2mm
de espessura, para servirem de suporte aos motores.. A figura 8.1 mostra a furao completa de
uma das placas dos motores e do incio da furao da placa principal.
83
84
85
86
87
88
89
Os motores foram encaixados nas rodas por presso, mas antes foi desenvolvido uma
pequena roda no torno mecnico, para encaixar as rodas do rob ao eixo dos motores. A pequena
roda de alumnio mostrada na figura 8.12.
90
Por fim, foi projetada e construda uma nova configurao para os sensores. Conforme a
figura 6.5 do captulo 6, o fotoresistor e o LED dos sensores est virado para o mesmo lado da
placa que os conectores parafusveis de 3 pinos. Caso isso fosse mantido, acarretaria em um
problema de facilidade de uso para o usurio final, dado que seria muito difcil passar conectar
os fios entre as placas. Para isso, os fotoresistores e os LEDs dos sensores foram resoldados, do
outro lado da placa (do lado do cobre), conforme mostra a figura 8.14.
91
92
Como mostra a figura 8.15, os sensores do rob ficaram rebaixados, graas ao suporte
feito especialmente para eles. Isso ajuda bastante na questo de diminuir a interferncia da
iluminao externa dos sensores, alm de otimizar o funcionamento dos mesmos. A figura 8.15
tambm mostra todos os fios conectados entre os mdulos, e isso foi feito utilizando fios da
mesma cor, para funes semelhantes (entrada dos sensores, GND, VCC), para aumentar a
didtica do rob. As ligaes foram feitas conforme os esquemticos dos mdulos, mostrados
nos captulos anteriores.
Porm, juntamente com este trabalho, ser disponibilizado todos os arquivos EAGLE e
PDF, para que seja possvel reproduzir e at modificar o rob construdo aqui, sem precisar fazer
engenharia reversa. Tambm ser disponibilizado a "sketch" do cdigo em Arduino.
8.4 Custo da estrutura
Em relao ao custo da estrutura, pode se contabilizar apenas a placa de acrlico, que foi
realmente comprada. O restante do processo foi realizado dentro da Escola de Engenharia
Eltrica, sem incluir nenhum custo final construo do rob. Entretanto ser adcionado um
valor de aproximadamente R$ 10,00, referente ao valor das rodas, e da sucata utilizada para
construir os suportes. O custo detalhado est mostrado na tabela 8.1.
Tabela 8.1 Lista de componentes e custo de construo da Estrutura do Rob
Componente
Placa acrlico
Quantidade
Local de compra
Custo Unitrio
Custo Total
15x15mm (2mm
Indusplac
R$ 20,00
R$ 20,00
R$ 10,00
R$ 10,00
espessura)
Rodas e sucata
em geral
Total Estrutura
R$ 30,00
CAPTULO IX
93
9 Oramento Geral
9.1 Introduo
Quando o projeto do kit de robtica de baixo custo ainda era uma idia durante uma
reunio de Pesquisa e Desenvolvimento na sede da ELO Engenharia Jnior, fez-se uma mdia de
quanto deveria custar o kit de robtica. Isto , com o baixo oramento destinado a esse projeto,
existia a real preocupao em se gastar o menos possvel para construir cada kit de robtica. A
idia era de que o rob no deveria custar mais de R$ 200,00 para que considerasse realmente
um kit de robtica de baixo custo.
Neste captulo ser apresentado o valor total para se construir esse kit de robtica de
baixo custo, bem como explicaes de como fazer para se gastar menos ainda, com a construo
de uma verso melhorada.
9.2 Custo total de construo do rob
Com base nas tableas apresentadas nos captulos anteriores, e reunindo os valores totais
das mesmas em uma tabela nica, temos a tabela geral de custos do rob, representada na tabela
9.1.
Tabela 9.1 Tabela geral de custos do rob
Mdulo
Crebro
Regulador de tenso
Sensores
Drivers
Estrutura
Custo Total
Custo
R$ 53,25
R$ 5,03
R$ 6,10
R$ 7,50
R$ 30,00
R$ 101,88
Conforme pode ser visto, o oramento est bem abaixo do valor idealizado inicialmente,
sendo que de R$ 200,00 caiu para R$ 101,88. O valor real est ainda mais baixo que este, visto
que foram adcionados alguns valores a mais durante o processo, referentes a compra de placas de
94
fenolite cobreado a mais, porque algumas estragaram durante o processo de aprendizagem e com
a precificao da sucata, que pode ser considerada "de graa", em uma anlise mais prxima da
realidade.
Assim, pode se dizer que o custo total do rob est "por volta de R$ 100,00", que
praticamente a metade do valor pensado inicialmente, e muito mais barato que outros kits iniciais
que se compram no mercado.
Vale salientar, entretanto, que embora o rob construdo nesse trabalho tenha uma
flexibilidade considervel, vrias melhorias precisam ser feitas para que ele seja um kit de
robtica comercial. Porm, podem ser construdos robs que desviam de obstculos e robs que
seguem a luz (fotvoros), apenas trocando os sensores, sem modificar o restante dos mdulos ou
da estrutura.
O custo do projeto aumentaria bastante, caso tivssemos que comprar todas as
ferramentas utilizadas gratuitamente na Universidade, e diminuiria tambm, caso fossem
utilizados outros materiais, como papelo prensado, em fez da placa de acrlico para fazer a
estrutura
9 Concluso
95
O resultado do trabalho foi bastante satisfatrio, provando ser possvel construir kits
didticos de robtica de maneira simples e barata, utilizando a plataforma de prototipagem de
eletrnicos open-source e open-hardware, Arduino. Isso prova tambm que a plataforma Arduino
ideal para realizar projetos de computao fsica, relacionados ou no robtica, pois tem uma
ampla comunidade online que est sempre desenvolvendo projetos e apresentando as solues e
tambm por ser acessvel financeiramente. Espera-se que com este trabalho, outros alunos se
interessem em fazer projetos usando Arduino. Quanto ao kit de robtica de baixo custo, foi
atingida a proposta inicial, que era de construir um rob customizvel, e que fosse acessvel para
se implementar em escolas pblicas de ensino mdio. Devero ser feitos vrios aperfeioamentos
para que o rob fique otimizado para ser apresentado como um kit comercial, porm o passo
inicial j foi dado: a construo do primeiro prottipo funcional. Este trabalho continuar a ser
amplamente melhorado, atravs do projeto de extenso "Engenharia nas Escolas" da UFG.
REFERNCIAS
96
ANEXO
97
void setup()
{
//Serial.begin(9600); // Incio da comunicao serial a 9600bps
pinMode(MotorEsq, OUTPUT); // Declarao do Pino do MotorEsq como sada
pinMode(MotorDir, OUTPUT); // Declarao do Pino do MotorDir como sada
}
void loop()
98
{
if(millis()< 5000)
{
esq = analogRead(SensorEsq); // leitura do SensorEsq e atribuio varivel
esq
dir = analogRead(SensorDir); // leitura do SensorDir e atribuio varivel dir
if (esqCalib < esq)
{
esqCalib = esq;
}
if (dirCalib < dir)
{
dirCalib = dir;
}
}
else
{
esq = analogRead(SensorEsq); // leitura do SensorEsq e atribuio varivel
esq
dir = analogRead(SensorDir); // leitura do SensorDir e atribuio varivel dir
99
}
// Anda pra direita se o sensor esq detectar ausncia de linha e o dir detectar
linha
else if (dir < (dirCalib - 50)) //
{
digitalWrite(MotorDir,LOW);
AndarParaDireita(); // Chama a funo AndarPraDireita();
}
else
{
AndarParaFrente();
}
}
}
// Funes de Controle dos Estados do Rob (Frente, Direita e Esquerda)
void AndarParaFrente() // Faz o rob andar para frente
{
DoisMotores(); // Chama a funo "DoisMotores();"
}
void AndarParaDireita() // Faz o rob andar para Direita
{
MotorEsquerda(); // Chama a funo "MotorEsquerda();"
}
100
101
{
digitalWrite(MotorDir, HIGH); // Liga o MotorDir (Motor Direita)
delay(150); // Espera 0,1 segundo
digitalWrite(MotorDir,LOW); // Desliga o MotorDir (Motor Direita)
delay(100); // Espera 0,1 segundo
}