Os computadores atuais já não dispõem da porta paralela. No entanto, se você tem um PC antigo fora de uso pode recupera-lo e colocá-lo em funcionamento para controlar seus projetos de robótica e mesmo de automação. Neste artigo de 2002 nosso colaborador Luiz Henrique Corrêa Bernardes mostra como isso pode ser feito usando a linguagem LOGO.
No artigo MEC290 o autor mostra como usar a linguagem LOGO.
Neste artigo veremos como o LOGO controlar a porta paralela do PC e, com isso, faremos um programa que controla um LED, o qual é a primeira parte prática de uma sequência de artigo que faremos. Luiz Henrique Corrêa Bernardes.
No artigo MEC290 procuramos explicar, de uma maneira simples, como o PC funciona e foi apresentado também um primeiro programa em LOGO. Neste artigo, o objetivo será controlar um LED, e para fazer isso iremos utilizar a porta paralela, que é a conexão usada pelo PC para acionar a impressora, que é geralmente um conector de 25, pinos fêmea.
. A figura 1 mostra a localização dela atrás de um PC genérico.
Essa porta é chamada de paralela porque nela os dados são enviados (por exemplo, para a impressora) paralelamente, ou seja, em blocos de 8 bits (um byte) necessitamos de de 8 fios para enviar os dados do PC para a impressora ou qualquer outro dispositivo.
A figura 2 ilustra de uma maneira simples essa conexão e como os dados são enviados entre o PC e a impressora.
A figura 3 apresenta todos os pinos e nomes da porta paralela. Por enquanto, precisamos apenas saber utilizar os pinos de dados (DO a D8) e os pinos de terra (em geral, somente o 19 é utilizado).
Pelos pinos D0 a D7 é que são enviados os dados para a impressora ou qualquer outro equipamento que possa ser ligado a ela. No nosso caso, iremos construir um circuito simples para compreender o funcionamento da porta paralela. Nele, explicaremos como funciona uma única linha de dados, a D0, para de- pois vermos como funcionam todas juntas.
Como dissemos anteriormente, o PC só reconhece números binários (0 ou 1), o que significa que ele pode escrever 0 ou 1 na linha de dados D0. No caso da porta paralela o zero e representado por 0 volts e o 1 é representado por 5 volts.
Download do LOGO http://www.nied.unicamp.br/?q=content/super-logo-30
O Nied, que disponibiliza o software Super LOGO, nos informou que agora é possível fazer o download gratuitamente.
Para isto basta ir até o site do Nied (http://www.nied.unicamp.br), entrar na seção publicações e softwares e seguir as instruções para fazer o download.
A figura 4 mostra as duas situações, quando temos 0 e 1 em D0.
Antes de descrevermos o programe que servirá para controlar o sinal da linha de dados D0, vamos dar inicio à nossa parte prática. Montaremos uma placa que contém, por enquanto, um LED, ao qual, no futuro, iremos acrescentar mais elementos.
Para isso vamos necessitar de alguns materiais e ferramentas:
Ferramentas:
Um Ferro de soldar de 30 watts;
Um Alicate de Corte;
Um Multímetro.
Material:
Um LED;
Um Resistor de 4k7 ohms;
Um Resistor de 1 M ohms;
Um Resistor de 470 ohms;
Um Transistor BC337 ou BC548;
Um Suporte para 2 pilhas de 1,5 Volts;
Uma Chave Liga/Desliga tipo H;
Uma Placa protótipo;
Quatro Pés de Borracha;
Uma Fita Dupla Face;
Um rolo de Estanho para solda;
Um metro de cabo de 2 vias ou mais;
Um Conector DB25 Macho;
Um metro de fio para ligação tipo telefônico ou “jumper”.
Iniciando a Montagem
Primeiramente, vamos analisar o circuito elétrico em que iremos montar e identificar cada um dos componentes indicados na figura 5.
Na figura 6 é dado o esquema elétrico.
1. Cole os pés de borracha com a fita dupla face, de acordo com a figura 7.
2. Cole o suporte de bateria com fita dupla face (vide figura 8).
3. Solde a chave liga/desliga, o transistor, o LED e os resistores conforme é mostrado na figura 9. Note que no transistor e no LED, cada terminal possui uma determinada função e, se forem ligados de forma errada, o circuito não irá funcionar.
4. Veja agora o circuito elétrico e faça as ligações dos componentes empregando o fio (figura 10).
5. Agora monte o cabo do DB25 conforme orienta a figura 11.
Pronto! Você fez a primeira montagem. Agora vamos testar para ver se funciona!
Testando o sistema
1. Coloque as pilhas no suporte, observando a polaridade.
2. Ligue a chave Liga/Desliga.
3. O LED deverá ficar apagado.
4. Com mais duas pilhas ligue entre os pinos 19 (negativo) e 2 (positivo) do conector, conforme mostra a figura 11, e o LED deverá acender.
Não funcionou, e agora?
Não fique preocupado. É normal errarmos (lembre do que dissemos do erra, erra, erra, acerta?). É só revermos os passos anteriores e provavelmente você achará o erro e se, mesmo assim, não conseguir, peça ajuda a alguém para conferir e vá explicando para essa pessoa o que você fez. Pode parecer incrível, mas muitas vezes não conseguimos ver o erro!
Funcionou, e agora?
Agora vamos à parte mais agradável depois de todo este trabalho. Vamos fazer o PC controlar o LED utilizando o LOGO. Você se lembra quando dissemos que para acionar um dispositivo externo (l/O) precisávamos saber o endereço dele, pois bem, o endereço do registrador dos dados (D0 a D7) da porta paralela é 378 em hexadecimal ou 888 em decimal. Portanto, o que escrevermos no registrador 378 será colocado nos dados de D0 a D7 da porta paralela.
Uma dica importante é utilizar a calculadora do Windows para fazer conversões de base numérica (hexadecimal, binário ou decimal). Basta selecionar a base, colocar o número e depois selecionar a base em que queremos que o número seja convertido, veja o exemplo da figura 12.
Sendo assim, no nosso caso, se escrevermos 0 (zero) no registrador 378 (ou 888 em decimal) vamos apagar o LED e, se escrevermos 1 (um) vamos acender o LED.
Conecte o cabo na porta paralela do PC, (é muito importante que você tenha testado a placa antecipadamente para evitar qualquer darão ao seu PC)! Ligue a bateria da placa e carregue o LOGO. Não se preocupe com a condição do LED (apagado ou aceso) nesse instante, pois o registrador de dados da porta paralela pode ter qualquer dado escrito nesse momento.
Na linha de comandos do LOGO escreva: "portasaidab 888 1", conforme mostra a figura 13.
Vá ao “Ajuda” do LOGO e procure por “portasaídab”, você encontrará:
“Sintaxe” do comando: portasaídab idporta dado
Descrição:
Este comando escreverá DADO como 1 byte na porta especificada em IDPORTA. A IDPORTA caracteriza uma porta de “hardware”. Não confunda este comando com ABRAPORTA e ESCREVACARACTEREPORTA, que são para comunicação via portas Serial e Paralela. Veja também PORTASAÍDA e PORTAENTRADAB.
idporta: (INTEIRO) Especifica em qual porta de hardware você deseja escrever.
dado: (INTEIRO) É o byte de dados que deve ser escrito na IDPORTA.
No nosso caso “888” é o “idporta” e “1” é o dado que queremos escrever na porta. Feito isso o LED irá acender. Para apagá-lo, basta escrever “0” (zero) na porta, utilizando o comando: "portasaídab 888 0".
Pronto! Já conseguimos controlar um LED utilizando o PC! Foi fácil? Agora que está funcionando parece que sim, mas veja quanta coisa precisamos compreender até chegar nesse ponto e quantas horas você investiu em leituras, testes e análises. Parabéns pela persistência, mas não vamos parar por aqui, vamos dar mais emoção ao
nosso controle de LED e adapta-lo ao programa que mostramos na edição anterior.
Utilize o Editor de Procedimentos (Acione Arquivos e depois Editar) e escreva um procedimento de cada vez, escrevendo o nome de cada procedimento teclado, “OK”?
Não se esqueça de atualizar (teclando em Arquivo e depois Atualizar no editor de procedimentos) antes de começar outro procedimento.
Note que o LOGO diferencia as letras minúsculas das maiúsculas e, se não as digitarmos corretamente, vamos gerar erros.
Rode o programa digitando “controle” na barra de comandos do LOGO, conforme a figura 14.
Agora é só acionar os botões “Liga” e “Desliga” para acionar o LED, vale a pena salientar que o programa funciona sem a placa também, pois temos a condição do LED escrita na Tela através do comando “mudeestático”.
Não ficou bom? Pena que estamos terminando este artigo, mas aguarde o próximo, onde teremos várias surpresas para você.
O colaborador Luiz Henrique Corrêa Bernardes nos autorizou a publicar neste site seus artigos.