danilo siqueira costa ra: 0205210 - 8º semestreeducatec.eng.br/engenharia/monografia de...
TRANSCRIPT
Danilo Siqueira Costa
RA: 0205210 - 8º Semestre
PAINEL VISUAL USANDO MICROCONTROLADOR
Jaguariúna
2008
1
Danilo Siqueira Costa
RA: 0205210 - 8º Semestre
PAINEL VISUAL USANDO MICROCONTROLADOR
Monografia apresentada à disciplina Trabalho Graduação III, do Curso de Ciências da computação da Faculdade de Jaguariúna, sob orientação do Prof. Dr. André Mendeleck, como exigência parcial para conclusão do curso de graduação.
Jaguariúna
2008
2
COSTA, Danilo Siqueira. Painel Visual Usando Microcontrolador. Monografia defendida e
aprovada na FAJ em 29 de julho de 2008 pela banca examinadora constituída pelos
professores:
___________________________________________________________________ Prof. Dr. André Mendeleck
FAJ – orientador
___________________________________________________________________ Prof. Ms. Peter Jandl Junior
FAJ
3
Dedico este trabalho aos meus familiares, esposa
e a todos que sempre estiveram ao meu lado
incentivando e dando todo apoio e respaldo
necessário para que me dedicasse aos estudos.
4
AGRADECIMENTOS
A realização deste TCC só foi possível em primeiro lugar com a graça de Deus, que
me deu forca nos momentos difíceis. E o apoio de algumas pessoas especiais. A todos
manifesto minha gratidão e de modo particular:
Agradeço aos meus pais e parentes que sempre estiveram do meu lado me orientando
e apoiando para que eu pudesse estar atingindo meus objetivos.
Aos meus professores que souberam com maestria trazer-me conhecimentos técnicos
que contribuíram para o início da minha carreira profissional.
Ao Dr. André Mendeleck pela orientação dedicada e pelo constante estímulo em todas
as fazes de realização deste trabalho.
Ao meu amigo Rogério Pimentel pelo apoio e pelas discussões críticas que, em muito,
enriqueceram a realização desta pesquisa.
A minha esposa Mara Rúbia e ao meu filho, ainda no ventre, que aguardo com
ansiedade e felicidade seu nascimento, pois, são eles que me fornecem força, esperança e
motivação para enfrentar as dificuldades da vida.
5
“Não há saber mais ou saber menos: Há saberes diferentes”.
(Paulo Freire)
6
COSTA, Danilo Siqueira. Painel Visual Usando Microcontrolador. 2008. 81 f. Monografia
(Bacharelado em Ciência da Computação) – Curso de Ciência da Computação da
Faculdade de Jaguariúna, Jaguariúna.
RESUMO
A presente pesquisa pretende demonstrar que a utilização de micro controlador em painel visual pode ser extremamente interessante, haja vista a facilidade de sua utilização e o baixo custo que proporcionará aos usuários. O projeto inicia-se com uma breve introdução onde esclarece o conceito de comunicação e explana sobre os diversos tipos de painéis de mensagens existentes hodiernamente. Há neste capítulo ainda a explicação do que vem a ser persistência retiniana e fenômeno Phi, conceitos importantes para a compreensão plena da pesquisa em todas as suas particularidades. No segundo capítulo, esclarecem-se os objetivos da pesquisa, quais seja a implementação de um sistema de texto criativo e de baixo custo, combinando funcionalidade e preço baixo, visando à satisfação do usuário. A metodologia da pesquisa está no terceiro capítulo e a descrição detalhada, através de imagens e quadros encontra-se no quarto capítulo, onde cada componente é descrito com minúcia, esclarecendo-se a sua utilização no desenvolvimento do projeto. Por fim, há a definição das etapas do projeto e a descrição dos resultados esperados e obtidos quando da utilização do microcontrolador em painel visual. Espera-se que a pesquisa tenha chegado ao final cumprindo sua tarefa primordial, isto é, a contribuição esperada para o maior desenvolvimento e divulgação da ciência da computação, melhorando e facilitando, através de sua ideal utilização, a vida de todas as pessoas direta ou indiretamente. Palavras-chave: MICROCONTROLADOR, PIC, PERSISTÊNCIA RETINIANA, FENÔMENO PHI, PAINEL VISUAL.
7
COSTA, Danilo Siqueira. Visual Board Using Microcontroller. 2008. 81 f. Monografia
(Bacharelado em Ciência da Computação) – Curso de Ciência da Computação da
Faculdade de Jaguariúna, Jaguariúna.
ABSTRACT
This research aims to demonstrate that the use of microcontroller in visual board can be extremely interesting, due to ease of use and low cost that will provide users. The project begins with a brief introduction explains where the concept of communication and explained about the different types of bulletin boards existing. There is still a chapter explanation of what are being retinal persistence and Phi phenomenon, concepts important to understanding the full search in all their particularities. In the second chapter, it is clarified the objectives of the research, namely, the implementation of a system of creative text and low cost, combining functionality and low price, seeking user satisfaction. The methodology of the survey is the third chapter and detailed description, through pictures and paintings is at the fourth chapter, where each component is described in detail, explaining itself to its use in developing the project. Finally, there is the definition of the stages of the project and the description of the results expected and obtained when the use of a microcontroller. Finally, there is the definition of the stages of the project and the description of the results expected and obtained when the use of a microcontroller visual panel. It is expected that the search has reached the end fulfilling its primary task, that is, the expected contribution to the further development and dissemination of science of computing, improving and facilitating, through its optimal use, the life of all persons directly or indirectly. Word-key: MICROCONTROLLER, PIC, RETINAL PERSISTENCE, PHI PHENOMENON, VISUAL BOARD.
8
LISTA DE FIGURAS
FIGURA 01:- Diagrama explicativo do projeto consolidado.................................................. 27
FIGURA 02:- Layout do PIC16F628A .................................................................................. 28
FIGURA 03:- Programa em linguagem Basic do Painel FAJ TCC-2 .................................... 33
FIGURA 04:- Hardware painel visual IR-RX “propeller”........................................................ 33
FIGURA 05:- Leds de alto brilho .......................................................................................... 34
FIGURA 06:- Circuito do microcontrolador / IR .................................................................... 34
FIGURA 07:- Esquema elétrico do painel IR-RX.................................................................. 35
FIGURA 08:- Diagrama de bloco do painel IR-RX ............................................................... 36
FIGURA 09:- Hardware da placa interface IR – TX.............................................................. 37
FIGURA 10:- Ligação do cabo serial.................................................................................... 38
FIGURA 11:- Esquema elétrico da placa interface IR-TX..................................................... 38
FIGURA 12:- Diagrama de bloco da placa interface IR-TX .................................................. 39
FIGURA 13:- Hardware gravador JDM ................................................................................ 40
FIGURA 14:- Esquema elétrico do gravador JDM................................................................ 41
FIGURA 15:- Cabeçalho Microcode Studio.......................................................................... 43
FIGURA 16:- Exemplo da estrutura do uso dos devices ...................................................... 43
FIGURA 17:- Instrução do uso do comando LOOKUP2....................................................... 44
FIGURA 18:- Instrução para ativar a velocidade da taxa de transmissão serial ................... 45
FIGURA 19:- Programa em linguagem Basic do painel visual IR-RX................................... 48
FIGURA 20:- Autor do programa IRSEROUT ...................................................................... 49
FIGURA 21:- Descrição dos caracteres da tabela................................................................ 50
FIGURA 22:- Programa em linguagem Basic da placa de interface IR-TX........................... 62
FIGURA 23:- Layout do editor Basic Microcode Studio........................................................ 64
FIGURA 24:- Layout do compilador IC-PROG ..................................................................... 65
FIGURA 25:- Estrutura da compilação dos códigos para o PIC ........................................... 66
FIGURA 26:- Arquivo do projeto e as extensões usadas ..................................................... 67
FIGURA 27:- Software para comunicação serial.................................................................. 68
FIGURA 28:- Painel de mensagem acabado com o efeito das luzes flutuando.................... 72
9
LISTA DE TABELAS
TABELA 01:- Cronograma das ações na realização do projeto ........................................... 25
TABELA 02:- Tabela dos caracteres.................................................................................... 81
10
LISTA DE SIGLAS E ABREVIATURAS
PIC: Microcontrolador da família Microchip;
Visual Factory: Conceito de organização e padronização de identificação das empresas;
Andom: Sinais visuais de alertas e informação;
JDM: Gravador PIC desenvolvido por Jens Dyekjær Madsen;
LED: Diodo Emissor de Luz;
IR: Infravermelho;
TX: Transmissão;
RX: Recepção;
PC: Computador pessoal:
CI: Circuito Integrado;
BASIC: Beginners All-Purpose Symbolic Instruction Code
TCC: Trabalho de Conclusão de Curso
TG: Trabalho de Graduação
11
SUMÁRIO
1. INTRODUÇÃO............................................................................................................ 13
1.1. Comunicação ........................................................................................................... 13
1.2. Comunicação humana ............................................................................................. 14
1.3. Painel de mensagem................................................................................................ 14
1.3.1. Painel eletrônico................................................................................................... 15
1.3.2. Painel indicador de senha .................................................................................... 15
1.3.4. Painel terminal de passageiros............................................................................. 16
1.3.5. Painel eletrônico de votação................................................................................. 17
1.3.6. Painel eletrônico esportivo.................................................................................... 17
1.3.7. Painel de bolsa de mercadorias ou ações ............................................................ 17
1.4. Relógios digitais ....................................................................................................... 18
1.5. Outdoor eletrônico.................................................................................................... 18
1.6. Introdução ao projeto ............................................................................................... 18
1.6.1. Persistência retiniana e fenômeno phi.................................................................. 19
1.6.2. Computação e microcontroladores ....................................................................... 20
2. OBJETIVOS ............................................................................................................... 22
3. METODOLOGIA ......................................................................................................... 23
3.1. Cronograma ............................................................................................................. 24
4. PROJETO................................................................................................................... 26
4.1. Hardware ................................................................................................................. 26
4.1.1. Hardware parte 01: Painel visual IR-RX “propeller” .............................................. 28
4.1.2. Hardware parte 02: Placa interface IR-TX ............................................................ 36
4.1.3. Hardware parte 03: Gravador PIC JDM................................................................ 39
5. PROGRAMAS ............................................................................................................ 42
5.1. Firmware .................................................................................................................. 42
5.1.1. Firmware parte 01: Painel IR-RX “propeller”......................................................... 42
5.1.2. Firmware parte 02: Placa interface IR-TX............................................................. 49
5.2. Softwares ................................................................................................................. 63
5.2.1. Editor microcode studio ........................................................................................ 63
5.2.2. Programador IC-Prog ........................................................................................... 64
5.2.3. Compilador Picbasicpro........................................................................................ 65
5.2.4. Interface micro serial – RogerCom ....................................................................... 67
6. ETAPAS DO PROJETO ............................................................................................. 69
6.1. Estudos e pesquisas ................................................................................................ 69
6.2. Implementação do projeto ........................................................................................ 69
12
7. RESULTADOS ........................................................................................................... 71
7.1. Planejamento ........................................................................................................... 71
7.2. Resultados esperados.............................................................................................. 71
7.3. O efeito do painel visual ........................................................................................... 71
8. CONCLUSÃO ............................................................................................................. 73
9. REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................... 74
10. ANEXOS..................................................................................................................... 76
11. APÊNDICE ................................................................................................................. 78
13
1. INTRODUÇÃO
Os sistemas de textos usualmente utilizam matrizes de leds, painéis luminosos,
plasma ou outros tipos de mecanismos de alto custo. O objetivo da presente pesquisa é
demonstrar a implementação de um sistema mais simples, de baixo custo, criativo e
conveniente, utilizando-se para isso a combinação de um microcontrolador com as teorias
da física.
Ao combinar funcionalidade com menor preço, os microcontroladores estão se
tornando um componente cada vez mais comum em nossas vidas. A flexibilidade e a
versatilidade de implementação deste componente são imensas, bem como a fácil interação
com os microcomputadores atuais e inúmeros programas e softwares dedicados para este
tipo de aplicação.
Os microcontroladores em conjunto com circuitos eletroeletrônicos possuem a
propriedade de interpretar sinais, níveis de tensões e sensores externos e respondê-los
prontamente, em conseqüência, executar alguma tarefa pré-estabelecida. Em razão disso,
dispositivo de comando e circuitos de interação tem incorporado freqüentemente o uso dos
microcontroladores nos projetos eletroeletrônicos.
1.1. Comunicação
A comunicação sempre foi uma necessidade e uma característica da espécie humana,
destarte surgiram em princípio os gestos, os ruídos e a fala e com o desenvolvimento desta
ultima deu-se início a formação do vocabulário, da linguagem e dos dialetos. Desta forma, a
capacidade de comunicação juntamente com o raciocínio lógico se tornou o grande
diferencial da nossa espécie em relação às outras.
Com o desenvolvimento da humanidade o registro dos fatos tornou-se necessário,
surgindo então à linguagem escrita. Os primeiros meios de linguagem escrita conhecidos
foram os desenhos deixados pelos homens pré-históricos nas cavernas - figuras
rudimentares que retratavam sua rotina, a caça e a organização dos grupos naqueles
tempos.
Ao evoluir, o homem desenvolveu outros tipos de mecanismos de registros, chamados
símbolos, que passaram a ser usados na linguagem escrita, desenvolvendo a criação de
palavras, frases e textos escritos. Assim, cada civilização acabou por desenvolver seu
próprio alfabeto, temos como exemplo dentre vários, os antigos egípcios, que criaram os
hieróglifos, os símbolos da escrita oriental, bem como os alfabetos atuais provenientes do
latim, do romano e do hebraico oriundos dos povos europeus e do oriente médio.
14
A importância da comunicação evidencia-se com o advento da propaganda e da
publicidade e conseqüentemente com a sua exploração econômica. Tal evidencia dá-se
igualmente em sua utilização para fins militares, na disseminação e imposição de
determinada cultura a outros povos. O domínio do poder através da comunicação fez com
que alguns povos se destacassem em detrimento de outros que tiveram sua cultura,
linguagem oral e escrita dizimadas.
Assim, com a natural evolução da comunicação, o homem passou a se dedicar ao
aprimoramento da linguagem para a exploração comercial, surgindo, em conseqüência,
veículos de comunicação como o Correio, a Imprensa, o rádio, o telefone, a televisão, a
Internet, a comunicação via satélite, o telefone celular e mais recentemente nas indústrias:
conceitos de Visual Factory e Andon.
Em conseqüência desse desenvolvimento, surgiram especialistas nas diversas áreas
de comunicação, estudiosos do tema e empresas especializadas, vez que, nos encontramos
em uma época em que a informação é de fundamental importância para todos os setores
sendo a comunicação essencial no nosso dia a dia para o desenvolvimento de qualquer
atividade.
1.2. Comunicação humana
A comunicação humana envolve a troca de informações por diversos modos: a fala, a
conversa face-a-face, as imagens, a comunicação corporal, os gestos com as mãos, a
escrita, e os códigos.
Os meios de comunicação existentes estão em contínua utilização, destacando-se no
presente trabalho, a escrita – instrumento de comunicação em massa – importante
ferramenta para explorar os sentidos e desejos do homem ou apenas para facilitar sua vida.
Na busca de inovações, novos meios de comunicação surgem a todo o momento:
motodoor, painéis, mídia em metrô, busdoor, bikedoor, até anúncios feitos com tatuagens,
onde o trabalho se apóia na confecção de um projeto mensagem de texto inovador para a
comunicação em massa.
1.3. Painel de mensagem
Os painéis de mensagens são ferramentas utilizadas para transmitir informações aos
usuários, atualmente, no mercado, existem diversos painéis de mensagem, no tópico
apropriado serão descritos alguns tipos.
15
1.3.1. Painel eletrônico
Os painéis eletrônicos de mensagem são sistemas de informação automatizados que
possibilitam diversas aplicações nos setores: industrial, comercial, empresarial e público.
É utilizado flexivelmente em ambiente externo e interno, são produzidos com leds de
alta luminosidade ou matrizes modulares, podendo utilizar software dedicado para edição e
aplicação em rede. Também se caracteriza por possuir diversas configurações, baixo
consumo de energia e dispensa mão-de-obra especializada para sua operação.
1.3.2. Painel indicador de senha
Os painéis eletrônicos indicadores de senha são ferramentas para empresas, escolas,
órgãos públicos e comerciais, geralmente são utilizados para organizar o atendimento dos
clientes e o tempo de espera. Assim, quando o usuário avista o painel, é induzido pelo
sistema a retirar uma senha logo ao entrar no estabelecimento.
Os benefícios desta ferramenta é a maior percepção dos clientes quanto à
organização do atendimento fornecido pelo estabelecimento. Maior conforto, pois, ao retirar
uma senha, os clientes podem esperar sentados para serem atendidos, não havendo a
necessidade de espera em filas, gerando, conseqüentemente, o aumento da satisfação dos
usuários.
É importante salientar ainda quanto aos benefícios, à melhoria do ambiente de
trabalho para os atendentes, devido a conseqüente redução das reclamações sobre o
atendimento, mantendo o foco da equipe no atendimento aos clientes.
O funcionamento desse instrumento é extremamente simples, e se operacionaliza da
seguinte maneira: Os controles de chamada são instalados nos guichês dos atendentes e
quando estes estão disponíveis para o atendimento, pressionam seu controle mudando a
senha no painel e emitindo um sinal sonoro para próximo cliente.
O número do guichê do atendente livre é mostrado no painel, indicando qual caixa o
cliente deve se dirigir. Os próximos usuários poderão acompanhar a seqüência da senha a
ser atendida.
1.3.3. Painel industrial
Os painéis industriais são dispositivos desenvolvidos para facilitar a comunicação e as
informações para os funcionários e clientes de empresas, estabelecimentos comerciais ou
órgãos públicos na utilização dos seguintes sistemas:
16
a.) Sistema integrado de informação:
É um sistema desenhado para transmitir informações como, prevenção de acidentes
de trabalho, organização, eventos, índices de desempenho da empresa e demais avisos.
Os benefícios desse sistema são diversos como a transmissão de mensagens que
orientam e incentiva o uso dos equipamentos de segurança, a divulgação de normas, de
taxas de acidentes e alertas sobre os riscos de procedimentos incorretos. Outro importante
benefício é a melhoria da comunicação interna e a informação em tempo real para cada
setor.
O funcionamento desse sistema é simples e não requer mão-de-obra especializada
para operação, as informações são divulgadas através de painéis conectados ao
computador através de um software dedicado para edição de textos, retransmitindo a
informação para os funcionários da empresa.
b.) Sistema de controle de carga:
O Sistema de Controle de Cargas é um sistema que visa informar a frota de veículos
em espera no pátio da empresa, através de painéis eletrônicos instalados em pontos
estratégicos e conectados aos computadores em rede da empresa, melhorando o tempo do
fluxo de carregamento, descarregamento e conseqüentemente os números dos índices de
qualidade.
Esse sistema possibilita maior organização, qualidade, agilidade e segurança na
logística da empresa, além de transmitir mensagens educativas e informativas sobre o
ambiente de trabalho.
1.3.4. Painel terminal de passageiros
Os painéis de terminais de passageiros são sistemas de informação e comunicação
aos usuários de aeroportos, estações rodoviárias e metroviárias, disponibilizando
informações atualizadas, seguras e acessíveis de pousos e decolagens de vôos, partidas e
chegadas de ônibus e metrôs.
Os benefícios desse sistema estão em informar o destino e a origem, os horários de
partidas e chegadas de vôos, ônibus e metrôs, em ambiente totalmente automatizado e
confiável, além de permitir o processamento estatístico dos dados disponíveis no sistema,
facilitar emissões de relatórios e monitorar as tarefas operacionais, por meio da intranet.
17
As características técnicas desse sistema são evidenciadas quando da atualização
das informações através de um software dedicado em conjunto com o sistema de logística e
banco de dados. O sistema opera em ambientes informatizados de rede/Internet e tem
dimensões e recursos variáveis, podendo ser facilmente configurados de acordo com as
características de cada terminal. Não requer mão-de-obra especializada para operação.
1.3.5. Painel eletrônico de votação
Os painéis eletrônicos de votação são sistemas de informação e comunicação usados
nos trabalhos legislativos em plenário e câmaras, proporcionando transparência e agilidade
aos processos de votação.
Os benefícios desse sistema é a automatização da edição e execução de pautas,
informar em tempo corrente “on line” as votações e tendências, fornecendo maior
transparência nas votações, além do registro e controle das presenças dos funcionários a
fim de permitir o processamento e emissões de relatórios.
1.3.6. Painel eletrônico esportivo
Os painéis eletrônicos para centros esportivos, também conhecidos como placares
eletrônicos são utilizados para monitorar, informar e comunicar o andamento do evento
esportivo realizado, dentre as mais diversas modalidades esportivas.
A automatização das informações relativas ao andamento do evento esportivo e a
transmissão e agilidade das informações para os espectadores são os principais benefícios
deste sistema, além de permitir a transparência na monitoração dos jogos, agregando
estética e modernidade ao ambiente, como ginásios e estádios.
1.3.7. Painel de bolsa de mercadorias ou ações
Os painéis de bolsa de mercadorias ou ações são dispositivos que visam transmitir
informações, cotações, tendências aos usuários nas negociações de seus produtos, ações
ou mercadorias.
Tal sistema aumenta a efetividade e produtividade das negociações, automatizando e
trazendo informações com transparência e em tempo real do andamento das bolsas de
negócios e melhor organização das informações.
18
1.4. Relógios digitais
Os relógios digitais e termômetros são painéis eletrônicos com dupla funcionalidade,
pois além de transmitir informações úteis às pessoas, como calendário, temperatura, hora
certa, avisos, realiza a propaganda da empresa patrocinadora.
Os relógios digitais são fabricados com tecnologias de emissão ou reflexão de luz,
com ótima visibilidade diurna e noturna. São equipamentos de baixo consumo de energia
uma vez que utilizam energia disponível da rede pública e operam com baterias reservas no
caso da falta de energia.
1.5. Outdoor eletrônico
Os outdoors eletrônicos são equipamentos com objetivo de transmitir informações,
propagandas, vinhetas e mensagens ao público. São geralmente instalados em fachadas,
marquises de edifícios, shoppings centers, lugares onde exista melhor visibilidade e
impacto.
Alguns outdoors possuem tecnologia de ponta como plasma ou luzes coloridas e
capazes de transmitir filmes em tempo real. Em regra informam, sinalizam e destacam o
nome da empresa de maneira clara e objetiva, podendo o público associar o serviço à
tecnologia usada.
1.6. Introdução ao projeto
A presente pesquisa compõe-se de duas partes, a teórica e a técnica,
instrumentalizando-se em uma grande ferramenta futuramente, tendo em vista o baixo
custo, pois com multiplexação e outras ferramentas de otimização pode-se distribuir a
utilização de energia, e ainda fazer uma economia com relação à compra de componentes
eletrônicos, outro fator de interesse é o aproveitamento da computação tão comum no nosso
dia a dia para esta finalidade.
O estudo de teorias e fundamentos de microcontroladores, multiplexação de sinais,
estudos de eletrônica, telecomunicações e aplicações de princípios físicos é de fundamental
importância para a pesquisa.
Todavia, antes de adentrar ao assunto propriamente dito, qual seja o funcionamento
do circuito, é necessário entender um pouco a respeito do princípio “fisiológico” e
“psicológico” no qual o projeto se apóia: a persistência retiniana e o fenômeno Phi.
19
1.6.1. Persistência retiniana e fenômeno phi
A definição de persistência retiniana é a capacidade que a retina possui de reter a
imagem por cerca de 1/20 a 1/5 segundos após seu desaparecimento do campo de visão.
Foi definido em 1.824 Peter Mark Roget, mas já era conhecido desde o antigo Egito.
Este fenômeno fisiológico por muitos anos era tido como o responsável pela síntese do
movimento, mas, concluiu-se que ele é um obstáculo á formação das imagens animadas,
pois tende a sobrepor as imagens na retina, misturando-as.
Pode-se exemplificar tal fenômeno com o cinema: com a inserção de um intervalo
“negro” entre a projeção de um fotograma para outro, permite-se diminuir a imagem
persistente que ficava retida pelos olhos, ao mesmo tempo em que não se percebe o
intervalo negro.
Todavia, este movimento é explicado através de um fenômeno psíquico e não óptico
ou fisiológico, como se pensava. Destarte, o fenômeno psíquico faz uma “ponte” mental
entre as figuras estáticas expostas dando a impressão que as imagens paradas fiquem em
movimento, isto é, se os olhos captam duas imagens em diferentes posições uma após a
outra e com pequenos intervalos de tempo, o cérebro capta a primeira imagem em
movimento em relação à segunda. Tal fenômeno foi definido por Max Wertheimer e Hugo
Musterberg entre 1912 e 1916, como fenômeno Phi.
Tendo-se como base este princípio é possível através de pontos em movimento criar a
ilusão de uma imagem em movimentação ou vice versa, utilizando-se de pequenos
intervalos de tempo para cada montagem ou acendimento dos leds. O intervalo “negro” é
feito com o “desligar” momentâneo dos leds e o giro do motor do projeto (painel / banner).
Com a apropriação de tais conceitos pode-se dar seqüência ao estudo do projeto,
dessa forma, utilizando-se de microcontroladores e seus recursos de programação
juntamente com o conceito de persistência retiniana e outras teorias da física, além de
determinado componentes eletrônicos, podemos implementar um painel visual barato,
flexível e de fácil programação.
Para total compreensão da pesquisa, insta esclarecer ainda o conceito de persistência
retiniana, o qual consiste em um fenômeno ocorrido no olho humano em que pela visão de
algum objeto, a imagem persiste na retina por uma fração de segundo após a sua
percepção, aproximadamente 1/24 segundos. Assim, imagens projetadas a um ritmo
superior a 16 por segundo, juntam-se na retina sem interrupção.
Como vimos anteriormente, o movimento Phi ou fenômeno Phi é uma ilusão de óptica,
ou seja, um fenômeno psíquico, descrito por Max Wertheimer, o qual nega que a sensação
de movimento seja causada por uma sucessão de imagens paradas.
20
Este autor descobriu que um fenômeno de ordem psíquica ocorre quando duas
imagens são expostas aos olhos humanos em diferentes etapas, uma após a outra e com
pequenos intervalos de tempo, sendo que a percepção é somente em relação a um único
estímulo que se move da primeira etapa para segunda.
Alguns autores consideram um engano comparar o fenômeno Phi com o da
persistência retiniana, pois seriam duas análises, com interpretações diferentes, do mesmo
fenômeno. Porém o fenômeno Phi não invalida o da persistência retiniana, cujo fenômeno é
psíquico e não físico, podendo ser ainda considerado um fenômeno complementar, ao qual,
a sensação é idêntica ao da persistência retiniana.
1.6.2. Computação e microcontroladores
Atualmente quando se fala em computação à primeira imagem que vem à mente da
maior parte da população é aquela “figura” do homem sentado em frente ao seu “desktop”
computador (PCs), Internet, impressora, etc.
Para os indivíduos que possuem um pouco mais de conhecimento além do que foi
escrito acima se devem citar também as linguagens computacionais como Java, C++, C,
Delphi, Pascal, Basic etc, os servidores, notebook, sistemas operacionais, antivírus,
webdesigner e etc.
Todavia não se pode ignorar a linguagem computacional presente no cotidiano não
relacionado diretamente ao microprocessador (computador) e seus periféricos, como é o
caso dos microcontroladores.
Os microcontroladores são circuitos integrados (CI) reprogramáveis, capazes de
armazenarem de pequenos a grandes programas, dependendo da necessidade do usuário,
além de dados de acordo com a otimização correlacionada.
O seu uso está a cada dia mais comum e pode se dar na execução de tarefas simples
e complexas agrega conforto e facilidade ao dia-a-dia, sendo perfeitamente adequado para
as mais variadas aplicações nos diversos setores, tais como, em residências, na instalação
de alarmes, de portões eletrônicos, de fechaduras elétricas, de máquina de lavar roupas, de
máquinas de lavar louças, geladeiras, microondas e com a conseqüente evolução do seu
uso poderá estar em um futuro bem próximo no controle total de uma casa.
Na área industrial existe uma ampla variedade de microcontroladores, os quais
viabilizam o desenvolvimento de soluções personalizadas, adequando-se a diversas
aplicações tais como, por exemplo, em sensores, robôs, aviões, radares, arsenal bélico,
coletores de dados, máquinas, bancadas, testadores, esteiras, etc.
21
No setor de comércio, a sua aplicação se dá em lojas, elevadores, sistemas de
segurança, cartões inteligentes, interfaces de sistemas, cancelas, etc.
O baixo consumo de energia do microcontrolador, vez que se utiliza até de baterias e
a flexibilidade de reprogramação consiste em imensas vantagens para a utilização e
aprimoramento desse programa.
Os profissionais que desenvolvem aplicações baseadas neste componente
normalmente utilizam à linguagem assembly para o desenvolvimento dos seus programas.
Entretanto, atualmente existem outras opções utilizando linguagem de alto nível como
C, Pascal e BASIC, que possuem excelente custo-benefício no tempo de desenvolvimento e
facilidade de aprendizado. Nesse sentido, optou-se pela linguagem BASIC na elaboração
deste trabalho.
O BASIC é uma linguagem, que significa “Beginners All-Purpose Symbolic Instruction
Code”, criada por Kemeny e Kurtz em 1.963 com o objetivo de facilitar o ensino de
programação.
Foi uma linguagem muito difundida nos anos 80, reaparecendo recentemente como
uma linguagem de programação de alto nível. Estes códigos de instruções são muitos
utilizados pelos programadores nos projetos em que utilizam microcontroladores, juntamente
com a linguagem Pascal e C, por ser de fácil integração a editores, compiladores e
gravadores de PIC.
22
2. OBJETIVOS
O primordial objetivo da presente pesquisa é projetar e implementar um sistema de
texto em movimento criativo, de baixo custo e de fácil comercialização, combinando
funcionalidade e preço baixo.
Para o alcance da finalidade do projeto é essencial a pesquisa e o uso da tecnologia
dos microcontroladores juntamente com a teoria da multiplexação e algumas leis da física.
Igualmente importante se faz o aproveitamento da inércia visual humana, a fim de criar
ilusão espacial, onde os caracteres parecem que estão flutuando no espaço.
Fundamentais para o desenvolvimento do projeto os estudos da tecnologia envolvida
nos microcontroladores, programação e gravação dos mesmos, estudos dos princípios
“fisiológicos” e também “psicológicos”, nos quais o instrumental se apóia: persistência
retiniana e o fenômeno Phi além de outras teorias da física.
Além disso, serão necessários estudos e pesquisas na área de eletrônica e de
telecomunicações, para por fim realizar a aplicação de conceitos teóricos adquiridos em
diversas matérias de forma prática e eficiente.
23
3. METODOLOGIA
Esse trabalho foi elaborado conforme a metodologia descrita a seguir:
1. Levantamento bibliográfico:
Nesta etapa foi realizados, pesquisas em livros, sites da internet, artigos e revistas técnicas
sobre os painéis de mensagens, meios de comunicação e microcontroladores.
2. Estudo sobre microcontroladores:
Foi realizado um estudo sobre conceitos, definições sobre microcontroladores, sua função,
bem como suas vantagens e desvantagens.
3. Levantamento de produtos existentes:
Foi realizada uma pesquisa buscando os produtos existentes no mercado no que dizem
respeito aos painéis visuais e meios de comunicação do mercado e suas funções e
características.
4. Estudo detalhado dos softwares:
Foram realizados estudos sobre os editores, compiladores, programadores e gravadores
existentes no mercado, bem como seu funcionamento e vantagens e desvantagens. Para a
escolha posterior.
5. Experimentos computacionais:
Nesta etapa foram realizados testes práticos, verificando o desempenho dos softwares,
firmwares e hardware do painel visual usando microcontroladores.
6. Desenvolvimento do Projeto:
Desenvolvimento protótipo, onde foram realizados testes e implementação e o levantamento
dos elementos necessários para a concepção do mesmo.
6. Resultados:
Foram descritos os resultados obtidos e os esperados da implementação do projeto e seus
benefícios.
7. Monografia:
Escrita da monografia foi desenvolvida desde o decorrer dos estudos dos painéis e meios de
comunicação e o início do levantamento dos softwares, firmwares e programas continuidade
na mesma com o decorrer dos estudos.
24
3.1. Cronograma
Abaixo podemos observar detalhadamente todas as etapas do cronograma da
a elaboração da monografia e juntamente com a execução do projeto com e
apresentação final do trabalho de graduação do curso:
Jun./2007 – Discussão do tema da pesquisa com o professor orientador;
Ago./2007 – Realização do plano de estudo junto ao coordenador do curso;
Ago./2007 – Anteprojeto consensuado / assinado / atualizado junto ao orientador;
Ago./2007 – Entrega do anteprojeto no núcleo de estágio;
Ago./2007 – Revisão do TCC / Objetivos do Projeto;
Ago./2007 – Introdução ao tema;
Ago./2007 – Revisão Bibliográfica;
Set./2007 – Pesquisas / Estudos;
Set./2007 – Início do TCC com embasamento teórico;
Set./2007 – Descrição do projeto;
Out./2007 – Início do Projeto / Discussão com o orientador;
Nov./2007 – Resultados / Conclusão e Revisão Bibliográfica;
Dez./2007 – Anexos / Fluxogramas;
Dez./2007 – Desenvolvimento da apresentação em PowerPoint;
Dez./2007 – Entrega do TCC-2 no núcleo de estágio;
Dez./2007 – Apresentação do resultado parcial do TCC-2;
Fev./2008 – Pesquisas / Estudos;
Mar./2008 – Implementação do projeto e do programa;
Mar./2008 – Programa Comentado / Revisado;
Abr./2008 – Entrega do protótipo do projeto;
Maio/2008 – Ajustes / Funcionamento do projeto;
Jun./2008 – Entrega do projeto ao orientador;
Jun./2008 – Entrega do TCC-3 no núcleo de estágio;
Jun./2008 – Apresentação Final.
25
A tabela 01 corresponde ao cronograma das atividades no desenvolvimento do
projeto:
Atividade / Data Jun Ago Set Out Nov Dez Jan Fev Mar Abr Mai Jun
Escolha do tema
Plano de Estudo
Início do Anteprojeto
Revisão Anteprojeto
Avaliação do Anteprojeto
Entrega do Anteprojeto
Início do TCC
Pesquisas / Estudos
Entrega do TG2
Apresentação - TG2
Avaliação - TG2
Implementação / prática
Testes
Melhorias
Entrega do TG3
Apresentação - TG3
Avaliação - TG3
Índice
Fechado
Andamento
Atrasado TABELA 01:- Cronograma das ações na realização do projeto
26
4. PROJETO
O presente projeto visa, através da utilização do microcontrolador no painel visual,
transmitir informações, propagandas e mensagens de forma criativa e atrativa, gerando
impacto visual nas pessoas que o observarem. O painel visual rotativo está dividido em três
partes básicas: hardware, software e firmware que serão descritos detalhadamente ao longo
do trabalho.
4.1. Hardware
O hardware compõe as partes físicas, concreta e visual do projeto, consiste na
estrutura onde estarão acondicionados os componentes eletrônicos responsáveis pela
sustentação, proteção e ligações eletrônicas.
Divide-se em três partes: painel IR-RX, placa de interface IR-TX e gravador PIC. A
placa de interface IR-TX é responsável por capturar os dados digitados no computador pelo
usuário e enviá-los via infravermelho ao painel IR-RX, que por sua vez é responsável por
“plotar” os dados no painel visual. O gravador é o hardware responsável pela gravação dos
microcontroladores - PIC. Segue o diagrama explicativo a seguir:
A figura 01 corresponde ao diagrama geral consolidado do projeto:
27
FIGURA 01:- Diagrama explicativo do projeto consolidado
a.) PIC16F628A:
O microcontrolador escolhido foi o PIC16F628A, fabricado pela Microchip Technology
disponível em: http://ww1.microchip.com/downloads/en/DeviceDoc/40044F.pdf, e por se
tratar de um microcontrolador de baixo custo.
O microcontrolador escolhido reúne os mesmos recursos do PIC16F84, com
encapsulamento e pinos compatíveis, invariavelmente não requer nenhuma alteração de
hardware em um upgrade ou substituição. Segue as características do PIC16F628A:
- 18 pinos;
- 35 instruções;
- Memória tipo flash 2048 palavras (1 palavra 32 bits);
- 224 bytes de memória RAM;
-128 bytes de memória EEPROM;
- 8 bits por endereço de memória;
- 16 pinos para entrada e saída;
- outras características como comparador interno, clock interno, WDT, proteção, etc.
PAINEL IR-RX
PROPELLER PIC-1
PLACA IR-TX
SINAL INFRA PIC-2
VIA SERIAL
INTERFACE EDITOR DE
TEXTO VIA SERIAL
GRAVADOR PIC “JDM” ICPROG
SERIAL
INFRAVERMELHO
28
A figura 02 mostra o layout e encapsulamento do PIC16F628A:
FIGURA 02:- Layout do PIC16F628A
FONTE: Disponível em: http://ww1.microchip.com/downloads/en/DeviceDoc/40044F.pdf
4.1.1. Hardware parte 01: Painel visual IR-RX “propeller”
O hardware do painel IR-RX é o ponto principal do projeto, onde será “plotado” /
mostrado a mensagem que se deseja que o público visualize, destarte é responsável por
receber o sinal enviado pela placa interface IR-TX - o outro hardware do projeto - e executar
as devidas tarefas para “plotagem” da mensagem. É esse hardware que projetará a imagem
onde será observado o resultado final do projeto.
É composto por: uma haste giratória, estrutura de madeira, fonte 12V, chave liga-
desliga do motor, imã e um motor CC. O destaque deste hardware é a haste giratória,
confeccionada de placa padrão / universal é também aproveitada na ligação do circuito
eletrônico e sustentação dos componentes contidos nela, como, por exemplo, pilha, fios, 7
leds de alto brilho, resistores, bateria, sensor infravermelho, capacitores, reed switch,
regulador de tensão - LM7805 e obviamente o microcontrolador PIC16F628A.
O circuito da haste é alimentado por uma bateria de 12V tipo 23AE, em conjunto com
o regulador de tensão LM7805, que possibilitará a estabilidade e a tensão correta para
alimentação de determinados componentes, como por exemplo, para o microcontrolador -
PIC.
29
A pilha está acoplada na placa do circuito, e também será aproveitada para realizar o
balanceamento da rotação da haste, a fim de minimizar os efeitos dos solavancos e
conseqüentemente evitar possíveis danos ao circuito.
Desta forma, a haste é presa no eixo do motor, que por sua vez, é fixado na estrutura
de madeira e alimentado por uma fonte de tensão 12V. Durante o funcionamento do circuito,
com a haste parada, observam-se os leds ascendendo e apagando, contudo ainda não se
pode visualizar qualquer mensagem, porém assim que a haste começa a girar, a mensagem
por trás dos leds se decodifica, devido aos princípios da persistência retiniana.
A rotação do motor influencia diretamente nos caracteres “plotados” no painel, pois
quando em rotação maior da haste, os caracteres ficam mais longos, e em rotação menor,
os caracteres ficam mais curtos. Fato este de extrema importância, vez que dependendo da
rotação / alimentação do motor, a leitura da mensagem poderá ficar impossibilitada.
O microcontrolador - PIC deste circuito será programado (firmware) para monitorar um
sinal codificado em seu port A1 - pino 18 - através do sensor infravermelho, e uma vez
recebido este sinal, o PIC fará uma tratativa interna de decodificação, e enviará os sinais
aos leds - polarizados pelos resistores – nos seus ports RB0 a RB6 para “plotar” a
mensagem, esta mensagem ficará escrita até que outro sinal / mensagem seja recebido.
Caso um novo sinal não seja recebido, o microcontrolador continuará a exibir a mesma
mensagem nele gravada e identificada anteriormente, ficando em ‘loop’, a monitorar novo
sinal, e caso não identificado, a escrever a mensagem anterior.
Este fato é devido ao programa no PIC gravado e em virtude da estrutura do projeto,
pois a haste possui um sensor reed switch fixado na sua placa, que ininterruptamente
quando completa a volta passa pelo campo magnético do imã fixado na estrutura de
madeira, enviando um pulso para o port A0 - pino 17 (RA0) – executando o PIC novamente
sua tarefa, assim sucessivamente, do que se percebe que sempre teremos o sinal de
sincronismo do circuito.
O sinal utilizado é o infravermelho, o circuito do painel possui um sensor capaz de
identificar e receber este sinal e enviá-lo ao PIC, não há a necessidade de uma tratativa
especial para este sinal, pois o microcontrolador possui robustez e confiabilidade para tratá-
lo. Este sinal é composto por um vetor com os códigos que serão interpretados pelo
programa (firmware) dedicado ao painel.
Segue o exemplo do firmware desenvolvido para a apresentação do TG2, onde fora
apresentada a mensagem “FAJ TCC – 2”, ao qual podemos interpretar claramente a rotina
do circuito, alinhando o delay do circuito para que possamos notar a mensagem e assim
aproveitando os efeitos da persistência retiniana.
30
Nota-se que a seqüência dos caracteres está invertida justamente para se obter o
efeito de uma palavra acima, no sentido horário, e outra abaixo, no anti-horário. FAJ – 2
CCT. A figura 03 corresponde ao programa explicativo do funcionamento do projeto:
'*********************************************************************************
'* Author : Danilo Costa *
'* Notice : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 08/12/07 *
'* Version : 1.0 *
'* Notes : 16F628A daniloblick *
'******************************************************************************** *
'Definição das variáveis e declarações
CMCON = 7 'DEFINE PORTA COMO DIGITAL (COMP. ANAL. :OFF)
TRISA.1 = 1 'PORTA.1 COMO ENTRADA P/ RECEPTOR IR
TRISA.2 = 1 'PORTA.2 COMO ENTRADA P/ SENSOR MAGNÉTICO / REED
TRISB = %00000000 'SETA TODOS OS PINOS COMO SAÍDA
OPTION_REG = $7f 'HABILITA PULLUP DO PORTB
DELAY CON 600
PORTB = 0 'ZERA PORTB
'ROTINA PRINCIPAL
INICIO:
if PORTA.2 = 0 then MSG
GOTO INICIO
MSG:
PORTB = %01111111 'F
PAUSEUS DELAY
PORTB = %01001000
PAUSEUS DELAY
PORTB = %01001000
PAUSEUS DELAY
PORTB = %01001000
PAUSEUS DELAY
PORTB = %01000000
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00111111 'A
PAUSEUS DELAY
PORTB = %01001000
PAUSEUS DELAY
31
PORTB = %01001000
PAUSEUS DELAY
PORTB = %01001000
PAUSEUS DELAY
PORTB = %00111111
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000110 'J
PAUSEUS DELAY
PORTB = %00000001
PAUSEUS DELAY
PORTB = %00000001
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01111110
PAUSEUS DELAY
PORTB = %01000000
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %01100111 '2
PAUSEUS DELAY
PORTB = %01001001
PAUSEUS DELAY
PORTB = %01001001
PAUSEUS DELAY
PORTB = %01001001
PAUSEUS DELAY
PORTB = %01110011
PAUSEUS DELAY
32
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000000 '-
PAUSEUS DELAY
PORTB = %00010000
PAUSEUS DELAY
PORTB = %00010000
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000001 'C
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01111111
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000001 'C
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01000001
PAUSEUS DELAY
PORTB = %01111111
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
PORTB = %00000001 'T
PAUSEUS DELAY
PORTB = %00000001
33
PAUSEUS DELAY
PORTB = %00000001
PAUSEUS DELAY
PORTB = %01111111
PAUSEUS DELAY
PORTB = %00000001
PAUSEUS DELAY
PORTB = %00000001
PAUSEUS DELAY
PORTB = %00000001
PAUSEUS DELAY
PORTB = %00000000
PAUSEUS DELAY
GOTO INICIO
'----------------------------------------------------------------------------------------------------------------
FIGURA 03:- Programa em linguagem Basic do Painel FAJ TCC-2
As figuras 04, 05 e 06 correspondem os detalhes da haste, dos leds e do circuito
controlador do hardware do painel visual IR-RX “propeller”:
FIGURA 04:- Hardware painel visual IR-RX “propeller”
34
FIGURA 05:- Leds de alto brilho
FIGURA 06:- Circuito do microcontrolador / IR
35
A figura 07 corresponde ao esquema elétrico do painel IR-RX:
FIGURA 07:- Esquema elétrico do painel IR-RX
b.) Lista dos componentes do circuito do painel IR-RX
7 leds de alto brilho
1 PIC16F628A
7 resistores de 360Ω 1/8 watts
1 resistor de 10KΩ 1/8 watts
1 regulador de tensão 7805
1 bateria
1 fonte 12V
1 Motor CC
1 Sensor IR-RX - infravermelho
1 Reed switch
1 Chave tipo pino
1 Imã
Placa, fios, sustentação de madeira, solda etc.
A figura 08 mostra o diagrama do projeto painel IR-RX:
IR
36
FIGURA 08:- Diagrama de bloco do painel IR-RX
4.1.2. Hardware parte 02: Placa interface IR-TX
O hardware da placa de interface para envio do sinal IR-TX é um circuito eletrônico
que ligado ao computador é capaz de receber a mensagem escrita pelo usuário, através de
um software dedicado, e enviar o sinal codificado para o painel de mensagem.
O circuito é composto por diversos componentes eletrônicos, a saber, placa, fios, 2
leds simples, resistores, fonte 9V, IR infravermelho, capacitores, cristal 4 MHz, conector
DB9, transistor BC548, sensor IR-TX - infravermelho, chave tipo ‘push-boton’, conector, fio
tipo telefone e por fim, o PIC16F628A.
O circuito é alimentado por uma fonte de 9V, em conjunto com o regulador de tensão
LM7805 que possibilitará a estabilidade e a tensão correta para alimentação de
determinados componentes, como por exemplo, o PIC. Possui ainda um ‘led’ verde para
indicação da alimentação do circuito (circuito ligado).
O PIC deste circuito será programado (firmware) para monitorar um sinal na porta
RB1, proveniente da porta serial “RS232”, para extraí-lo será usado um cabo comum de
PIC
-16
F82
8A PILHA
SENSOR IR - RX
LED 02
LED 03
LED 04
LED 05
LED 07
LED 06
LED 01
FONTE 12V MOTOR
EIXO
HA
ST
E
Reed Switch
LM7805
Chave liga-desl.
37
telefone, onde em uma das extremidades será ligado num conector DB9 macho no pino
terra - pino 5 - e outro no sinal - pino 3, sendo que na extremidade oposta estará um
conector de telefone macho conectado à placa do circuito através de um outro conector tipo
fêmea.
Quando detectado o sinal, o PIC fará uma tratativa interna (decodifica) e executará
sua tarefa programada, ou seja, enviará o sinal ao painel IR-RX propeller, através do port
RB7 - pino 13 - que polarizará o transistor BC548 emitindo assim o sinal trabalhado ao
transmissor do sinal infravermelho.
Percebe-se que o envio deste sinal da porta serial através do ‘led’ amarelo ligado no
pino 10, indicará o envio do sinal vindo do microcomputador e também o funcionamento do
programa (firmware) da placa.
Deve-se ressaltar que o transmissor infravermelho IR utilizado opera na freqüência de
36 KHz tornando o circuito estável e imune à interferência externa. Para este hardware não
será usado o oscilador interno do PIC, mais sim um cristal oscilador de 4 MHz, pois dará
mais estabilidade para o sinal, e será ligado à porta 15 e 16 junto com os capacitores
(conforme o diagrama elétrico).
As figuras 09 e 10 correspondem os detalhes da placa do circuito controlador do
hardware placa interface IR-TX.
FIGURA 09:- Hardware da placa interface IR – TX
38
FIGURA 10:- Ligação do cabo serial
A figura 11 corresponde ao esquema elétrico da Placa de sinal IR-TX:
FIGURA 11:- Esquema elétrico da placa interface IR-TX
a.) Lista dos componentes do circuito da placa interface IR-TX:
2 leds simples
1 PIC16F628A
2 resistores de 360Ω 1/8 watts
1 resistor de 1KΩ 1/8 watts
1 resistor de 22KΩ 1/8 watts
39
1 cristal 4M
1 conector DB9
1 transistor BC548
1 Sensor IR-TX - infravermelho
1 Chave tipo push-boton
2 capacitores de 33pf
1 conector e fio tipo telefone
Placa, fios, sustentação de madeira, solda etc.
A figura 12 abaixo corresponde ao diagrama do projeto da placa interface IR-TX:
FIGURA 12:- Diagrama de bloco da placa interface IR-TX
4.1.3. Hardware parte 03: Gravador PIC JDM
O hardware de gravação do microcontrolador – PIC utilizado neste projeto é o
gravador JDM, sua função é realizar a gravação do programa, ou seja, converter, organizar
os dados recebidos pelo microcomputador e inserir as instruções em linguagem de máquina
no microcontrolador, onde os dados serão armazenados.
Este hardware foi desenvolvido por JDM (Jens Dyekjær Madsen) disponível em:
http://www.jdm.homepage.dk/newpic.htm, sua comunicação com o microcomputador realiza-
se através dos sinais da porta serial (RS232). Desta forma, a gravação é realizada
PC/ MICRO
PIC
-16
F82
8A
SAÍDA SERIAL
DB9
LED
LED
IR - TX
CRISTAL 4MHZ
FONTE 12V
BC548
CHAVE RESET
LM7805
40
serialmente, utilizando os dados codificados pelo programador IC-PROG - sinal hexadecimal
– que codificarão em impulsos elétricos seriais para possibilitar a transferência dos códigos
para a memória interna do PIC.
Os níveis de tensão e os pulsos eletrônicos da porta serial poderão ser aproveitados,
caso o projeto utilize alimentação externa de fonte de tensão com voltagem entre 13V e
15V, para gerar os sinais / comandos no pino 5 – MCLR (memory clear) necessários à
gravação do microcontrolador PIC.
Esclarece-se que no projeto faz-se uso do diodo zener para controlar as tensões nos
pinos “SDA” e “SDL” e na alimentação do PIC. O gravador JDM (ou ludipipo) foi uma
adaptação do gravador PICSTART da Microchip, o qual se tornou bastante popular.
A figura 13 mostra os detalhes da placa do circuito do gravador PIC JDM.
FIGURA 13:- Hardware gravador JDM
41
A figura 14 corresponde ao esquema elétrico do gravador JDM:
FIGURA 14:- Esquema elétrico do gravador JDM
FONTE: Disponível em: http://www.jdm.homepage.dk/newpic.htm
a.) Lista dos componentes do circuito gravador PIC JDM:
1 resistor de 10KΩ 1/8 watts
1 resistor de 1,5KΩ 1/8 watts
1 diodo 1N4148 ou 1N4448
4 diodos 1N4448
1 diodo zener 5,1V, ½ watts
1 diodo zener 8,2V, ½ watts
1 capacitor eletrolítico de 100 µf 25V
1 capacitor tântalo de 22 µf ou 47µf 16V
2 transistores BC547B NPN
1 conector para o PIC;
1 conector DB25, serial
1 conector e fio tipo telefone
Placa, fios, solda etc.
42
5. PROGRAMAS
Os programas estão divididos em duas partes: firmwares e softwares. Os firmwares
são os programas desenvolvidos para as instruções dos microcontroladores – PIC, já os
softwares são as ferramentas utilizadas para edição, compilação e programação dos
microcontroladores – PIC, além do envio e recebimento de dados “RS232” da porta serial.
Os softwares utilizados no projeto são "free", quais sejam: Microcode Studio, PICBASIC
PRO 2.47 e ICPROG 1.06A e RcomSerial.
5.1. Firmware
Os firmwares consistem em programas contidos internamente nos PIC’s, ou seja, são
os dados (seqüência em códigos de máquina) gravados no PIC para realização de uma
determinada tarefa. Portanto teremos os firmwares divididos em duas partes: um firmware
para os microcontroladores-PIC do painel visual IR-RX propeller e outro para a placa
interface IR-TX serial.
5.1.1. Firmware parte 01: Painel IR-RX “propeller”
O firmware / programa do painel IR-RX trata o sinal recebido da placa IR-TX e
disponibiliza as informações para que o PIC execute a tarefa atribuída, conseqüentemente
"plota" a mensagem que o público irá visualizar.
O funcionamento do firmware está descrito no programa através dos comentários
inclusos, porém os comandos serão detalhadamente descritos. Em primeiro lugar, está o
cabeçalho do programa, onde consta o nome do autor e diversas informações como direitos,
cópia controlada, data, versão e outros comentários.
O cabeçalho é pré-definido e inserido automaticamente pelo software editor Microcode
Studio, conforme a figura 15:
43
FIGURA 15:- Cabeçalho Microcode Studio
FONTE: Microcode Studio - Disponível em: http://www.picbasic.com/resources/win_ide.htm#Studio
Os includes permitem acessar sub-rotinas, definições ou outros arquivos que
desejamos manter separado do programa, neste circuito estamos utilizando o include
"Modedefs.Bas", que é uma sub-rotina / programa desenvolvido por Leonard Zerman,
Jeffrey Schmoyer “Copyright (c) 2001 microEngineering Labs, Inc. All Rights Reserved”, o
qual permite definir a velocidade da taxa de transmissão dos dados do sinal serial.
Alguns programadores, como o IC-PROG, possuem janelas para habilitar ou
desabilitar os fusíveis / características no momento da programação do microcontrolador.
Como nem todos os programadores possuem esta característica, a opção para contornar
este problema é definir diretamente no programa, através dos símbolos “@ device” e o
comando desejado, como por exemplo, na figura 16:
FIGURA 16:- Exemplo da estrutura do uso dos devices
A seguir serão definidas as configurações das portas e as variáveis, como por
exemplo, a variável D, que guardará os dados do vetor recebidos da interface IR-TX. O
44
programa irá iniciar com uma pausa de 500 micros segundos e após rápido sinal (ascender
dos leds) o painel mostrará o funcionamento do microcontrolador, e em seguida a esta
mensagem o painel mostrará os símbolos definidos '???', indicando que esta pode ser
enviada, caso não haja o recebimento, ficará em ‘loop’.
Na rotina ‘Main’ utiliza-se “for” de 0-29, definidos para receber os dados na velocidade
de transmissão de 2400, estes dados são compostos pelos dados de IR_ID = 1 (chip select),
pelo código de sincronismo IR_Rcv (“#OK”) e pelos dados IR-TX - uma palavra de 6
caracteres.
A função da rotina ‘inicio’ é iniciar a rotina ‘MSG’ quando detectado um de nível baixo
no port A2 que irá iniciar a mensagem. A rotina ‘MSG’ é utilizada para incrementar o dado e
assim proporcionar a corrida da mensagem no painel, possuindo ‘for’ com as funções
‘LOOKUP’ das variáveis para o uso do vetor na "plotagem" da mensagem.
Por fim, há o retorno do programa e o ‘reset’ das variáveis. Em anexo encontram-se os
detalhes das funções como definido na ajuda retirada do “help topics” do software Microcode
Studio ou disponível no site http://www.picbasic.com.br/man_port.pdf. Como podemos
verificar nas figuras 17 e 18 abaixo.
FIGURA 17:- Instrução do uso do comando LOOKUP2
FONTE: Disponível em: http://www.picbasic.com.br/man_port.pdf
45
FIGURA 18:- Instrução para ativar a velocidade da taxa de transmissão serial
FONTE: Disponível em: http://www.picbasic.com.br/man_port.pdf
46
A figura 19 a seguir corresponde ao programa explicativo do funcionamento do
programa painel visual IR-RX:
'Program Daniloblick_IR-RX.BAS
'*********************************************************************************
'* Author : DANILO COSTA *
'* Notice : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 20/06/08 *
'* Version : 5.0 *
'* Notes : 16F628A daniloblick *
'* REED SWICHT COMO SENSOR E IR P/ RECEBER MSG *
'*********************************************************************************
'------------------------------------------------------------------------------------------------
Include "Modedefs.Bas"
'Define CHAR_PACING 1000
'Device Programming Options
@ DEVICE pic16F628a, INTRC_OSC_NOCLKOUT ' System Clock Options
@ DEVICE pic16F628a, WDT_OFF ' Watchdog Timer
@ DEVICE pic16F628a, PWRT_OFF ' Power-On Timer
@ DEVICE pic16F628a, BOD_OFF ' Brown-Out Detect
@ DEVICE pic16F628a, MCLR_OFF ' Master Clear Options (Internal)
@ DEVICE pic16F628a, LVP_OFF ' Low-Voltage Programming
@ DEVICE pic16F628a, CPD_OFF ' Data Memory Code Protect
@ DEVICE pic16F628a, PROTECT_OFF ' Program Code Protection
'Definição das variáveis e declarações
CMCON = 7 'DEFINE PORTA COMO DIGITAL (COMP. ANAL. :OFF)
TRISA.1 = 1 'PORTA.1 COMO ENTRADA P/ RECEPTOR IR
TRISA.2 = 1 'PORTA.2 COMO ENTRADA P/ SENSOR MAGNÉTICO
TRISB = %00000000 'SETA TODOS OS PINOS COMO SAÍDA
OPTION_REG = $7f 'ENABLE PORTB PULLUPS
PORTB = 0 'ZERA PORTB
'** Declare Variables **
DELAY CON 600
B0 VAR BYTE
B1 VAR BYTE
B2 VAR BYTE
B3 VAR BYTE
AUX VAR BYTE
I VAR BYTE
symbol IR = PORTA.1 'ENTRADA DO SINAL DE IR
47
IR_ID Var Byte
IR_Rcv Var Byte 'RECEIVED VALUE
D VAR BYTE[30] 'VETOR QUE GUARDARÁ DADOS RECEBIDOS DA INTERFACE_IR
PAUSE 500
b2 = 0
B3 = 29
aux = 0
portb = 127
pause 100
portb = 0
'?
D[0] = 48
D[1] = 64
D[2] = 69
D[3] = 72
D[4] = 48
D[5] = 0
D[6] = 0
D[7] = 0
D[8] = 0
D[9] = 0
D[10] = 0
D[11] = 0
D[12] = 48
D[13] = 64
D[14] = 69
D[15] = 72
D[16] = 48
D[17] = 0
D[18] = 0
D[19] = 0
D[20] = 0
D[21] = 0
D[22] = 0
D[23] = 0
D[24] = 48
D[25] = 64
D[26] = 69
D[27] = 72
48
D[28] = 48
D[29] = 0
Main:
FOR I = 0 TO 29
Serin2 IR,396,10000,INICIO,[ wait ("#OK"),IR_ID,IR_Rcv]
' RECEIVE THE DATA FROM THE IR-SENSOR
' AND SEARCH FOR THE THREE BYTE HEADER "#OK"
D[I] = IR_Rcv
NEXT
PORTB = 1
PAUSE 1000
PORTB = 0
INICIO:
if PORTA.2 = 0 then MSG
GOTO INICIO
MSG:
AUX = AUX + 1
IF AUX = 3 THEN INC_MSG
for B0 = B2 to B3
LOOKUP2
B0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,D[0],D[1],D[2],D[3],D[4],D[5],D[6],D[7],D[8],D[9],D[10],D[11],D[12],
D[13],D[14],D[15],D[16],D[17],D[18],D[19],D[20],D[21],D[22],D[23],D[24],D[25],D[26],D[27],D[28],D[29],0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],B1
PORTB = B1
pauseUS DELAY
PORTB = 0
next
goto INICIO
'-------------------------------------------------------------------------------
INC_MSG:
B2 = B2 + 1
B3 = B3 + 1
AUX = 0
IF B3 > 80 THEN RESET
GOTO INICIO
'-------------------------------------------------------------------------------
RESET:
B2 = 0
B3 = 29
AUX = 0
GOTO MAIN
'-------------------------------------------------------------------------------
FIGURA 19:- Programa em linguagem Basic do painel visual IR-RX
49
5.1.2. Firmware parte 02: Placa interface IR-TX
A função do firmware da placa interface IR-TX é receber o sinal da porta serial do
microcomputador (caracteres digitados pelo usuário), codificar e enviar para o painel IR-RX
propeller.
O programa do firmware da placa interface IR-TX segue o mesmo padrão do firmware
do painel IR-RX, com relação à estrutura do cabeçalho, declaração das variáveis, definições
e uso da sub-rotina ‘Modedefs.Bas’ além do uso do sinal serial RS232.
As diferenças estão em relação à função / sub-rotina do include "Irserout.Inc", o qual
tem a função de prover o padrão Sony na transmissão do sinal infravermelho e os códigos
de sincronismo (#OK) para o painel IR-RX. Este programa foi desenvolvido por Les.
Johnson, sendo que para a utilização do projeto com fins comerciais deve-se requisitar a
devida permissão, como descrito na figura 20 abaixo:
FIGURA 20:- Autor do programa IRSEROUT
Após a definição das funções básicas, o programa tem início com o comando ‘FOR’
para os ‘leds’ indicarem que o programa / PIC começou a funcionar, como a rotina ‘MAIN’
possui a função de reconhecer o sinal da serial do micro, no padrão 9600 invertido de
acordo com o serin2, verifica-se o código # para entrada no “FOR” onde há o
reconhecimento dos caracteres (5 letras) para a construção da palavra a ser escrita, é ainda
necessária à consulta das letras maiúsculas na tabela pré-definida em binário, a qual
armazena o código no vetor e usá-lo na rotina “GOSUB ENVIO”. A rotina “ENVIO” utiliza a
sub-rotina include "Irserout.Inc", do comando IRserout para enviar os bytes para IR-RX.
O código (# OK) é fundamental para evitar que qualquer sujeira enviada para a serial
seja interpretada e conseqüentemente enviada para o IR-RX, e ainda por questões de
segurança. Por fim, os ‘leds’ amarelos piscarão para indicar o envio dos dados. Abaixo
50
obtemos a explicação dos padrões dos vetores e os bytes definidos para o reconhecimento
das letras para o envio e plotagem no painel visual IR-RX, através da figura 21 apresentada.
FIGURA 21:- Descrição dos caracteres da tabela
A figura 22 a seguir corresponde ao programa explicativo do funcionamento do
programa interface IR-TX:
' Program Interface_IR-TX.BAS
'*********************************************************************************
'* Author : DANILO COSTA *
'* Notice : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 20/06/08 *
'* Version : 5.0 *
'* Notes : 16F628A Interface_IR *
Caractere
Variavél2^0 2^1 2^2 2^3 2^4 2^5 2^6
Caractere 1 2 4 8 16 32 64
"A"
D0[0] = 31 1 1 1 1 1 0 0
D0[1] = 40 0 0 0 1 0 1 0
D0[2] = 72 0 0 0 1 0 0 1
D0[3] = 40 0 0 0 1 0 1 0
D0[4] = 31 1 1 1 1 1 0 0
D0[5] = 0 0 0 0 0 0 0 0
Binário
Seqüência de LED ligados na saída do PIC. Nível =1 ligado, Nível =0 led apagado
Número binário = 2^x, dois elevado X
Decimal = 0 a 128 Ex: Byte = 1+2+4+8+16+0+0
D[0...4] = vetor que determina a plotagem dos caracteres = decimal
Bit
Formação da letra “A” na posição vertical
Plotagem da letra “A”
51
'* REED SWICHT COMO SENSOR E IR P/ RECEBER MSG *
'*********************************************************************************
'--------------------------------------------------------------------------------------------------------------------------------------------
' ****************************************************************************************************
' * For use with EXPERIMENTING WITH THE PICBASIC PRO COMPILER *
' * *
' * This source code may be freely used within your own programs. *
' * However, if it is used for profitable reasons, please give credit where credit is due. *
' * And make a reference to myself or Rosetta Technologies *
' * *
' * Les. Johnson *
' ****************************************************************************************************
'
' Send Asyncronous Serial Data over an Infra-Red Link
' At Various Baud Rates and Inverted Mode
' An Infra-Red LED should be Connected to PORTA.1
' If longer range is required and NPN transistor could be employed as an amplifier
'
' Place Include "IRSEROUT.INC"
' At the front of the Program to load the new subroutine in
'
' To Use the IRSEROUT subroutine, Load the Variable:-
' IR_BYTE with the appropriate value (0-255)
' And Call the Subroutine:-
' GOSUB IRSEROUT
'
' Five New Defines have been added:-
' IRSEROUT_PORT.....Selects the Port for sending (ie PORTB) , Default PortA
' IRSEROUT_BIT......Selects the Pin for sending (ie 7) , Default 1
' IRSEROUT_BAUD.....Selects the Baud Rate (ie 300,600,1200,2400) , Default 1200 baud
' IRSEROUT_PACING...Selects the delay inbetween bytes sent. , Default 1ms
' IRSEROUT_HEADER...Turns ON or OFF the 3-character header "#OK" , Default OFF
'
' IRSerout works with 4mHz, 8mHz, 10mHz and 12mHz Xtals
' This routine is for the 16F84, but any 14bit core PIC could be used
'--------------------------------------------------------------------------------------------------------------------------------------------
Include "Modedefs.Bas"
Include "Irserout.Inc" ' Load in the New Subroutine
@ DEVICE pic16F628a, WDT_OFF ' Watchdog Timer
@ DEVICE pic16F628a, PWRT_OFF ' Power-On Timer
@ DEVICE pic16F628a, BOD_OFF ' Brown-Out Detect
@ DEVICE pic16F628a, MCLR_OFF ' Master Clear Options (External)
@ DEVICE pic16F628a, LVP_OFF ' Low-Voltage Programming
@ DEVICE pic16F628a, CPD_OFF ' Data Memory Code Protect
52
@ DEVICE pic16F628a, PROTECT_OFF ' Program Code Protection
' ** Set Xtal Value in mHz **
Define OSC 4 ' Set Xtal Frequency
CMCON = 7 'DEFINE PORTA COMO DIGITAL (COMPARADORES ANALÓGICOS:OFF)
TRISA.2 = 1 'DEFINE PORTA.2 (PINO 1) COMO ENTRADA SERIAL DO PC
TRISB.4 = 0 'DEFINE PORTB.4 COMO SAÍDA P/ LED_AMARELO
TRISB.7 = 0 'DEFINE PORTB.7 COMO SAÍDA P/ IR (VIA BC548)
Define CHAR_PACING 1000 'Serout character pacing in us
' ** New Defines for IRSEROUT **
Define IRSEROUT_PORT PortB ' Set IRSEROUT Port
Define IRSEROUT_BIT 7 ' Set IRSEROUT Pin
Define IRSEROUT_BAUD 2400 ' Set IRSEROUT Baud Rate
Define IRSEROUT_PACING 1 ' Set the delay between bytes sent (in ms)
Define IRSEROUT_HEADER 0 ' Turn on/off the three byte header "#OK"
' ** Declare Variables **
V0 Var Byte[5]
D0 Var Byte[30]
IR_ID Con 1 ' Transmitter number
B0 VAR BYTE
B2 VAR BYTE
I VAR BYTE
SYMBOL LED_AM = PORTB.4 'led indicador de que recebeu dados seriais do pc p/ iniciar
rajada de ir
symbol SI = PORTA.2 'SERIN PC
' ** Start of Program **
Pause 500 ' Wait For the Pic to Initialize
FOR B0 = 0 TO 2
LED_AM = 1
PAUSE 50
LED_AM = 0
PAUSE 50
NEXT
Main:
serin2 SI,16468,[WAIT ("#"),STR V0\5] ' aguarda "#" e guarda 5 caracteres no vetor
' n9600
FOR B2 = 0 TO 4
IF V0[B2] = "A" THEN
D0[0] = 31
D0[1] = 40
D0[2] = 72
53
D0[3] = 40
D0[4] = 31
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "B" THEN
D0[0] = 127
D0[1] = 73
D0[2] = 73
D0[3] = 73
D0[4] = 54
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "C" THEN
D0[0] = 62
D0[1] = 65
D0[2] = 65
D0[3] = 65
D0[4] = 34
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "D" THEN
D0[0] = 127
D0[1] = 65
D0[2] = 65
D0[3] = 34
D0[4] = 28
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "E" THEN
D0[0] = 127
D0[1] = 73
D0[2] = 73
D0[3] = 73
D0[4] = 65
D0[5] = 0
GOSUB ENVIO
ENDIF
54
IF V0[B2] = "F" THEN
D0[0] = 127
D0[1] = 72
D0[2] = 72
D0[3] = 72
D0[4] = 64
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "G" THEN
D0[0] = 62
D0[1] = 65
D0[2] = 73
D0[3] = 73
D0[4] = 46
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "H" THEN
D0[0] = 127
D0[1] = 8
D0[2] = 8
D0[3] = 8
D0[4] = 127
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "I" THEN
D0[0] = 0
D0[1] = 65
D0[2] = 127
D0[3] = 65
D0[4] = 0
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "J" THEN
D0[0] = 2
D0[1] = 1
D0[2] = 65
55
D0[3] = 126
D0[4] = 64
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "K" THEN
D0[0] = 127
D0[1] = 8
D0[2] = 20
D0[3] = 34
D0[4] = 65
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "L" THEN
D0[0] = 127
D0[1] = 1
D0[2] = 1
D0[3] = 1
D0[4] = 1
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "M" THEN
D0[0] = 127
D0[1] = 32
D0[2] = 16
D0[3] = 32
D0[4] = 127
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "N" THEN
D0[0] = 127
D0[1] = 16
D0[2] = 8
D0[3] = 4
D0[4] = 127
D0[5] = 0
GOSUB ENVIO
ENDIF
56
IF V0[B2] = "O" THEN
D0[0] = 62
D0[1] = 65
D0[2] = 65
D0[3] = 65
D0[4] = 62
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "P" THEN
D0[0] = 127
D0[1] = 72
D0[2] = 72
D0[3] = 72
D0[4] = 48
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "Q" THEN
D0[0] = 62
D0[1] = 65
D0[2] = 65
D0[3] = 66
D0[4] = 61
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "R" THEN
D0[0] = 127
D0[1] = 72
D0[2] = 76
D0[3] = 74
D0[4] = 49
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "S" THEN
D0[0] = 50
D0[1] = 73
D0[2] = 73
57
D0[3] = 73
D0[4] = 38
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "T" THEN
D0[0] = 64
D0[1] = 64
D0[2] = 127
D0[3] = 64
D0[4] = 64
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "U" THEN
D0[0] = 126
D0[1] = 1
D0[2] = 1
D0[3] = 1
D0[4] = 126
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "V" THEN
D0[0] = 124
D0[1] = 2
D0[2] = 1
D0[3] = 2
D0[4] = 124
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "X" THEN
D0[0] = 99
D0[1] = 20
D0[2] = 8
D0[3] = 20
D0[4] = 99
D0[5] = 0
GOSUB ENVIO
ENDIF
58
IF V0[B2] = "Y" THEN
D0[0] = 96
D0[1] = 16
D0[2] = 15
D0[3] = 16
D0[4] = 96
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "W" THEN
D0[0] = 126
D0[1] = 1
D0[2] = 6
D0[3] = 1
D0[4] = 126
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "Z" THEN
D0[0] = 67
D0[1] = 69
D0[2] = 73
D0[3] = 81
D0[4] = 97
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "0" THEN
D0[0] = 62
D0[1] = 69
D0[2] = 73
D0[3] = 81
D0[4] = 62
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "1" THEN
D0[0] = 17
D0[1] = 33
D0[2] = 127
59
D0[3] = 1
D0[4] = 1
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "2" THEN
D0[0] = 33
D0[1] = 67
D0[2] = 69
D0[3] = 73
D0[4] = 49
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "3" THEN
D0[0] = 66
D0[1] = 65
D0[2] = 81
D0[3] = 105
D0[4] = 70
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "4" THEN
D0[0] = 12
D0[1] = 20
D0[2] = 36
D0[3] = 127
D0[4] = 4
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "5" THEN
D0[0] = 122
D0[1] = 73
D0[2] = 73
D0[3] = 73
D0[4] = 70
D0[5] = 0
GOSUB ENVIO
ENDIF
60
IF V0[B2] = "6" THEN
D0[0] = 62
D0[1] = 73
D0[2] = 73
D0[3] = 73
D0[4] = 38
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "7" THEN
D0[0] = 64
D0[1] = 71
D0[2] = 72
D0[3] = 80
D0[4] = 96
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "8" THEN
D0[0] = 54
D0[1] = 73
D0[2] = 73
D0[3] = 73
D0[4] = 54
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "9" THEN
D0[0] = 48
D0[1] = 73
D0[2] = 73
D0[3] = 74
D0[4] = 60
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "=" THEN
D0[0] = 0
D0[1] = 34
D0[2] = 34
61
D0[3] = 34
D0[4] = 0
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "?" THEN
D0[0] = 48
D0[1] = 64
D0[2] = 69
D0[3] = 72
D0[4] = 48
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "-" THEN
D0[0] = 0
D0[1] = 8
D0[2] = 8
D0[3] = 8
D0[4] = 0
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "$" THEN
D0[0] = 18
D0[1] = 42
D0[2] = 127
D0[3] = 42
D0[4] = 36
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = "%" THEN
D0[0] = 98
D0[1] = 100
D0[2] = 8
D0[3] = 19
D0[4] = 35
D0[5] = 0
GOSUB ENVIO
ENDIF
62
IF V0[B2] = "*" THEN
D0[0] = 42
D0[1] = 28
D0[2] = 127
D0[3] = 28
D0[4] = 42
D0[5] = 0
GOSUB ENVIO
ENDIF
IF V0[B2] = " " THEN
D0[0] = 0
D0[1] = 0
D0[2] = 0
D0[3] = 0
D0[4] = 0
D0[5] = 0
GOSUB ENVIO
ENDIF
NEXT
LED_AM = 1
PAUSE 50
LED_AM = 0
Goto Main ' Infinite Loop
'--------------------------------------------------------------------------------------------------------------------------------------------
ENVIO:
FOR I = 0 TO 5
IR_BYTE="#":Gosub IRSerout ' Send a 3 byte header
IR_BYTE="O":Gosub IRSerout ' to syncronise the receiver
IR_BYTE="K":Gosub IRSerout ' with the actual byte sent
IR_BYTE=IR_ID:Gosub IRSerout ' Send out the transmitter number
IR_BYTE= D0[I] ' Send out the data byte
Gosub IRserout
next
RETURN
'--------------------------------------------------------------------------------------------------------------------------------------------
FIGURA 22:- Programa em linguagem Basic da placa de interface IR-TX
63
5.2. Softwares
Os softwares consistem em programas e na interface utilizada no projeto. Destarte os
softwares de programação são as ferramentas relacionadas à edição, compilação e
programação do PIC. O software de interface é o programa disponível no microcomputador
para o usuário redigir e enviar a mensagem para o painel visual.
5.2.1. Editor microcode studio
Consiste em uma interface gráfica para escrita de programas em linguagem Basic,
desenvolvida especialmente para microEngineering Labs PICBasic PRO compiler pela
Mecanique.
Este software permite programar em ‘basic’ com bastante facilidade, oferecendo cor
de letra diferenciada para cada tipo de ‘syntax’, identifica e corrige possíveis erros na
compilação, visualiza as variáveis, símbolos, constantes e demais funções utilizadas no
programa.
O editor realiza diversas configurações referentes ao microcontrolador, compilador e
programador de PIC, permitindo interagir com outros softwares, pois possui atalhos rápidos
para compilação e programação do PIC, como por exemplo, o compilador PICBASIC PRO
2.47, o programador ICPROG 1.06A e o microcontrolador PIC16F628A.
O Microcode Studio utilizado neste projeto é uma versão “free”, ou seja, de livre
download para aplicações não comerciais, disponível no site
http://www.picbasic.com/resources/win_ide.htm#Studio, Salientando, que esta versão grátis
utilizada possui algumas limitações em relação à versão completa (Microcode Studio PLUS),
porém atende satisfatoriamente. A diferença entre as duas versões é a função de “debug”
para o programa e para aplicação comercial o usuário deve adquirir / comprar a versão
Microcode Studio PLUS. A figura 23 a seguir nos mostra o layout deste programa.
64
FIGURA 23:- Layout do editor Basic Microcode Studio
5.2.2. Programador IC-Prog
No presente projeto o IC-PROG 1.06A é o software utilizado para a programação do
Microcontrolador - PIC. Destarte, seu uso consiste no envio de arquivo hexadecimal
compilado pelo PICBASIC PRO para a porta de comunicação a qual está conectado o
dispositivo de gravação, no caso, o JDM.
Este software está entre os mais utilizados, e é um software para programação de
PIC’s em ambiente Windows, pode trabalhar com diversos circuitos gravadores, por
exemplo, JDM e o TAIT SERIAL.
O IC-PROG foi criado por Bonny Gijzen e é um programa “free”, ou seja, de livre
distribuição, disponível no site http://www.ic-prog.com/index1.htm, porém, caso deseje
incorporar este programa a um produto comercializado você deve solicitar a permissão ao
fabricante. Pode-se dizer que ele não é menos importante que o hardware de gravação.
Apresentado na figura 24.
65
FIGURA 24:- Layout do compilador IC-PROG
FONTE: Disponível em: http://www.ic-prog.com/index1.htm
5.2.3. Compilador Picbasicpro
O PICBASIC PRO 2.47 é um compilador utilizado para gravação do PIC, sua função é
interpretar o programa digitado no editor na linguagem Basic e transformá-lo para a
linguagem que será identificada pelo gravador e enviada para o PIC, ou seja, em linguagem
de máquina (assembly/Hex).
Foi desenvolvido pela empresa Micro Engineering Labs INC. Suporta o PIC que será
utilizado no projeto, também possui ferramenta para interação com os outros programas IC-
PROG e Microcode Studio.
É um dos compiladores mais utilizados no mercado e neste projeto será utilizado o
compilador PIC Basic Pro versão “free”, disponível livremente no site
http://www.picbasic.com/pbpdemo.htm, salientando que esta versão possui algumas
limitações em relação à versão original, mas é de livre distribuição, especialmente
desenvolvido para fins estudantis e não comerciais, caso haja a incorporação do compilador
a um produto comercializado há a necessidade de solicitar a permissão ao fabricante.
Segue abaixo as figuras 25 e 26 com a estrutura de funcionamento e o layout do software.
66
FIGURA 25:- Estrutura da compilação dos códigos para o PIC
FONTE: Disponível em: http://www.picbasic.com/pbpdemo.htm
EDITOR
.PBP
.ASM .INC
COMPILADOR ASSEMBLER
.HEX .LST .ERR .COD
PROGRAMADOR
67
FIGURA 26:- Arquivo do projeto e as extensões usadas
5.2.4. Interface micro serial – RogerCom
A placa interface IR-TX interpreta o sinal RS232 enviado para a porta serial do
microcomputador, portanto não há a necessidade de um programa ou software dedicado
para o projeto, pode-se usar qualquer tipo de interface ou software de comunicação serial.
Para este projeto será utilizado um programa simples de comunicação serial
disponível livremente no site http://www.rogercom.com/PortaSerial/PortaSerial.htm chamado
RcomSerial. É um software para envio e recebimento de dados RS232 da porta serial, onde
se configura a taxa de transmissão dos dados, a escolha da porta para comunicação, a
definição dos bits de dados, paridade, bit de parada e habilitar, desabilitar comunicação.
Além de poder realizar a limpeza e salvar a qualquer momento os dados de TX e RX.
Apresentado na figura 27.
68
FIGURA 27:- Software para comunicação serial
FONTE: Disponível em: http://www.rogercom.com/PortaSerial/PortaSerial.htm
69
6. ETAPAS DO PROJETO
6.1. Estudos e pesquisas
O projeto se iniciou com uma breve pesquisa sobre os meios de comunicação, foram
estudados diversos textos, tanto de livros como da Internet, para que o trabalho tivesse
como introdução um resumo da evolução da comunicação.
Após, os conceitos tanto de persistência retiniana como do fenômeno Phi, foram
esmiuçados para que a pesquisa tivesse a sua continuação, vez que tais conceitos foram de
primordial importância para se entender todo o processo que se quis demonstrar.
A pesquisa sobre os microcontroladores deu-se principalmente através de sites
específicos da Internet, o conceito dessa ferramenta e a sua utilização é o objeto maior do
trabalho.
Assim, para que o trabalho tivesse cunho científico e ficasse demonstrada uma nova
maneira de utilização do microcontrolador foram estudados igualmente os projetos já
existentes no mercado, semelhantes, mas não iguais ao presente trabalho.
Os gravadores, editores de textos e programas também foram alvo de dedicado
estudo, pois sem o seu conhecimento aprofundado não seria possível a continuação da
pesquisa.
Por fim, a idéia do que se queria demonstrar se consolidou e a definição do objeto da
pesquisa se fez presente, direcionando todos os estudos até então realizados, dando-se ao
final a escolha do PIC, do gravador, do editor de texto e programador, a serem utilizados no
projeto, para que este alcançasse o seu fim.
6.2. Implementação do projeto
Para a implementação do projeto, primeiramente ocorreu a escolha dos hardwares a
serem confeccionados, como, painel IR-RX propeller, placa sinal IR-TX e gravador, após
houve uma intensa pesquisa e cotação de preços, visando sempre o preço menor.
Assim, deu-se a aquisição dos componentes eletrônicos, fios e peças necessárias ao
projeto. A montagem e testes em protoboard realizaram-se em seqüência, igualmente os
testes de gravação do PIC e a montagem do circuito na placa universal.
A implementação do software realizou-se com a instalação dos mesmos e dos
programas para o projeto, e concomitantemente ao início dos programas e das pesquisas, o
uso do microcode para a edição da programação, foram ocorrendo os testes de gravação do
PIC no gravador JDM e os testes nos programas.
70
A junção do software com o hardware ocorreu através da implementação dos
programas e dos testes no microcomputador, além dos testes com a saída serial. Foi
necessária a gravação no PIC, testes com o microcontrolador, além de testes dos
programas com o hardware.
A finalização do projeto deu-se com a escolha do texto a ser escrito, e através das
pesquisas e testes como mencionado acima, operaram-se os ajustes finais.
71
7. RESULTADOS
7.1. Planejamento
No decorrer do trabalho, através da discussão do tema escolhido com o professor
orientador e da elaboração de um plano de estudo juntamente com o coordenador do curso,
chegou-se ao anteprojeto consensuado/ assinado/ atualizado pelo orientador.
Conforme exigência curricular ocorreu a entrega do anteprojeto ao núcleo de estágio
da Faculdade, após houve uma breve revisão do tema e a elaboração dos objetivos do
projeto.
Assim, com o início das pesquisas e estudos sobre o assunto, deu-se a introdução ao
tema e iniciou-se a documentação do trabalho de conclusão de curso e a conseqüente e
necessária revisão bibliográfica.
Somente após essas etapas é que tiveram início à construção do projeto, as
pesquisas e testes necessários para a sua implementação como foi visto anteriormente.
7.2. Resultados esperados
Após o término de todas as etapas da construção do projeto, espera-se ter
implementado um painel visual atrativo e de baixo custo, utilizando-se para isso a tecnologia
dos microcontroladores – PIC.
Adquirir conhecimento nas áreas de programação de microcontroladores, como por
exemplo, linguagens, uso de editores, compiladores e gravadores. E experiência no
desenvolvimento de projetos que utilizam a tecnologia de microcontroladores, desbravando
assim, suas características, tipos, pontos negativos e positivos, vantagens e desvantagens
mediante ao mercado. Aproveitando os conhecimentos para os projetos futuros.
7.3. O efeito do painel visual
Os caracteres na figura abaixo parece flutuarem, pois ao movermos um conjunto de
luzes em uma rotação, direção e intermitência pré-programadas, ajustadas de acordo à
percepção visual humana, poderão formar ilusões, imagens em nosso cérebro.
Os dados ficam contínuos e constantes, devido à haste com os leds girarem em uma
freqüência determinada, relativamente rápida. Para que fique imperceptível ao olho humano,
o projeto da haste deve estar mecanicamente alinhado e balanceado e com o tamanho
72
mínimo possível, assim não notaremos o disparo (o apagar e o acender) dos leds e os
caracteres ficaram "suspensos" no ar. Podemos visualizar o efeito na figura 28.
FIGURA 28:- Painel de mensagem acabado com o efeito das luzes flutuando
73
8. CONCLUSÃO
Este trabalho de conclusão de curso tem como objeto a utilização de microcontrolador
em painel visual, não obstante os microcontroladores serem usados com freqüência em
produtos e dispositivos de controle automático, tais como sistemas de controle em motores
de automóveis, controles remotos, máquinas de escritório, ferramentas e brinquedos.
Assim, ao reduzir o tamanho, custo e consumo de energia em comparação com um
projeto que usa microprocessador, memória e dispositivos de E/S separados,
microcontroladores tornam viável economicamente no controle eletrônico de muitos
processos.
Eles foram tão ou mais importantes para a revolução dos produtos eletrônicos que os
computadores, permitiram a evolução de equipamentos que há anos não evoluíam, como
por exemplo, os motores a combustão, que agora com o novo controle eletrônicos podem
funcionar com sistema bi-combustível, poluindo menos.
Os PICs podem ser programados em linguagem baixo nível (assembly) ou usando-se
compiladores de linguagem de alto nível (Pascal, C, Basic) que geram um código em
formato hexadecimal (Intel Hex format ou linguagem de máquina) que são usados para
serem gravados na memória de programa desses microcontroladores.
Dessa forma, no decorrer da pesquisa percebe-se que existem diversas maneiras de
se programar o PIC, sendo visível que as linguagens de alto nível, como o Basic - usado no
projeto -, ou mesmo, C e Pascal, por exemplo, em conjunto com os compiladores,
programadores e gravadores, nos oferece maior flexibilidade e agilidade do que as
linguagens de baixo nível.
Consideramos que a finalidade do trabalho foi alcançada haja vista que a possibilidade
de utilização do microcontrolador foi plenamente demonstrada, de forma clara e acessível, e
pode ser facilmente colocada à disposição de qualquer usuário.
Assim, desejamos ter chegado ao final deste trabalho com o sentimento de missão
cumprida e com a pequena pretensão de ter contribuído ainda que pouco, para os
desenvolvimentos incessantes da computação, cujo objetivo maior é facilitar cada vez mais,
a vida das pessoas.
74
9. REFERÊNCIAS BIBLIOGRÁFICAS
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6023: norma ABNT sobre documentação. Rio de Janeiro, 1989.
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 14724: norma ABNT sobre documentação. Rio de Janeiro, 2006.
FRANÇA, J. L. Manual para normalização de publicações técnico-científicas. 3. ed. rev. aum. Belo Horizonte: UFMG, 1996. 191p.
NICOLOSI, D. E. C. Microcontrolador 8051 detalhado. 2. ed. São Paulo: Érica, 2000.
PEREIRA, F. Microcontroladores PIC – Programação em C. 3. ed. São Paulo: Érica.
SILVA JUNIOR, V. P. Microcontroladores PIC: teoria e pratica. São Paulo: Do autor, 1998.
SOUZA, D. J. Desbravando o PIC. 3. ed. São Paulo: Érica, 2001. TAVERNIER, C. Microcontroladores PIC. 2. ed. Madrid: Paraninfo, c2001.
SOARES, M. J. Robo IR infravermelho. Revista Mecatrônica Fácil. São Paulo, v. 02. n. 11, p.42, 2008.
FAJ – Faculdade de Jaguariúna. BIBLIOTECA, Orientações para Apresentação de Trabalhos Acadêmicos e Monografias. Disponível via URL em: http://bibdig.faj.br/document/?code=147&tid=18. Acesso em 01 de Julho de 2008.
BLICK, Bob. Propeller Clock: Disponível via URL em: http://www.bobblick.com/techref/projects/propclock/propclock.html. Acesso em 15 outubro de 2004.
MADSEN, Jens Dyekjær. JDM PIC-Programmer: Disponível via URL em: http://www.jdm.homepage.dk/newpic.htm. Acesso em 26 dezembro de 2004.
Microchip. PIC16F628A: Disponível via URL em: http://ww1.microchip.com/downloads/en/DeviceDoc/40044F.pdf. Acesso em 20 junho de 2005.
MicroEngineering Labs. PICBASIC PRO: Disponível via URL em: http://www.picbasic.com/pbpdemo.htm. Acesso em 15 outubro de 2005.
75
GIJZEN, Bonny. IC-Prog Prototype Programmer: Disponível via URL em: http://www.ic-prog.com/index1.htm. Acesso em 23 dezembro de 2006.
MicroEngineering Labs. MicroCode Studio: Disponível via URL em: http://www.picbasic.com/resources/win_ide.htm#Studio. Acesso em 17 setembro de 2006.
MESSIA, Antonio Rogério. RcomSerial versão 1.2: Disponível via URL em: http://www.rogercom.com/PortaSerial/PortaSerial.htm. Acesso em 30 de setembro de 2007.
MicroEngineering Labs. PICBASIC PRO, Manual em Português: Disponível via URL em: http://www.picbasic.com.br/man_port.pdf. Acesso em 05 novembro de 2007.
76
10. ANEXOS
Anexo I: - Pintura da estrutura de madeira da Propeller
Anexo II: - Fixação do motor na estrutura de madeira do projeto
77
Anexo III: - Tabela para configuração do taxa de transmissão
FONTE: Microcode Studio - Disponível em: http://www.picbasic.com/resources/win_ide.htm#Studio
78
11. APÊNDICE
A tabela 02 corresponde a matriz dos códigos utilizados pelo programa:
Variável Binário Variável Binário
2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^0 2^1 2^2 2^3 2^4 2^5 2^6
Caractere 1 2 4 8 16 32 64 Caractere 1 2 4 8 16 32 64
"A" "V"
D0[0] = 31 1 1 1 1 1 0 0 D0[0] = 124 0 0 1 1 1 1 1
D0[1] = 40 0 0 0 1 0 1 0 D0[1] = 2 0 1 0 0 0 0 0
D0[2] = 72 0 0 0 1 0 0 1 D0[2] = 1 1 0 0 0 0 0 0
D0[3] = 40 0 0 0 1 0 1 0 D0[3] = 2 0 1 0 0 0 0 0
D0[4] = 31 1 1 1 1 1 0 0 D0[4] = 124 0 0 1 1 1 1 1
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"B" "X"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 99 1 1 0 0 0 1 1
D0[1] = 73 1 0 0 1 0 0 1 D0[1] = 20 0 0 1 0 1 0 0
D0[2] = 73 1 0 0 1 0 0 1 D0[2] = 8 0 0 0 1 0 0 0
D0[3] = 73 1 0 0 1 0 0 1 D0[3] = 20 0 0 1 0 1 0
D0[4] = 54 0 1 1 0 1 1 0 D0[4] = 99 1 1 0 0 0 1 1
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"C" "Y"
D0[0] = 62 0 1 1 1 1 1 0 D0[0] = 96 0 0 0 0 0 1 1
D0[1] = 65 1 0 0 0 0 0 1 D0[1] = 16 0 0 0 0 1 0 0
D0[2] = 65 1 0 0 0 0 0 1 D0[2] = 15 1 1 1 1 0 0 0
D0[3] = 65 1 0 0 0 0 0 1 D0[3] = 16 0 0 0 0 1 0 0
D0[4] = 34 0 1 0 0 0 1 0 D0[4] = 96 0 0 0 0 0 1 1
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"D" "W"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 126 0 1 1 1 1 1 1
D0[1] = 65 1 0 0 0 0 0 1 D0[1] = 1 1 0 0 0 0 0 0
D0[2] = 65 1 0 0 0 0 0 1 D0[2] = 6 0 1 1 0 0 0 0
D0[3] = 34 0 1 0 0 0 1 0 D0[3] = 1 1 0 0 0 0 0 0
D0[4] = 28 0 0 1 1 1 0 0 D0[4] = 126 0 1 1 1 1 1 1
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"E" "Z"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 67 1 1 0 0 0 0 1
D0[1] = 73 1 0 0 1 0 0 1 D0[1] = 69 1 0 1 0 0 0 1
D0[2] = 73 1 0 0 1 0 0 1 D0[2] = 73 1 0 0 1 0 0 1
D0[3] = 73 1 0 0 1 0 0 1 D0[3] = 81 1 0 0 0 1 0 1
D0[4] = 65 1 0 0 0 0 0 1 D0[4] = 97 1 0 0 0 0 1 1
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"F" "0"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 62 0 1 1 1 1 1 0
D0[1] = 72 0 0 0 1 0 0 1 D0[1] = 69 1 0 1 0 0 0 1
79
D0[2] = 72 0 0 0 1 0 0 1 D0[2] = 73 1 0 0 1 0 0 1
D0[3] = 72 0 0 0 1 0 0 1 D0[3] = 81 1 0 0 0 1 0 1
D0[4] = 64 0 0 0 0 0 0 1 D0[4] = 62 0 1 1 1 1 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"G" "1"
D0[0] = 62 0 1 1 1 1 1 0 D0[0] = 17 1 0 0 0 0 0 0
D0[1] = 65 1 0 0 0 0 0 1 D0[1] = 33 1 0 0 0 0 1 0
D0[2] = 73 1 0 0 1 0 0 1 D0[2] = 127 1 1 1 1 1 1 1
D0[3] = 73 1 0 0 1 0 0 1 D0[3] = 1 1 0 0 0 0 0 0
D0[4] = 46 0 1 1 1 0 1 0 D0[4] = 1 1 0 0 0 0 0 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"H" "2"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 33 1 0 0 0 0 1 0
D0[1] = 8 0 0 0 1 0 0 0 D0[1] = 67 1 1 0 0 0 0 1
D0[2] = 8 0 0 0 1 0 0 0 D0[2] = 69 1 0 1 0 0 0 1
D0[3] = 8 0 0 0 1 0 0 0 D0[3] = 73 1 0 0 1 0 0 1
D0[4] = 127 1 1 1 1 1 1 1 D0[4] = 49 1 0 0 0 1 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 1 0 0 0 1 0 1
"I" "3"
D0[0] = 0 0 0 0 0 0 0 0 D0[0] = 66 0 1 0 0 0 0 1
D0[1] = 65 1 0 0 0 0 0 1 D0[1] = 65 1 0 0 0 0 0 1
D0[2] = 127 1 1 1 1 1 1 1 D0[2] = 81 1 0 0 0 1 0 1
D0[3] = 65 1 0 0 0 0 0 1 D0[3] = 105 1 0 0 1 0 1 1
D0[4] = 0 0 0 0 0 0 0 0 D0[4] = 70 0 1 1 0 0 0 1
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"J" "4"
D0[0] = 2 0 1 0 0 0 0 0 D0[0] = 12 0 0 1 1 0 0 0
D0[1] = 1 1 0 0 0 0 0 0 D0[1] = 20 0 0 1 0 1 0 0
D0[2] = 65 1 0 0 0 0 0 1 D0[2] = 36 0 0 1 0 0 1 0
D0[3] = 126 0 1 1 1 1 1 1 D0[3] = 127 1 1 1 1 1 1 1
D0[4] = 64 0 0 0 0 0 0 1 D0[4] = 4 0 0 1 0 0 0 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"K" "5"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 122 0 1 0 1 1 1 1
D0[1] = 8 0 0 0 1 0 0 0 D0[1] = 73 1 0 0 1 0 0 1
D0[2] = 20 0 0 1 0 1 0 0 D0[2] = 73 1 0 0 1 0 0 1
D0[3] = 34 0 1 0 0 0 1 0 D0[3] = 73 1 0 0 1 0 0 1
D0[4] = 65 1 0 0 0 0 0 1 D0[4] = 70 0 1 1 0 0 0 1
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"L" "6"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 62 0 1 1 0 1 1 0
D0[1] = 1 1 0 0 0 0 0 0 D0[1] = 73 1 0 0 1 0 0 1
D0[2] = 1 1 0 0 0 0 0 0 D0[2] = 73 1 0 0 1 0 0 1
D0[3] = 1 1 0 0 0 0 0 0 D0[3] = 73 1 0 0 1 0 0 1
D0[4] = 1 1 0 0 0 0 0 0 D0[4] = 38 0 1 1 0 0 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
80
"M" "7"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 64 0 0 0 0 0 0 1
D0[1] = 32 0 0 0 0 0 1 0 D0[1] = 71 1 1 1 0 0 0 1
D0[2] = 16 0 0 0 0 1 0 0 D0[2] = 72 0 0 0 1 0 0 1
D0[3] = 32 0 0 0 0 0 1 0 D0[3] = 80 0 0 0 0 1 0 1
D0[4] = 127 1 1 1 1 1 1 1 D0[4] = 96 0 0 0 0 0 1 1
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"N" "8"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 54 0 1 1 0 1 1 0
D0[1] = 16 0 0 0 0 1 0 0 D0[1] = 73 1 0 0 1 0 0 1
D0[2] = 8 0 0 0 1 0 0 0 D0[2] = 73 1 0 0 1 0 0 1
D0[3] = 4 0 0 1 0 0 0 0 D0[3] = 73 1 0 0 1 0 0 1
D0[4] = 127 1 1 1 1 1 1 1 D0[4] = 54 0 1 1 0 1 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"O" "9"
D0[0] = 62 0 1 1 1 1 1 0 D0[0] = 48 0 0 0 0 1 1 0
D0[1] = 65 1 0 0 0 0 0 1 D0[1] = 73 1 0 0 1 0 0 1
D0[2] = 65 1 0 0 0 0 0 1 D0[2] = 73 1 0 0 1 0 0 1
D0[3] = 65 1 0 0 0 0 0 1 D0[3] = 74 0 1 0 1 0 0 1
D0[4] = 62 0 1 1 1 1 1 0 D0[4] = 60 0 0 1 1 1 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"P" "="
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 0 0 0 0 0 0 0 0
D0[1] = 72 0 0 0 1 0 0 1 D0[1] = 34 0 1 0 0 0 1 0
D0[2] = 72 0 0 0 1 0 0 1 D0[2] = 34 0 1 0 0 0 1 0
D0[3] = 72 0 0 0 1 0 0 1 D0[3] = 34 0 1 0 0 0 1 0
D0[4] = 48 0 0 0 0 1 1 0 D0[4] = 0 0 0 0 0 0 0 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"Q" "?"
D0[0] = 62 0 1 1 1 1 1 0 D0[0] = 48 0 0 0 0 1 1 0
D0[1] = 65 1 0 0 0 0 0 1 D0[1] = 64 0 0 0 0 0 0 1
D0[2] = 65 1 0 0 0 0 0 1 D0[2] = 69 1 0 1 0 0 0 1
D0[3] = 66 0 1 0 0 0 0 1 D0[3] = 72 0 0 0 1 0 0 1
D0[4] = 61 1 0 1 1 1 1 0 D0[4] = 48 0 0 0 0 1 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"R" "-"
D0[0] = 127 1 1 1 1 1 1 1 D0[0] = 0 0 0 0 0 0 0 0
D0[1] = 72 0 0 0 1 0 0 1 D0[1] = 8 0 0 0 1 0 0 0
D0[2] = 76 0 0 1 1 0 0 1 D0[2] = 8 0 0 0 1 0 0 0
D0[3] = 74 0 1 0 1 0 0 1 D0[3] = 8 0 0 0 1 0 0 0
D0[4] = 49 1 0 0 0 1 1 0 D0[4] = 0 0 0 0 0 0 0 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"S" "$"
D0[0] = 50 0 1 0 0 1 1 0 D0[0] = 18 0 1 0 0 1 0 0
D0[1] = 73 1 0 0 1 0 0 1 D0[1] = 42 0 1 0 1 0 1 0
81
D0[2] = 73 1 0 0 1 0 0 1 D0[2] = 127 1 1 1 1 1 1 1
D0[3] = 73 1 0 0 1 0 0 1 D0[3] = 42 0 1 0 1 0 1 0
D0[4] = 38 0 1 1 0 0 1 0 D0[4] = 36 0 0 1 0 0 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"T" "%"
D0[0] = 64 0 0 0 0 0 0 1 D0[0] = 98 0 1 0 0 0 1 1
D0[1] = 64 0 0 0 0 0 0 1 D0[1] = 100 0 0 1 0 0 1 1
D0[2] = 127 1 1 1 1 1 1 1 D0[2] = 8 0 0 0 1 0 0 0
D0[3] = 64 0 0 0 0 0 0 1 D0[3] = 19 1 1 0 0 1 0 0
D0[4] = 64 0 0 0 0 0 0 1 D0[4] = 35 1 1 0 0 0 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"U" "*"
D0[0] = 126 0 1 1 1 1 1 1 D0[0] = 42 0 1 0 1 0 1 0
D0[1] = 1 1 0 0 0 0 0 0 D0[1] = 28 0 0 1 0 1 0 0
D0[2] = 1 1 0 0 0 0 0 0 D0[2] = 127 1 1 1 1 1 1 1
D0[3] = 1 1 0 0 0 0 0 0 D0[3] = 28 0 0 1 0 1 0 0
D0[4] = 126 0 1 1 1 1 1 1 D0[4] = 42 0 1 0 1 0 1 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
"V" " "
D0[0] = 124 0 0 1 1 1 1 1 D0[0] = 0 0 0 0 0 0 0 0
D0[1] = 2 0 1 0 0 0 0 0 D0[1] = 0 0 0 0 0 0 0 0
D0[2] = 1 1 0 0 0 0 0 0 D0[2] = 0 0 0 0 0 0 0 0
D0[3] = 2 0 1 0 0 0 0 0 D0[3] = 0 0 0 0 0 0 0 0
D0[4] = 124 0 0 1 1 1 1 1 D0[4] = 0 0 0 0 0 0 0 0
D0[5] = 0 0 0 0 0 0 0 0 D0[5] = 0 0 0 0 0 0 0 0
TABELA 02:- Tabela dos caracteres