O Site do Hardware Livre - OSHW

Mini terminal com comunicação serial (MIC192)

Neste artigo (*) 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.

 

(*) Veja artigos MIC190 e MIC191

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?

 


 

 

 

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

 

NOTA: BASIC Stamp© é marca registrada da PARALLAX Inc.

 

DISPONIBILIDADE DO BASIC Stamp© (*)

O Módulo BS1-IC BASIC Stamp®, Carrier Board e Programming Package são distribuídos no Brasil exclusivamente pala empresa GENERAL SOFT, junto com a SABER Publicidades e Promoções revende esses produtos para todo o Brasil. (Ver anúncio abaixo) A GENERAL SOFT fornece o manual do Usuário do BASIC Stamp® traduzido para a língua portuguesa, além de suporte técnico.

O Programming Package é um pacote de desenvolvimento que inclui o software editor/programador, cabo de programação, manual do Usuário, Notas de Aplicação com farta documentação técnica e suporte técnico.

Todo o material é original da PARALLAX e concebido na língua inglesa. Uma alternativa para quem não quer comprar o Programming Package. é adquirir gratuitamente para teste o software editor/programador e a documentação técnica resumida diretamente na PARALLAX Inc.(através de sua BBS ou pela Internet).

A GENERAL SOFT também disponibiliza gratuitamente para teste no Brasil o mesmo material através da BBS PLANET, A GENERAL SOFT junto com a Escola SENAI “Anchieta” administra o Curso BASIC Stamp© e aplicações práticas em sistemas de controle.

(*) Na época em que o artigo foi escrito

 

Artigos Relacionados

BUSCAR DATASHEET

 


N° do componente 

(Como usar este quadro de busca)

 

Opinião

Novidades de Outubro (OP196)

Ainda repercutindo nosso mês de aniversários, completamos o mês com a participação da IoT Latin America 2019 onde atendemos nossos amigos no estande da Mouser Electronics. Como sempre, tivemos a satisfação de encontrar amigos, colaboradores e clientes, trocando ideias sobre negócios e o futuro da tecnologia.

 

Leia mais...

Sociedade
Se uma sociedade livre não pode ajudar os muitos pobres, não poderá salvar os poucos ricos. (If a free society cannot help the many who are poor, it cannot save the few who are rich.)
John Fitzgerald Kenneddy (1917 - 1963) - Discurso de posse em 1961 - Ver mais frases


Instituto Newton C Braga
Entre em contato - Como Anunciar - Políticas do Site

Apoio Social
Lions Clube de Guarulhos Sul SOS Mater Amabilis
Advertise in Brazil
If your business is Electronics, components or devices, this site is the correct place to insert your advertisement (see more)