Informações sobre o curso.
RComAccess v1.0
Controle de Acesso
Por: Antônio Rogério Messias
Página 1 de 5   Esta é a página inicial.  Home  Índice  Ir para a página 2.
CONECTANDO 8 TECLADOS NA PORTA SERIAL ATRAVÉS DE UM MICROCONTROLADOR PIC 16F877 PARA CONTROLE DE ACESSOS.
Para uso particular ou educacional.
Copyright(c) 1999-2006 ROGERCOM.COM
Todos os direitos reservados.

       Durante mais de um ano recebendo emails de vários usuários do site Rogercom.com sobre controle de acesso através do computador, mesmo já havendo no site um artigo sobre o assunto, através da porta Paralela, resolvi desenvolver um projeto passo-a-passo, muito mais elaborado, mas de fácil implementação e economicamente viável, utilizando um único computador para gerenciar até 8 teclados de 12 teclas para a leitura das senhas. Os teclados são conectados através de uma interface microcontrolada usando um PIC 16F877. A comunicação com a interface é estabelecida através da Porta Serial, utilizando-se para seu controle um protocolo via software.
       Cada teclado é composto de 12 teclas (0,1,2,3,4,5,6,7,8,9, Limpar e Entrar) e dois LEDs, um verde e outro vermelho. Os dois LEDs têem o objetivo de informar se o acesso foi permitido ou não.
       O "cérebro" do hardware é um microcontrolador PIC 16F877, que gerencia todos os teclados, sensores, protocolo de comunicação, Porta Serial, temporizadores e drivers de acionamento das fechaduras elétricas.
       O hardware consegue detectar tanto o pressionamento de uma tecla em qualquer um dos 8 teclados simultaneamente, como também saber se um dos 8 sensores de porta aberta/fechada foi acionado. Tudo isso pode ser controlado ou detectado em tempo real através de um software específico escrito em linguagens de programação como C/C++, C#, Java, Delphi, Visual Basic entre outras que disponham de recursos para se comunicar com a Porta Serial do computador.
       Há bastante outros usos para esse projeto, se não desejar usá-lo como controle de acesso, poderá utilizar os teclados para enviar comandos de controle de jogos, avisos de alerta, controle de mesas de Sybercafes etc. O 8 sensores poderão ser usados para detectar passagens de pessoas num recinto, como alarme etc. Já as 8 saídas poderão ser utilizadas para ligar e desligar dispositivos, controle de motores, relês e outros atuadores.
       Como a comunicação entre o computador e a interface é através de um protocolo embutido num microcontrolador, mesmo que o computador seja desligado e depois reiniciado, não ocorrerá nenhuma alteração nas configurações atuais da placa interface. Somente através do envio de comandos pré-estabelecidos no protocolo de comunicação é que a placa interface irá responder.
       Foram feitos testes de extensão dos cabos entre a placa de interface, os sensores e os teclados, com 60 metros de distância e nenhuma interferência foi detectada. Distâncias maiores não foram experimentadas.
       Nesse projeto 100% do hardware está disponível publicamente. Também os fontes do aplicativo e as características do protocolo de comunicação estão disponíveis integralmente.
       O programa gravado no PIC foi escrito em linguagem C e tem mais de 1000 linhas de código fonte.
       Nesse artigo está disponível gratuitamente para download, o código Hex para gravar o PIC 16F877 e gerenciar até no máximo 2 teclados, ideal para começar a desenvolver aplicativos e dominar a tecnologia. Acima de dois teclados, fornecemos o PIC já gravado, pronto para ser acrescentado ao hardware disponível nesse artigo.
       Você não está limitado a somente um sistema operacional para desenvolver aplicações de controle de acesso para esse hardware. Poderá desenvolver em Linux e outros sistemas operacionais.
       Como esse artigo não é pequeno, foi desmembrado em várias páginas para mostrar todo o desenvolvimento do projeto de uma forma fácil e compreensível pelos "navegantes" da Internet. No final dessa página, há três botões: "Anterior", "Próxima" e
"Home", utilizados para "navegar" entre as páginas do artigo e voltar à página principal da Rogercom.com.
       Começaremos com o desenvolvimento de todo o hardware necessário, depois iremos entender o protocolo de comunicação, a programação do computador para acessar a Porta Serial e a criação de um programa aplicativo simples para interagir com o circuito.

Figura 1 - Ilustração da topologia estrela da Rede de teclados

       Conforme exibido na figura acima, a conexão dos teclados assemelha-se a uma Rede de computadores com topologia estrela. Cada teclado funciona independentemente um do outro e pode ser conectado ou desconectado da placa em funcionamento, a qualquer momento se for necessário. Ao conectar ou desconectar um teclado da placa, o programa gravado no PIC detecta esse evento e envia a informação através do protocolo para o aplicativo no computador, dessa forma o aplicativo poderá saber se um teclado foi removido da placa ou acrescentado a ela.

Figura 2 - Animação

       Na animação acima temos uma visão geral da placa controladora, dos teclados e do computador.


Figura 3
- Visão geral da placa controladora com detalhes dos conectores (ilustração)

       A figura acima é ilustrativa, mas serve como ponto de partida para o desenvolvimento de uma placa que comporte todos os componentes e os conectores necessários para "plugar" os periféricos.
       Observe que na placa há 9 LEDs, um deles indica se a placa está alimentada (energizada) e os outros 8 para indica o acionamento das saídas (controle dos dispositivos).
       A escolha do melhor conector para conectar os periféricos fica por conta do projetista. Escolha conectores de dimensões pequenas para que a placa não assuma grandes dimensões.

Figura 4 - Descrição dos pinos do PIC 16F877 especificamente para o projeto Controle de Acesso

       Na Figura 4 acima temos a descrição de todos os pinos do PIC 16F877 especificamente para ser usado no projeto elaborado nesse artigo.
       Todos os módulos dos circuitos apresentados aqui serão conectados aos pinos do PIC e para facilitar, estão todos nomeados; as cores auxiliam na identificação dos mesmos, e aos módulos a serem conectados.


Figura 5
- Circuito oscilador de 10Mhz para o PIC 16F877

       O circuito da Figura 5 acima é um dos primeiros módulos a ser conectado ao microcontrolador, sendo o "coração" do PIC. O componente descrito na figura acima como XTAL, nada mais é do que um cristal de quartzo oscilando a 10.000.000 (dez milhões de vezes por segundo) ou simplesmente 10Mhz. É esse cristal que gera os pulsos precisos para o bom funcionamento do microcontrolador.
       Observe que o circuito acima deve ser conectado aos pinos 13 e 14 do PIC, e ao negativo da fonte de alimentação.


Figura 6 - Conversor de sinais RS232/TTL para comunicação Serial entre a placa controladora e o computador

       O circuito da Figura 6 acima é um conversor de sinais RS232/TTL utilizado para fazer a conexão entre o microcontrolador e o computador através da Porta Serial. Observe que os pinos 11 e 12 do Max232 são ligados respectivamente aos pinos 25 (TX) e 26 (RX) do PIC. O cabo serial ligado ao computador é composto de 3 fios (RX, TX e GND). Os pinos 2 e 3 do conector DB9 são conectados através do cabo serial respectivamente aos pinos 14 e 13 do Max232. O pino 5 (GND) do conector é ligado à fonte de alimentação da placa controladora de acessos.
       Os capacitores eletrolíticos são utilizados para configurar o funcionamento correto do Max232, alguns deles trabalham com sua polaridade invertida.
       Para mais informações sobre o CI MAX232 consulte o da Datasheet do fabricante.


Figura 7
- Módulo de entradas multiplexadas


       O circuito exibido na Figura 7 define todas as entradas multiplexadas, como as linhas de todos os teclados, os sensores de porta aberta/fechada, e as entradas que detectam a conexão de um teclado plugado na placa controladora.
       Os pinos 19, 20 e 21 do PIC deverão ser conectados respectivamente aos pinos 11, 10 e 9 do dos Multiplexadores (MUXs). Esses pinos têem a função de selecionar uma das entradas dos MUXs, nos pinos (4, 3, 2, 1, 15, 14, 13 e 12). Por exemplo, quando o PIC enviar o valor binário "000" aos pinos de seleção (11,10 e 9), todas as entradas do pino 4 dos MUXs serão selecionadas.
       Os pinos (33, 34, 35, 36, 37 e 38) do PIC fazem a leitura de todos os MUXs serialmente. Sendo assim, o pino 33 do PIC tem a função de lê serialmente todas as entradas do MUX 1. Já a entrada 34 do PIC, lê o MUX 2, e assim por diante.


Figura 8
- Módulo de controle das colunas dos teclados

       O circuito da Figura 8 é dotado de um buffer 74LS244, tendo como objetivo amplificar o sinal enviado pelo PIC para selecionar as colunas dos teclados.
       O buffer 74LS244 foi esquematizado no circuito acima de forma a distribuir o sinal amplificado a todos os 8 teclados, aproveitando todos os pinos de saída.
       O circuito deve ser conectado diretamente aos pinos 28, 29 e 30 do PIC, e as colunas, aos seus respectivos teclados.


Volta à página principal.
Página inicial. Próxima página.
Índice dos artigos.
http://www.rogercom.com
© Copyright, 1999-2006 ROGERCOM - Antonio Rogério Messias - rogercom@rogercom.com
Todos os Direitos Reservados - All Rights Reserved.