Escolar Documentos
Profissional Documentos
Cultura Documentos
Dedicatória
Dedico este trabalho aos meus pais, pela sua constante preocupação e apoio.
Aos meus amigos, especialmente, o Emanuel por me ter ajudado a superar algumas
dificuldades.
-i-
Relatório da Prova de Aptidão Profissional – Carlos Moço
Agradecimentos
Em primeiro lugar, agradeço ao senhor diretor da escola, Dr. Luís Pedro Biscaia, por nos ter
apoiado, ao longo do curso.
Agradeço ao diretor de curso, Dr. Paulo Manuel Martins dos Santos, que nos acompanhou ao
longo destes anos.
O meu reconhecimento à empresa Baquelite Liz, S.A. por me ter proporcionado o contacto
com o mundo do trabalho.
Quero, ainda, deixar aqui o meu reconhecimento à minha família, sem eles, nada sou.
- ii -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Índice geral
Dedicatória...................................................................................................................................i
Agradecimentos..........................................................................................................................ii
Índice geral................................................................................................................................iii
Outros índices.............................................................................................................................v
Índice de figuras.....................................................................................................................v
Índice de tabelas.....................................................................................................................v
Resumo......................................................................................................................................vi
Palavras-chave.......................................................................................................................vi
1.Introdução...............................................................................................................................1
1.1.Apresentação de ideias e linhas fundamentais................................................................1
1.2.Objetivos a alcançar........................................................................................................1
1.3.Estrutura do relatório.......................................................................................................2
2.Desenvolvimento....................................................................................................................3
2.1.Fundamentação do projeto..............................................................................................3
2.2.Métodos e técnicas utilizadas..........................................................................................8
2.3.Execução do projeto........................................................................................................9
2.4.Código-fonte desenvolvido...........................................................................................13
3.Conclusão..............................................................................................................................26
Bibliografia...............................................................................................................................27
Anexos......................................................................................................................................28
Anexo 1 – O que é necessário para começar a explorar o Arduino......................................29
- iii -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Outros índices
Índice de figuras
Índice de tabelas
- iv -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Resumo
Este projeto visa explorar o microcontrolador Arduino, o seu ambiente de programação em
linguagem C e a sua utilização na integração dos jogos do Pong (2 jogadores) e Snake (1
jogador), disponíveis em http://blog.bsoares.com.br/arduino/ping-pong-with-8x8-led-matrix-
on-arduino e http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1265668103.
O jogo do Pong consiste em duas barras e uma bola visualizáveis num mostrador com matriz
de 8x8 LEDs, uma das barras situa-se no lado direito e a outra barra está no lado esquerdo
ambas deslocam-se para cima e para baixo, comandadas por dois potenciómetros atuados pelo
jogador humano, um dos potenciómetros comanda a barra da esquerda o outro potenciómetro
comanda a barra da direita. A bola desloca-se no tabuleiro desviando o seu trajeto quando bate
nas barras (raquetas) laterais ou na parede superior ou inferior do tabuleiro, se transpuser uma
das laterais o jogador adversário ganha pontos. O jogo termina quando os jogadores
esgotarem as bolas disponíveis.
O jogo Snake consiste numa cobra pequena que se move para cima e para baixo, para
esquerda e para a direita no mostrador, neste jogo a cobra tem de comer as maçãs que vão
aparecendo, à medida que as vai comendo o seu comprimento vai aumentando, bem como o
grau de dificuldade do jogo.
Palavras-chave
-v-
Relatório da Prova de Aptidão Profissional – Carlos Moço
1. Introdução
O trabalho que eu escolhi e sobre o qual vou falar é o Arduino Uno.
Este trabalho foi escolhido, porque o Arduino Uno dá para fazer várias coisas, como por
exemplo, fazer robôs, jogos e uma imensidão de outras coisas interessantes.
Foi este o projeto que escolhi para a Prova de Aptidão Profissional, porque gostei de ver o
Arduino Uno a funcionar com o jogo do Pong e Snake.
Também vou falar e mostrar o trabalho que fiz ao longo dos últimos meses.
Foi esta a ideia escolhida porque visitei um sítio na internet onde vi este componente e gostei
do que vi e do que o Arduino Uno faz.
Decidi falar sobre o Arduino Uno pelo seu aspeto físico que está bem apresentado e pelo seu
funcionamento.
Quero, ainda, perceber como é o Arduino Uno, como funciona, e quais são as suas utilizações
desde jogos, robôs, dispositivos controlados à distância através de uma rede informática.
Para além do Arduino Uno irei falar de mais três outros Arduinos que são: Arduino Ethernet
Shield; Arduino Mega ADK; e Arduino Motor Shield.
-1-
Relatório da Prova de Aptidão Profissional – Carlos Moço
O meu relatório começa por uma breve dedicatória às pessoas de quem gosto. De seguida,
vêm os agradecimentos às pessoas que nos acompanharam nestes três anos de curso. Depois o
resumo onde faço uma breve apresentação do meu projeto. Segue-se o desenvolvimento onde
aprofundo mais circunstanciadamente o desenvolvimento do meu projeto, na fundamentação
faço um breve resumo dos componentes Arduino mais importantes, depois mostro as técnicas
e os métodos que utilizei para o desenvolvimento do mesmo. Por fim, a conclusão, a
bibliografia e os anexos.
-2-
Relatório da Prova de Aptidão Profissional – Carlos Moço
2. Desenvolvimento
O Arduino Uno é um componente muito utilizado pelos entusiastas de eletrónica, este
componente dá para fazer inúmeras coisas, desde jogos a robôs e muitos mais. É um
componente muito popular.
Arduino Uno
O Arduino Uno é uma placa com um microcontrolador ATmega328, possui 6 pinos de entrada
analógica, 14 pinos de entrada e saídas digitais, 6 dos quais podendo enviar sinais modulados
por largura de pulso (PWM).
-3-
Relatório da Prova de Aptidão Profissional – Carlos Moço
O Arduino Uno difere das placas antecessoras por não utilizar o circuito integrado conversor
USB-série da FTDI, mas sim o microcontrolador ATmega8U2 programado para conversor
USB-série.
A largura e o comprimento máximos da placa de circuito impresso (PCB) do Arduino Uno são
68,58 por 53,34mm respetivamente (2,7"x2,1"), com os conetores USB e de alimentação
estendendo-se além destas dimensões. Existem quatro furos para permitirem que através de
parafusos a placa seja fixada a uma superfície ou encapsulamento.
O Arduino Uno em si não possui qualquer recurso de rede, porém é comum combinar um ou
mais Arduinos Unos.
Utilizando extensões apropriadas chamadas de shields, ver figura 2, também o Arduino Uno
pode ser usado para desenvolvimento de projetos interativos independentes, ou ainda para ser
conectado a outros projetos.
-4-
Relatório da Prova de Aptidão Profissional – Carlos Moço
O Arduino Uno dá para fazer diversos projetos, como por exemplo: dá para fazer jogos e
passatempos; robôs moveis; projetos que nos ajudam no dia a dia que possam ser controlados
remotamente através de uma rede informática.
Entrada e saída – Cada um dos 14 pinos digitais no Arduino Uno pode ser usado como
entrada ou saída usando as funções pinMode(), digitalWrite(), e
digitalRead(). Estes pinos operam com 5V e cada pino pode fornecer ou
receber uma corrente máxima de 40 mA, internamente existe uma resistência de
pull-up de 20-50 kΩ que por defeito está desligada.
Comunicação – O Arduino Uno, bem como outros Arduinos, possui diversas formas de
comunicação com um computador, com outros Arduinos e mesmo com outros
microcontroladores.
Proteção de limite de corrente na porta USB – O Arduino Uno tem um fusível rearmável
que protege a porta USB contra correntes elevadas o que adiciona mais uma camada
de proteção para a porta USB. Enquanto a placa estiver em curto-circuito o fusível
permanece aberto, fechando numa situação normal de utilização.
Programação – O Arduino Uno pode ser programado com o software Arduino que se pode
descarregar para qualquer sistema operativo Microsoft Windows, Mac OSX ou Linux
(http://arduino.cc/en/Main/Software).
O Arduino Ethernet Shield liga a uma rede informática ou à internet em poucos minutos. É só
encaixar este módulo à placa do Arduino Uno, ligar à sua rede informática através de um cabo
de pares entrançados UTP com ficha RJ45 macho, e seguir algumas instruções simples para
começar a controlar o que desejar através da internet.
O Arduino Ethernet Shield necessita de uma placa Arduino Uno ou Mega para funcionar.
Este módulo possui uma ranhura para inserir um cartão micro-SD, que pode ser usado para
armazenar ficheiros para envio através da rede.
-5-
Relatório da Prova de Aptidão Profissional – Carlos Moço
O Arduino Mega ADK é uma placa baseada no microcontrolador ATmega2560. Possui uma
interface USB baseada no circuito integrado MAX3421 para ligação a tablets ou telemóveis
-6-
Relatório da Prova de Aptidão Profissional – Carlos Moço
Android. O módulo possui 16 entradas analógicas e ainda 54 pinos que podem funcionar
como entradas ou saídas digitais, dos quais 14 podem ser usados como saídas em modulação
por largura de pulso (PWM).
O Arduino Mega ADK pode ser alimentado através da ligação USB ou com uma fonte de
alimentação independente. A fonte de energia é selecionada automaticamente.
O Arduino Motor Shield é baseado no L298, que é uma ponte em H dupla, concebidas para
cargas indutivas, como relés, eletroímanes, motores de corrente contínua e motores passo a
passo.
Este módulo permite comandar até dois motores de corrente contínua ou um motor passo a
passo, controlando a velocidade e a direção de cada um de forma independente.
O Arduino Motor Shield deve ser alimentado apenas por uma fonte de alimentação separada,
porque o circuito integrado L298 montado na shiled tem duas ligações de alimentação
separadas, uma para a lógica (5V) e a outra para a alimentação do motor (Vin).
-7-
Relatório da Prova de Aptidão Profissional – Carlos Moço
Gameduino
Figura 6: Arduino Uno (em baixo) com as shields Ethernet (no meio)
e VGA (em cima)
Gameduino é um adaptador de jogos para Arduino Uno (ou qualquer outra placa com uma
interface SPI) que funciona como uma simples shield que se monta sobre o Arduino e conta
com uma saída para ligação a monitores de vídeo VGA e outra com som estéreo.
Para evitar possíveis danos para a placa Arduino em que a shield está montada, recomenda-se
a utilização de uma fonte de alimentação externa que forneça uma tensão entre 7 e 12V.
Primeiro que tudo comecei a fazer o esquemático para ligar 64 LEDs numa matriz 8x8 no
programa EAGLE, depois de concluído o esquemático, comecei a desenhar as duas placas de
-8-
Relatório da Prova de Aptidão Profissional – Carlos Moço
Depois comecei a testar vários circuitos em protoboard ligados ao Arduino Uno. Basicamente
com LEDs, resistências e potenciómetros. O objetivo era aprender como as coisas
funcionavam. Para cada exemplo desenvolvi o código em linguagem C no programa Arduino
a correr no sistema operativo Linux/Ubuntu.
O esquemático que elaborei pode ser observado na figura, nele se pode ver a matriz de LEDs
8x8, com os ânodos ligados por linha, os cátodos por coluna e os dois potenciómetros que
ligam às entradas analógicas A4 e A5 e permitem a interação com o Arduino Uno.
-9-
Relatório da Prova de Aptidão Profissional – Carlos Moço
Depois de ter concluído o esquemático desenhei também no EAGLE duas placas de circuito
impresso, uma para o mostrador de LEDs e a outra para encaixar como shield no Arduino
Uno. Tiveram de ser de dupla face devido à existência de muitas ligações. Seguem-se as
respetivas imagens, as figuras 8 e 9 referem-se ao mostrador de LEDs, as figuras 10 e 11
referem-se à shield para o Arduino Uno e as figuras 12 e 13 dizem respeito à disposição dos
vários componentes em ambas as placas.
- 10 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
- 11 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
- 12 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
- 13 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
- 14 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Exemplo 1
/*
Turma: 3.º ET
Data: 26/04/2012
*/
- 15 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Exemplo 2
/*
Turma: 3.º ET
Data: 26/04/2012
*/
- 16 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Exemplo 3
/*
Turma: 3.º ET
Data: 26/04/2012
*/
- 17 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Exemplo 4
- 18 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
/*
Turma: 3.º ET
Data: 26/04/2012
*/
- 19 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
- 20 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Exemplo 5
/*
Turma: 3.º ET
- 21 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Data: 26/04/2012
*/
- 22 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Exemplo 6
/*
Turma: 3.º ET
- 23 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Data: 26/04/2012
*/
- 24 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
- 25 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
3. Conclusão
O meu projeto consistiu em falar sobre o Arduino Uno, para conseguir concluir este projeto
foi preciso ter uma grande capacidade de autonomia e persistência, aspetos esses que se foram
desenvolvendo à medida que o concebia, planeava e executava.
- 26 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Bibliografia
[1] Ping Pong com Matriz de Leds 8×8 e Arduino | Bruno Soares, acedido a 20 de
setembro de 2011, em http://blog.bsoares.com.br/arduino/ping-pong-with-8x8-led-
matrix-on-arduino.
[2] Snake on a 8x8 led matrix – Arduino Forum, acedido a 27 de setembro de 2011, em
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1265668103.
[3] Arduino LCD Super Mario Game – YouTube, acedido a 27 de setembro de 2011, em
http://www.youtube.com/watch?v=qxJvsL6ES0k.
[4] Aprenda Arduino: Robótica para Iniciantes / robotics for beginners – YouTube,
acedido a 25 de outubro de 2011, em http://www.youtube.com/watch?
v=KZUrO9aXGh0.
[5] Arduino + Servo Motor + Wireless Playstation Controller – YouTube, acedido a 03 de
novembro de 2011, em http://www.youtube.com/watch?v=J85aui2W4mY.
[6] led matrix Snake - arduino powered – YouTube, acedido a 03 de novembro de 2011,
em http://www.youtube.com/watch?v=q0Wz8jydeAo.
[7] Sítio de internet do Arduino, acedido a entre 27 de setembro de 2011 a 26 de abril de
2012, em http://www.arduino.cc/.
[8] Gameduino: Consola de Jogos para Arduino – Loja Virtual da Aliatron, acedido a 22
de março de 2012, em http://aliatron.com/loja/catalog/product_info.php?
products_id=1161.
- 27 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Anexos
- 28 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
Arduino Uno
Cabo USB AB
- 29 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
- 30 -
Relatório da Prova de Aptidão Profissional – Carlos Moço
- 31 -