Digamos que você queira usar os pinos de E/S no BASIC Stamp para mostrar valores numéricos. No artigo sobre relógio digital, vimos como fazer a interface para um visor de LED de 7 segmentos usando um chip 7447. Os 7447 funcionam bem junto com o os BASIC Stamp. Você poderia ligar quatro dos pinos de E/S direto num 7447 e facilmente mostrar um número entre 0 e 9. Já que o Stamp BS-1 possui oito pinos de E/S, é fácil acionar dois 7447 diretamente desta maneira.
Para um relógio, precisamos de um mínimo de quatro dígitos. Para acionar quatro 7447 com oito pinos de E/S, precisamos ser um pouco mais criativos. O diagrama a seguir mostra um possível método:
![]() |
Neste diagrama, as oito linhas de E/S do Stamp entram a partir da esquerda. Este método usa quatro linhas que entrm em todos os quatro 7447s. Então as outras quatro linhas do Stamp ativam os 7447 em seqüência ("E" nos chips significam "Enable", ou Habilitação que em um 7447, isto seria uma entrada "apagado" informada no pino 5). Para fazer este arranjo funcionar, o programa BASIC no Stamp inseriria o primeiro dígito nas quatro linhas de dados e ativaria o primeiro 7447 mudando o pino E com a primeira linha de controle. Então enviaria o valor para o segundo dígito e ativaria o segundo 7447, seqüenciando assim todos os quatro 7447s repetidamente. Conectando as coisas de forma um pouco diferente, pode-se fazer isso apenas com um 7447. Usando um chip 74154 demultiplexador e alguns drivers, você poderia acionar até 16 dígitos usando este método.
Isso é uma forma padrão de controlar visores de LED. Por exemplo, se você tem uma antiga calculadora LED, ligue-a e sacuda-a enquanto olha o visor. Você verá que apenas um dígito por vez está iluminado. O método é chamado multiplexar o visor.
Ainda que este método funcione bem para relógios e calculadoras, ele tem dois problemas:
![]() |
Este tipo de LCD tem muitas vantagens:
Para acionar um visor destes, você simplesmente o alimenta com +5 volts e terra (o Stamp fornece ambos a partit de uma bateria de 9 volts) e conecta um dos pinos de E/S do Stamp à linha de entrada do visor. A forma mais fácil que encontramos para conectar os pinos de E/S do Stamp a um dispositivo como um LCD é usar uma ferramenta wire-wrap (Jameco peça número 34577) e um fio calibre 30 de wire wrap (Jameco peça número 22541). Assim, não é necessário soldar e as conexões ficam compactas e confiáveis.
O programa BASIC a seguir fará um BASIC Stamp se comportar como um relógio e informar as horas no LCD (imaginando que o LCD esteja conectado ao pino de E/S 0 no Stamp):
pause 1000 'espera que o display LCD inicie
serout 0, n2400, (254, 1) 'limpa o display
serout 0, n2400, ("hora:") 'Escreve "hora:" no visor 'pré-ajuste antes de carregar o programa b0 = 0 'segundos
b1 = 27 'minutos
b2 = 6 'horas
repetir:
b0 = b0 + 1 'incrementa os segundos
if b0 < 60 then minutos
_b0 = 0 'se segundos=60
_b1 = b1 + 1 ' então incrementar os minutos
minutos:
if b1 < 60 then horas
_b1 = 0 'se minutos=60
_b2 = b2 + 1 ' então incrementa as horas
horas:
if b2 < 13 then mostra
_b2 = 1 'se horas=13 volta para 1
mostra:
serout 0, n2400, (254, 135) 'posiciona o cursor no display, 'então mostra o tempo
serout 0, n2400, (#b2, ":", #b1, ":", #b0, " ")
pause 950 'pausa 950 milisegundos
goto repetir 'repete
Neste programa, os comandos SEROUT enviam dados ao LCD. A seqüência (254, 1) limpa o LCD (254 é o caracter "escape" e 1 é o comando para limpar o visor) A seqüência (254, 135) posiciona o cursor. Os outros dois comandos SEROUT simplesmente enviam strings de texto para o visor. Este método criará um relógio razoavelmente preciso. Ajustando a instrução PAUSE você pode usar a precisão dentro da faixa de alguns segundos por dia. Obviamente, em um relógio real conectaria um botão de pressão ou dois para facilitar as configurações - neste programa, você pré-ajusta o horário antes de fazer o download do programa para o Stamp.
Embora este método seja simples e funcione, não é muito preciso. Se você quiser maior precisão, um bom método seria conectar um chip de relógio tempo real ao seu Stamp. Assim, a cada segundo aproximadamente, você pode ler as horas do chip e exibi-las. Um chip de relógio de tempo real usa um cristal de quartzo para obter uma excelente precisão. Chips de relógio geralmente contêm também informações de datas e suportam correções de ano bissexto automaticamente.
Uma maneira fácil de fazer a interface do chip de tempo real a um Stamp é usar um componente chamado Pocket Watch B.
![]() Módulo Pocket Watch B |
O Pocket Watch B está disponível tanto pela Jameco (peça número 145630) quanto pela Parallax (peça número 27962). Esta peça é do tamanho de uma moeda de 1 real e contém o chip de relógio, cristal e uma interface serial; assim, apenas um pino de E/S é necessário para se comunicar com ele. Este componente custa aproximadamente US$ 30.