PAINEL CHAMA-ATENDENTE ESCOLAR PARA ATÉ 99 SALAS (PROTOCOLO RS485)- COM PIC 12f675 e PIC16f628A (REF 151)

0

O uso de painéis para indicação de número de chamada está se tornando comum em bancos, lanchonetes, etc. Que tal um painel para uso escolar?

Lembro-me de quando estudava na escola, existia um painel indicador de chamada na sala do atendente. Os professores em suas salas de aulas podiam apertar um botão especifico que acionava a chamada do atendente escolar. A chamada era indicada por mostrar o número da sala com uma luz acesa, e tocar brevemente uma cigarra, para chamar atenção do atendente.
Apesar de usarmos muita tecnologia nas comunicações, como o uso de celulares, ainda podemos fazer uso destes dispositivos para atender necessidades ocasionais em uma escola.
O sistema é composto por um receptor e varios transmissores, sendo um em cada sala que se deseja o sistema.
Comecemos com o receptor do sistema. Veja o esquema abaixo:

No receptor temos um PIC 16F628A e um painel com 2 digitos de 7 seguimentos para indicar o número da sala que emitiu o pedido. Também são colocados 2 botões para que se possa operar o sistema. O primeiro botão nomeado de ‘Ver’, serve para ver a sequência de pedidos guardados na memória. Assim, ao pressiona-lo, veremos o 2º que pediu, após um tempo, o 3º terceiro, etc, até que apareça dois traços no painel (–) indicando que não tem mais nenhum pedido memorizado.
O outro botão nomeado de ‘Remover’ tem a função de apagar o pedido que já foi atendido. Fica a cargo do atendente operar estes 2 botões.
O circuito tem uma saída usando um rele, para acionar em seus contatos uma cigarra ou buzzer, sinalizando com som o pedido de atendimento.
Cada novo pedido ocorrerá um breve toque da cigarra/buzzer e piscará no display o número da nova sala que está também chamando. Ao encerrar o toque, o display volta a mostrar o primeiro da fila a ser atendido.
Para comunicar com os transmissores das salas, foi optado em usar o protocolo RS485, com dupla condução de sinal, por meio de par de fios transados. Isto garante um bom funcionamento mesmo em grandes distancias, mesmo com interferências elétricas do ambiente.
O receptor se encarrega de enviar um a um, e sucessivamente, o número dos transmissores, através da linha RS485, a 9600 Bauds.
Quando o transmissor recebe o seu número, e se ele estiver com seu led aceso (pedido feito), então ele transmite seu número de volta para o receptor. O receptor providencia então gravar o número deste transmissor na EEprom na sequência correta de pedidos (primeiro pedido no começo da fila e o ultimo no fim da fila).
Ao apertar ‘remover’ no receptor, os transmissores que deverão ter seu leds apagados (finalizar pedido), receberão seu número serial com o bit 7 setado. Isto ocasionará o desligamento do led no transmissor escolhido.
O receptor deverá ser provido de uma fonte de 12 volts, de 2 amperes, para alimentar todos os transmissores ligados a ele, por meio de 2 fios adicionais. Pode-se pensar em usar um cabo de 4 fios e blindagem, sendo 2 para rs485 e outro para 12 volts e o aterramento no último, em especial em locais de alto indice de ruídos elétricos. Também, pode-se pensar em usar cabos de redes com vários fios transados, usando apenas 4.

Agora vamos ao transmissor. Veja o esquema abaixo:

Para cada transmissor usamos um pequeno pic de 8 pinos, o 12F675. Ele acessa a rede RS485 atráves do chip Max487 (se usar até 32 tx’s poderá usar o Max485).
Uma caixa com 2 interruptores e um led compõem a aparência externa deste transmissor.
Um botão fazemos o pedido de atendimento, acendendo o led, e o outro botão podemos cancelar o pedido, apagando o led.
Poucos componentes foram usados. O cristal ou mesmo um ressonador cerâmico é necessário para estabilizar a velocidade da transmissão em 9600 Bauds.
A alimentação procederá do receptor, e abaixada de 12 para 5 volts, pelo regulador 7805.
Cada transmissor deverá ser carregado com o Hex com seu número diferente do outro.
Nos arquivos desta montagem está sendo fornecido 99 hex diferentes, cada um para o seu respectivo transmissor. O arquivo hex de nome ‘TX1′ irá mostrar o número ’01’ no painel ao ser acionado. O mesmo se aplica ao ‘TX2′ que mostrará ’02’ e assim por diante.
Para usar 99 transmissores deverá ser usado o chip MAX487 com maior capacidade de corrente. O chip MAX485 é indicado apenas para até 32 transmissores.
Obs. Esta montagem foi feita apenas em placa de protoboard, sujeita a bugs ainda não observados até agora. Está sendo fornecido os arquivos que poderão ser alterados segundo a necessidade do hobista. Trata-se, portanto, de um protótipo. Monte em placas de protoboard e realize seus testes antes de partir para confecção de placas de circuito impresso.
Como o circuito envolve muitos transmissores, não foi possível testar todos, mas apenas alguns usando sempre números diferentes.
A linha rs485 exige que se coloque resistores de terminação de 120 ohms em cada lado da linha. Isto reduz o risco de mau funcionamento.
Abaixo vemos como devem ser ligados entre si, os transmissores e o receptor.

Segue pasta com os arquivos desta montagem:

chama_atendente_

Para uma versão simples do chama-atendente (sem microcontrolador) veja o ‘chama_inspector’.

Manuais:
MAX487 DATASHEET
PIC12F675 DATASHEET
PIC16F628A DATASHEET
RS485 INFO

Curiosidades:
Cuidado com os ferrões venenosos!
Viver à sombra de um gigante adormecido
Como cuidar de seu sorriso
Minha luta contra a endometriose
Um filme marcante completa cem anos
A pena da coruja
Ver o interior do corpo sem cirurgia
Seda — “a rainha das fibras”
Use a tecnologia de modo respeitoso e econômico

Outros assuntos:
Como ensinar seu filho a usar a internet com segurança
Por que rejeitar a pornografia?
Como ser feliz no casamento?
Um site para você
Estou pronto para sair de casa?
Quando seu casamento não é o que você esperava
Como resolver diferenças no casamento
Como recuperar a confiança no casamento
Como controlar o estresse
Quando um dos cônjuges tem necessidades especiais
Aprenda a perdoar
Como acabar com a tática do silêncio
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Adolescentes- O que fazer se estou sofrendo bullying?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?

Até o próximo artigo!!!

0

22 comments

  1. 0

    olá Claudio boa tarde ,daria para fazer um sistema inverso um transmissor com até 99 canais.e usar receptores individuais.

    1. 0

      Olá Marcos!
      Acredito ser possível. Quanto ao áudio, somente em formato digital pode trafegar pela rede RS485.
      Cláudio

  2. 0

    Olá, muito interessante esse projeto. Muito parecido com o que eu preciso.

    Venho tentando sem sucesso implementar uma comunicação com RS485 e protocolo Modbus RTU (escravo), no PIC 16f628. Tenho um código com as funções 1 e 5 do protocolo(posso disponibilizar), mas preciso das funções 3 e 16.
    Poderia me ajudar?

    1. 0

      Olá Gelson!
      Obrigado por seu comentário. Infelizmente, não sou conhecedor do protocolo em questão, nem tenho material que possa ser de ajuda. O ‘Painel chama_atendente’ não segue este tipo de protocolo, mas apenas um protocolo ‘caseiro’ que atendeu a necessidade.
      Cláudio

      1. 0

        Obrigado pela sua atenção!

        Tenho um código que funciona, mas não atende minhas necessidades.
        Tenho muitos outros códigos para PIC maiores, e esses eu não consigo porta-los para o 16f628. Posso coloca-los aqui para quem tem interesse ou pode ajudar a modificar o código.
        Gelson

        1. 0

          Olá Gelson!
          Ficaria muito grato com sua colaboração por enviar estes códigos aos colegas do blog. Poderá abrir um tema no forum, e colar os códigos por assuntos. Pode ser que alguém com mais familiaridade possa ajuda-lo na sua empreitada.
          Cláudio

  3. 0

    Bom dia Sr. Claudio Larios, tentei simular o projeto no proteus mas o display só fica piscando o digito central. Sabe informar se é normal isso acontecer no proteus ?? Revisei todo o circuito e esta tudo certo, tem ideia onde estou errando. Estou usando o proteus 7SP1 (x64) V6.01
    Obrigado.

    1. 0

      Olá João!
      Esta montagem foi realizada com componentes reais em placa de montagem experimental (tipo protoboard). Não saberia informar se roda bem no Proteus, pois não é uma ferramenta que tenho usado. Experimente buscar ajuda nos blog dos usuários de Proteus, ou caso algum colega leitor deste blog tenha feito esta montagem no Proteus, que talvez possa te dar uma dica.
      Cláudio

  4. 0

    Boa noite Claudio é muito difícil incluir nesse projeto uma impressora térmica (tipo xing ling) para que se possa obter um relatório dos acionamentos que foram feitos e atendidos. Tem alguma ideia de como posso proceder ? Tem que alterar muito o projeto, se tiver deixa quieto. Obrigado, abraços !

    1. 0

      Olá Paiva!
      As impressoras térmicas, em geral, necessitam de um drive rodando em um PC para estabelecer comunicação e ter a plena funcionalidade. Percebe-se de pronto, que o sistema atual não está nem de perto preparado para esta funcionalidade adicional. Talvez fosse interessante migrar para um sistema usando PC onde poderia tirar as muitas vantagens do uso do sistema operacional, especialmente pensando nas futuras necessidades que venham a ser acrescentadas.
      Claudio

  5. 0

    Bom dia meu amigo Cláudio uma pergunta é muito difícil fazer acender dois conjuntos de display de sete segmentos, um sinalizando a última chamada e o outro uma chamada anterior, mais ou menos parecido como no “Chama-Garçom-Eletrônico” mas só com dois conjuntos de display??
    Tem como dar umas dicas ??
    Desde já Obrigado

    1. 0

      Olá Acacafe!
      Se você notar, todos os pinos do PIC16f628a já foram utilizados. Envolveria um novo projeto com um pic com mais portas de saída. No momento, não tenho a menor ideia de como fazer o que pede, mesmo em caráter de ‘dica’.
      Cláudio

  6. 0

    Bom Dia Claudio, Só tenho uma coisa a dizer ” CARA VOCÊ REALMENTE É UM MONSTRO “, kkkk, solucionou todos os meus problemas, obrigado e salve o famoso “caderninho”, abraços e que Deus te ilumine sempre.

  7. 0

    😛 Olá Claudio, vc tem alguma sugestão para este exemplo de rs485 para colocar led para indicar a rede se comunicando, tipo TX, RX

    1. 0

      Olá Foxconn!
      O pino 17 do pic 16f628a fica oscilando entre ‘1’ para enviar dados e ‘0’ para receber dados. Poderá colocar um led com resistor em série do vcc a este pino que acenderá quando estiver recebendo. Outro led poderá ser colocado deste pino ao gnd com um resistor limitador, para indicar quando transmite dados.
      Cláudio

  8. 0

    🙂 Estava aguardando alguns exemplos com rs485, Claudio esta versão os tx so envia o serial, ou aguarda uma confirmação do rx que recebeu o numero do serial

    1. 0

      Olá Foxconn!
      O receptor envia o primeiro serial e aguarda por um tempo curto, o transmissor enviar seu serial também se estiver com led aceso (acionado). Se não receber nada, passa a enviar o próximo numero serial e repete até o 99.
      O receptor controla o sentido de operação da rs485.
      Cláudio

      1. 0

        😛 :razz:Claudio com esta ideia ai, da para bolar acionamentos de placas na rede como reles para lampadas e motores etc. Um painel que comanda varias placas com diversas funções.

  9. 0

    boa noite lario.
    com todo respeito este multaplicavel projeto voce deve ter inspirado bem longe hem srsr.com o auxilio da imaginação este desenho pode se estender a muitas outras aplicações domesticas,é genial mesmo.
    muito satisfeito com aquilo que voce posta aqui no blog congratulation mesmo.

Comments are closed.