Muitas experiências interessantes, demonstrações ou mesmo diagnósticos podem ser feitos com uma interface que permita o acendimento programado de LEDs a partir das portas do PC. O circuito apresentado pode servir apenas para efeitos demonstrativos ou decorativos mas também pode ser aperfeiçoado facilmente com a utilização de dispositivos de potência na sua saída para o controle de cargas externas.
A idéia básica do computador pessoal quando foi lançado era a de se poder ter um equipamento capaz de controlar outros aparelhos. O computador poderia ser usado para controlar eletrodomésticos, gerenciar a instalação elétrica de uma residência e até mesmo monitorar sistemas de segurança.
Se bem que a maioria das aplicações atuais do computador não se baseia nisso, com o seu funcionamento independente, a simples existência de portas pode ser muito interessante para os leitores mais curiosos, principalmente os que tenham conhecimentos de eletrônica, e desejam realmente ligar o seu computador ao mundo ou a uma simples plaquinha com alguns LEDs e ver o que pode ser feito a partir daí.
O projeto que apresentamos é justamente isso: uma plaquinha que ligada à saída paralela de um computador pode ser controlada por ele, acendendo LEDs a partir de programas ou pela digitação de certos comandos no teclado, conforme sugere a figura 1.
Como se trata do mínimo que podemos fazer em termos de interface de um computador com alguma coisa externa, trata-se da montagem ideal de iniciação na informática para os que desejam entrar mais a fundo em hardware e precisam de um projeto simples.
Evidentemente, o próprio circuito básico pode ser facilmente adaptado com a troca dos LEDs por transistores com relés ou ainda acopladores ópticos, conforme mostra a figura 2.
Com esta adaptação será possível controlar cargas externas de potência como, por exemplo, um sistema de efeito de luzes num palco, o acionamento de dispositivos num processo de automação ou mesmo um sistema de efeitos de luzes para uma vitrine.
Numa feira de eletrônica o circuito pode ser usado para demonstrar o que se pode fazer com um computador, acionando-se lâmpadas, motores e outros dispositivos que sejam colocados numa disposição lógica.
COMO FUNCIONA
A idéia básica é aproveitar os sinais disponíveis na saída paralela para acionar um latch octal tri-state do tipo 74HC573. Cada um dos oito latches deste circuito integrado pode ser acessado independentemente e em sua saída podemos controlar diretamente um LED.
Os oito latches possuem um controle único de habilitação e saída. O controle de habilitação é mantido no nível alto (pino 11) enquanto que o controle de saída (pino 1) é mantido no nível baixo de modo que os sinais de controle possam passar imediatamente do PC para os LEDs.
Os resistores ligados em série com os LEDs limitam a corrente de acionamento aos valores que o circuito integrado pode operar.
Para a alimentação é preciso uma tensão de 5 volts que pode ser obtida facilmente de um circuito integrado regulador de tensão como o 7805 ou equivalente de menor corrente.
O uso deste circuito integrado regulador de tensão permite que sejam empregadas fontes de 7 a 20 volts de entrada. No nosso caso, sugerimos uma bateria de 9V para facilitar as demonstrações, mas para maior economia e se as experiências e demonstrações forem feitas numa bancada, pode ser utilizada uma fonte. Lembramos que neste circuito cada LED exige aproximadamente 10 mA de corrente, o que significa que se todos estiverem acesos em determinado momento, o consumo será da ordem de 80 mA.
O importante na fonte, para completa segurança do projeto e do próprio computador, é que ela faça uso de transformador que a isole da rede de energia.
O capacitor C1 de 100 nF na saída da fonte desacopla o circuito e facilita as comutações muito rápidas do circuito integrado 74HC573.
MONTAGEM
Na figura 3 temos o diagrama completo do aparelho.
Na figura 4 temos a disposição dos componentes numa pequena placa de circuito impresso.
Observe que usamos um conector DB25 fêmea que permite a conexão do aparelho ao PC por meio de um cabo DB25 (mas duas extremidades) com macho e fêmea.
O circuito integrado não precisa de radiador de calor dada a corrente máxima de acionamento que é de 80 mA e os resistores são todos de 1/8W ou maiores.
O capacitor C2 é um eletrolítico para 6V enquanto que C3 deve ter uma tensão de trabalho um pouco maior que a tensão usada na alimentação de entrada. No nosso caso, pode ser usado um capacitor de 12V.
Para maior segurança na montagem os leitores menos habituados a trabalhar com circuitos integrados devem usar um soquete DIL de 20 pinos CI-1. Observe a posição correta de montagem deste componente.
Os LEDs são vermelhos comuns, ou de outra cor, ficando montados em linha na própria placa de circuito impresso. Na montagem, é importante observar a polaridade destes componentes, pois, se forem invertidos, eles não acenderão.
A placa pode ficar solta, se for usada em demonstração, mas pode também ser montada numa pequena caixa plástica.
PROVA E USO
Para os testes e mesmo para se usar o circuito como um sequencial simples, escrevemos um pequeno programa em QUICKBASIC.
O leitor deve então entrar no QUICKBASIC e programar a porta 378H do PC utilizando, por exemplo, a instrução &H378,X onde o X é o valor binário que é enviado à porta.
Estes valores vão determinar os LEDs que vão acender em sequência. Como as saídas são em binário, a sequência é dada em potências de 2.
Por exemplo, para acender os LEDs em sequência progressiva escrevemos:
1,2,4,8,16,32,64,128,-1 (8 LEDS)
Para ter um acionamento em sequência regressiva (ordem inversa) escrevemos:
128,64,32,16,8,4,2,1,-1 (8 LEDS)
Para acender de 2 em 2 na sequência progressiva e regressiva escrevemos:
1,4,16,64,2,8,32,128,64,16,4,1,128,32,,8,2,-1
O "-1" no final da linha serve para avisar o programa que ele deve recomeçar a sequência.
O programa:
REM Programa de Teste da Interface
DECLARE SUB teste
CLS
PRINT Testando Interface
LOCATE 20, 25
PRINT ("Aperte ESC para sair");
DO:
READ a
IF a = -1 THEN
RESTORE: READ a
END IF
OUT &H378, a
PRINT a
teste
ESC
C$ = INKEY$
IF c$ = "+" THEN teste = teste * 2
IF c$ = "-" THEN teste = INT(teste/2)
IF teste < 1 THEN teste = 1
LOOP UNTIL C$ = CHR$(27)
DATA 1,2,4,16,32,64,128,-1
SUB teste
FOR k = 1 TO teste
NEXT k
END SUB
LISTA DE MATERIAL
Semicondutores:
CI-1 - 74HC573 - circuito integrado
CI-2 - 7805 - circuito integrado
LED1 à LED8 - LEDs vermelhos ou de outra cor comuns
Resistores:
R1 à R8 - 470 ? x 1/8 W
Capacitores:
C1 - 100 nF - cerâmico
C2 - 47 uF/6V - eletrolítico
C3 - 100 uF/12V - eletrolítico
Diversos:
S1 - Interruptor simples
B1 - 9V - bateria ou fonte de alimentação (ver texto)
Placa de circuito impresso, conector DB-25 fêmea para montagem em placa, cabo com duas tomadas DB-25 macho e fêmea, soquete de 20 pinos DIL, conector de bateria de 9V, fios, solda, etc.