• Nenhum resultado encontrado

5.1 CONTROLE PRINCIPAL

5.1.3 Programação do Robô

Iremos, a partir desse ponto, descrever passo a passo a programação do robô Tesla. Inicialmente, executamos o MPLAB (Figura 107).

Figura 107 - Tela de abertura do MPLAB IDE.

29

Para criar um novo projeto no MPLAB, deve-se abrir o menu ‘Project’ e clicar em ‘New...’. Aparecerá uma janela como a que é apresentada na Figura 108.

Figura 108 - Criando um novo projeto no MPLAB.

Nesta janela é introduzido o nome do projeto que se pretende criar, bem como é feita a escolha da pasta para gravar todos os arquivos relativos ao mesmo. A partir desse ponto, deverá aparecer uma segunda janela, normalmente no canto superior esquerdo, com todas as informações relativas aos arquivos do projeto (Figura 109).

Figura 109 - Janela de informações dos arquivos de projeto.

Nomeamos esse projeto como “Andador”, trata-se de um programa para o Tesla, onde ele possa andar e se desviar de objetos, usando seus sensores de toque (chaves fim de curso). O robô começa andando, quando bate em algo, ele

para, retrocede com os dois motores, continua retrocedendo para o lado em que bateu, para, abre e fecha a pinça, emitindo som e depois volta a andar. No Apêndice E deste trabalho, temos os códigos fonte em linguagem Assembly, de três algoritmos para o nosso robô.

Inicialmente, criamos o arquivo ‘Andador.asm’, que contém o código em Assembly do nosso robô, para que possamos adicioná-lo ao nosso projeto. Observe que a extensão padrão para esse tipo de arquivo é ASM, pois são escritos em Assembler Microchip

É feita a inclusão de arquivos em nosso código fonte um dos arquivos mais importantes que devemos incluir e que utilizaremos sempre, a partir desse momento, são os arquivos que contêm todas as definições dos registros internos do microcontrolador. Encontram-se na pasta onde está instalado o software MPLAB (Figura 110).

Figura 110 - Pasta dos arquivos de definições.

Utilizamos o arquivo P16F84A.INC, que é o que possui a definição dos registros do microcontrolador utilizado no projeto. Este arquivo deve ser copiado para a mesma pasta em que se encontram os códigos fonte nos quais pretendemos incluir este arquivo.

Utilizamos o PIC16F84A, que é totalmente compatível com o PIC16F84, devido a um problema no fusível de segurança que torna o PIC16F84 relativamente fácil de abrir (ler o software embarcado mesmo depois de proteger o componente); esse código de proteção será descrito com maiores detalhes ao final dessa seção. Mas vale enfatizar, que esse problema (descoberto durante a pesquisa) não inviabiliza o uso do PIC16F84. Sem contar que o custo do PIC16F84A é 30% menor que o seu antecessor.

Quando abrimos e editamos o arquivo P16F84A.INC, podemos comprovar quais são os nomes de cada registro do microcontrolador (Figura 111). Devem ser os mesmos nomes que utilizamos quando programamos o dispositivo e que a Microchip utiliza oficialmente em sua documentação técnica para denominar os registros.

Além dos registros, também se encontram listados nesse arquivo todos os bits daqueles registros vistos anteriormente (Figura 112). Devemos nos familiarizar com esses nomes, já que são muito mais simples de recordar do que as posições internas que cada bit ocupa em cada registro.

Figura 112 - Listagem dos bits dos registros internos do microcontrolador.

Para incluir o arquivo de declaração de registros P16F84A.INC, deve-se escrever no cabeçalho do programa: “include P16F84A.INC”. A partir desse ponto, podem-se declarar qualquer nome para os registros de trabalho, os quais se encontram a partir da posição 0x0c (Figura 113).

Figura 113 - Inclusão do arquivo de declaração de registros “P16F84A.INC”.

Antes de escrever o código fonte do programa, faz-se necessário configurar no MPLAB o microcontrolador utilizado. Deve-se abrir o menu ‘Configure’ e clicar em ‘Select Device’, selecionando o modelo do microcontrolador como mostra a Figura 114.

Figura 114 - Janela de seleção de dispositivo.

Também no menu de configuração podemos abrir a janela de Configuração de Bits que nos permite configurar todos os bits do microcontrolador. Podemos

observar que esta janela apresentará conteúdos diferentes, já que cada modelo de microcontrolador tem uma configuração específica. A Figura 115 mostra a janela de configuração de bits do microcontrolador adotado para o kit didático Tesla.

Figura 115 - Janela de configuração de bits.

Como já sabemos, compilar significa processar o código fonte para criar um arquivo que efetivamente possa ser entendido pelo microcontrolador. No MPLAB, quando um arquivo ASM é compilado, o mesmo é convertido em um arquivo HEX. Esse novo arquivo é o que será embarcado no microcontrolador do robô. Após a escrita do código fonte do robô, abrimos o menu ‘Project’ e clicamos em ‘Build All’ (Figura 116).

Uma janela mostrará a compilação sendo executada. Ao final desta, a janela 'Output' apresentará um relatório sobre a compilação. O importante é que a compilação seja bem sucedida, sendo então exibida a mensagem "Build Succeeded" ao final do relatório (Figura 117).

Figura 117 - Janela de status da compilação.

Agora, após esse processo, temos o arquivo HEX que deverá ser embarcado no microcontrolador. O MPLAB tem um simulador incluído (Debugger) que permite executar o código fonte, no computador. Para ativar o debugger do MPLAB devemos abrir o menu ‘Debugger’ e clicar em ‘Select Tool...’. Selecionamos o ‘MPLAB SIM’ (Figura 118). A partir desse ponto, ainda no menu ‘Debugger’, clicamos em ‘Animate’, podendo dessa forma, simular o software desenvolvido (Figura 119).

Figura 118 - Ativação do MPLAB SIM.

Figura 119 - Janela de simulação do código.

Podemos simular o código gerado pelo MPLAB no Proteus ISIS; inclusive como já foi citado anteriormente, essa foi um dos motivos que nós levaram a trabalhar com esses dois ambientes de desenvolvimento (Figura 120).

Figura 120 - Simulação no PROTEUS ISIS.

Vale salientar, que o uso da linguagem Assembly é uma opção dentre outras linguagens que podem ser utilizadas, como por exemplo: Pascal, C e Ladder. O código “Andador.asm” poderia ser escrito em linguagem C sem problema algum. Essa opção foi feita por um dos alunos que participou da pesquisa, sendo que o código em C é listado no Apêndice E desta dissertação.

Documentos relacionados