Escrito por: Luiz Henrique Correa Bernardes

Neste mês, continuando a série de artigos com aplicações do BASIC Stamp® veremos um mini terminal com comunicação serial RS232 e display de cristal líquido.

 

Nota: O artigo é de 1996, pouco antes da TV Digital ser lançada em nosso país. Por ele temos alguns aspectos históricos interessantes, importantes para quem estuda ou deseja fazer um trabalho sobre o assunto.

Muitos sistemas usam um computador central para controlar funções remotas. Em várias aplicações os usuários se comunicam com o computador central através de pequenos terminais que enviam e recebem dados do sistema. Como exemplos, podemos citar as seguintes aplicações:

Terminal de consulta de preços em lojas

Terminal de consulta e requisição de material em estoque

Controle de produção

Display de máquinas e de controle de processos

Terminal de estacionamento.

 

A princípio parece ser muito complicado para uma pessoa com conhecimento básico de eletrônica e programação poder fazer um sistema desse tipo, mas utilizando o BASIC Stamp© a tarefa se torna rápida e fácil. As pessoas experientes que já tiveram a oportunidade de fazer um sistema parecido, poderão ver como o BASIC Stamp© e' muito eficiente e poderoso.

 

Mini-Terminal

Como o BASIC Stamp© é facilmente programável e tem suporte para comunicação serial, se torna um excelente candidato para essas aplicações de interface entre usuários e computador central.

No esquema da figura 1, verificamos que poucos componentes são utilizados para a confecção do mini terminal. O display de cristal líquido usado nesse projeto e baseado no circuito integrado Hitachi 44780 que compõem a maioria dos LCD disponíveis no mercado. Veja a matéria em edições futuras.

 


 

 

 

FUNCIONAMENTO

Quando o circuito é energizado, o programa do BASIC Stamp® inicializa o LCD, que é configurado para escrever caracteres da esquerda para a direita, cursor ativado e interface de 4 bits (0 LCD recebe um byte em duas operações, um nibble de cada vez). Para eliminar qualquer caractere estranho, o programa limpa a tela do display. Após a inicialização, o programa entra em loop esperando o recebimento de um caractere pela interface serial RS232 com baud rate de 2400 baud. Quando o caractere é recebido, e verificado se está dentro de uma pequena lista de caracteres especiais (backspace (retrocesso), control-C e return). Se não estiver, o programa escreve o caractere na tela do display e volta ao loop onde aguardará por um novo caractere. Se um caractere backspace é recebido, o programa movimenta o cursor um caractere para trás (movimento da esquerda para a direita) e escreve um caractere branco (espaço) para apagar o que estava nessa posição, movimenta o cursor para trás novamente. Esse segundo movimento para trás se faz necessário porque o LCD avança automaticamente o cursor após escrever um caractere.

Se um caractere control-C é recebido, o programa executa um comando de “clear screen” (limpa a tela) no LCD, que escreve brancos em todas as posições da tela do display e colocar o cursor na posição mais a esquerda.

Se um caractere return e recebido, o programa interpreta a mensagem como requisição de uma resposta do usuário. O programa fica em um loop esperando que o usuário pressione uma das quatro chaves. Uma vez pressionada. o programa envia um caractere (“0"até “3") que representa o número da chave para o computador central. Volta ao loop principal para aguardar um novo caractere. Por causa de todo esse processamento. a interface não pode receber caracteres enviados rapidamente. O programa do computador central deve colocar um pequeno atraso (delay) entre o envio de cada caractere (+- 3 milissegundos). Se você reduzir o baud rate para 300 baud e setar para 1.5 ou 2 stop bits, você não precisará do de!ay (mudar o baud rate tanto do computador como do programa do BASIC Stamp®).

Do ponto de vista eletrônico o circuito implementa alguns truques, o primeiro envolve a comunicação serial RS232. O processador do BASIC Stamp®, um PlC16C56 da Microchip, é equipado com diodos de proteção nos pinos de I/O. Quando o BASIC Stamp® recebe um dado RS232, com níveis lógicos de tensões entre -1 2 e + 12 volts, os diodos limitam a tensão para os níveis usados internamente pelo PIC que são O e +5 volts.

Os resistores são para limitar a corrente que passam através dos diodos evitando assim danifica-los. A maioria dos PCs aceitam trabalhar dessa maneira sem maiores problemas. Trabalhando dessa maneira o sistema não é tão imune a ruídos como um que utiliza as regras do RS232. Se você deseja utilizar o mini terminal em um ambiente ruidoso ou a longas distâncias, o uso de um driver/receiver RS232 deve ser considerado, você pode optar pelo Maxim MAX232 que é de fácil implementação e necessita ser alimentado apenas por + 5volts.

Outro truque é a utilização dos pinos de I/O tanto para escrever no LCD como para ler o estado das chaves. O que acontece se o usuário pressiona a chave quando o LCD está recebendo dados?

 


| Clique na imagem para ampliar |

 

 

Nada no BASIC Stamp® pode receber a corrente do resistor pull-up de 1 kg sem afetar o estado da linha que vai para o LCD.

E quando o BASIC Stamp® está lendo as chaves. O LCD está desabilitado e suas linhas em estado de alta impedância. Resumindo, o LCD e as chaves podem compartilhar as linhas de dados sem interferências.

Finalmente, note que os resistores estão colocados entre as linhas de dados e as chaves, que estão conectadas ao +5 volt.

Isto é uma prevenção de baixo custo contra descargas eletrostáticas causadas pela ponta do dedo do usuário quando este pressiona a tecla.

Essa proteção não é totalmente efetiva, mas devido ao seu baixo custo ela se adapta bem ao circuito proposto.

Abaixo você encontra o programa em BASIC que deverá ser carregado no BASIC Stamp©, ele usa 2/3 da memória EEPROM, o que significa que você pode fazer mais implementações para atender as suas necessidades.

 

Testando o Mini Terminal

Para testar o Mini Terminal, você pode usar qualquer programa de emulação de terminal (por ex. TELlX) ou o Terminal do Windows (geralmente ele está na janela acessórios). Configure o terminal para daud rate para 2400 baud, 8 bits sem paridade e 1 stop bit a para utilizar a saída serial que você tem disponível. Faça um cabo para interligar o Mini Terminal com o PC.

Abaixo você tem as ligações para o conector do lado do PC, as linhas pontilhadas são necessárias para desabilitar o handshaking por hardware. Uma vez conectado e o terminal corretamente configurado, é só escrever no teclado que aparecerá no display, a tecla backspace retrocede um caractere e pressionando simultaneamente “Crtl” e “C” (control – C) limpa a tela do display.

Habilite o “ECHO” do terminal para você acompanhar o que você está digitando.

 


 

 

 

 


 

 

 

 


 

 

 

Programando uma aplicação

O Programa a seguir é um exemplo de programa em QBASIC para rodar no PC e mostrar uma aplicação do Mini Terminal. A opção pelo QBASIC é que ele está disponível no sistema operacional DOS da Microsoft (versão 5.0 ou superior), portanto na maioria dos PCs e pelo fato de ser de fácil utilização e compreensão. O programa visa mostrar um processo simples de escrita e leitura, um processo mais complexo, como um controle de estoque por exemplo, demandaria várias linhas de programação e para ser mais eficiente teríamos que optar pela linguagem “C” que é muito mais complexa.

 

Funcionamento do Programa QBASIC:

O programa limpa a tela do display e escreve a mensagem “Acione uma tecla", quando o usuário aciona uma tecla, o programa analisa qual tecla foi acionada e imprime uma mensagem especifica para a tecla, aguarda um pequeno tempo e volta a repetir o processo.

Você deve ter percebido que o programa utilizou a saída serial COM2 com baud rate de 300 baud e com 2 stop bits, essa configuração foi utilizada para evitar a colocação de um delay entre cada caractere (tempo necessário para o Mini Terminal analisar o caractere).

Então para compatibilizar o programa do BASIC Stamp© com o programa do QBASIC, você deve alterar as configurações das instruções SERIN e SEROUT do BASIC Stamp® que utilizam baud rate de 2400 baud para 300 baud. o que significa trocar N2400 por N300 nas instruções.

 

Conclusão

O objetivo desse artigo foi mostrar como é possível se fazer aplicações complexas utilizando o mínimo de componentes, 0 que é uma tendência mundial.

 


 

 

 

 


 

 

 

 


 

 

A eletrônica está se transformando rapidamente e os fabricantes d componentes estão disponibilizando módulos cada vez mais eficientes e complexos.

O BASIC Stamp© exemplifica bem essa tendência, onde um minúsculo módulo disponibiliza funções extremamente poderosas e eficientes de uma maneira tão simples que qualquer pessoa com o mínimo conhecimento de eletrônica e programação pode utiliza-las. E se toma uma ferramenta poderosa para os profissionais mais experientes ganharem tempo em tarefas que anteriormente exigiam várias horas de projeto, montagens e testes.

Protótipo do Mini Terminal e artigo elaborados por LUIZ HENRIQUE CORREA BERNARDES BASIC Stamp© é marca registrada da PARALLAX Inc.