COMO FAZER UM PAINEL ORGANIZADOR DE ATENDIMENTOS (‘CHAMA-GARÇOM ELETRÔNICO’) USANDO UM ATMEGA8

0

Nos tempos modernos, aumentar a eficiência no atendimento ao público é uma prioridade. Somente os ‘eficientes’ sobrevivem a nossa ‘selva da concorrência’. Será que um painel de atendimento ajudaria seu negócio? Gostaria de fazer um você mesmo? Tem um pouco de habilidade com programação de microcontroladores e eletrônica? Então, veja este projeto….

Já há algum tempo, vemos a tendência de se usar paineis para orientar filas em caixas de banco e em supermercados. Agora, a mesma tecnologia está sendo usada para melhorar o atendimento na área de restaurantes e lanchonetes : O chamado ‘Garçom Eletrônico’ ou ‘Chama-Garçom’ , e muitos outros nomes divertidos. Alguns são implementados com complexos programas de computadores, rodando em rede, usando paineis de cristal liquido ou mesmo monitores de TV para a apresentação do atendimento.
Alguns fornecedores até mesmo implementam sistemas que monitora a eficiência de atendimento via relatório que podem ser impressos, etc. Lógicamente, não entraremos neste tipo de sistema. Usaremos o velho e bom microcontrolador para fazer um sistema caseiro com painéis de leds para mostrar em digitos de 7 seguimentos (ou poderá comprar um display gigante). Para o acionamento, usaremos controles remotos (chaveirinhos) que usem a tecnologia do ci Ht6p20b.
Veja o esquema abaixo:

DESCRIÇÃO GERAL DO CIRCUITO

O coração do sistema é o microcontrolador ATMEGA8. ‘Por que não um PIC ?’ , talvez você questione. Porque poucos pic’s tem 1 kbyte de Ram, 512 bytes de EEprom interna, e 8 kbytes de flash a um preço acessível. Neste projeto, desejava-se a gravação de 100 controles remotos de uso normal, mais 100 controles para reserva (pane do principal). Mas, usa-se 3 bytes por controle remoto na EEprom, com isto, percebe-se que daria para gravar na EEprom interna até 170 controles remotos. Mas não 200 no total. Para contornar esta ‘falta de memória EEprom’ foi feito o seguinte: São gravados apenas 100 controles na EEprom interna, e mais 100 controles na EEprom externa (24c08), via barramento i2c para comunicação nos pinos 27 e 28 do ATMEGA8. Foi usado os recursos internos do próprio ATMEGA8 que já disponibiliza por hardware interno esta comunicação (TWI), bastando apenas configurar inicialmente.
Para gravar ou apagar os controles na EEprom externa devemos retirar o jumper no conector J1, no pino 9 do ATMEGA8. No pino 14, entra o sinal provindo de um receptor comercial de rf 433 MHZ, destes usados em portões automáticos. Ele receberá as transmissões dos chaveirinhos (tx na mesa), tendo que ser da mesma frequencia também. Nos pinos 17 e 18 do microcontrolador, ficam respectivamente a chave ‘DEL’ = Deletar e ‘UP’ = Incrementar. Quando são apertadas juntas ao mesmo tempo, após 10 segundos, o painel entra em modo de programação. Se a chave ‘DEL_ALL’ for acionada junto com as anteriores, entrará em modo de apagamento geral das EEprom’s. Dependendo se estiver com o jumper em J1 ou não, será apagado uma ou outra memória. O botão ‘UP’ deverá ser usado para navegar entre os números 1 a 99. Se nesta ocasião apertarmos um chaveirinho (tx de mesa), este será gravado no endereço apontado, e incrementará para o próximo número. Agora, se apertarmos ‘DEL’ apagaremos o controle que estiver gravado na posição mostrada e depois irá incrementar. O objetivo é, em caso de errar a programação, corrigir de forma individual, um controle programado erroneamente, evitando ter que regravar tudo de novo.
Para sair do modo de programação, deve-se dar um ‘RESET’ ou desligar a alimentação.
Foi previsto uma saida de som que deverá ser ligado a um ci amplificador de som (LM 386 ou outros). Neste projeto, são geradas 3 notas em sequência, usadas para chamar atenção as mudanças no painel pelos garçons ou atendentes.
A fonte de alimentação de 5 volts pode ser externa ou interna com transformador 9 v, retificadores, capacitores,regulador de tensão de 5 volts,etc.

PROGRAMAÇÃO DO SISTEMA
Para realizar a porgramação no Atmega8, foi usado o Prog_Avr (hardware), junto com o programa PonyProg2000 rodando em um PC.
Após carregar o arquivo Hex no ATMEGA8 e coloca-lo no circuito, conforme esquema, se tudo estiver ‘ok’ deverá aparecer nos displays apenas ‘– — –‘ , ou seja , traços. Eles indicam que nenhuma mesa requisitou serviços. O próximo passo será programar os tx das mesas.
Passos para a programação:
1) Os controles deverão ser montados ou fixados juntos a identificadores com o número da mesa( veja sugestões abaixo).
2) Coloque todos os controles principais juntos (máximo de 100 controles). Deverão estar com baterias novas em todos.
3) Coloque o Jumper no conector J1. Iremos programar a memória EEprom interna do ATMEGA8.
4) Aperte os botões ‘UP’ e ‘DEL’ juntos até aparecer a letra ‘P’. Solte imediatamente os botões. Entrou em modo de programação.
5) Aperte o tx da mesa 1, em seguida voce ouvirá um toque musical e o mostrador incrementará o número para ‘P 02’.
6) Aperte o próximo tx , ou seja, da mesa 2. E assim sucessivamente até o total máximo de 99 mesas.
7) Se errar (pois ‘não a homem que não erre’), marque qual foi o número que errou, incremente até chegar novamente a ele e apague usando o botão ‘DEL’. Incremente de novo até o número e aperte o tx correto e siga dai com a programação dos próximos.
8) Para finalizar, dar um ‘RESET’ ou desligue a alimentação do painel.
9) Após programar os controles principais, poderá gravar um jogo inteiro de reserva. Para isto, retire o jumper do conector J1 (programação da EEprom externa).
10) Ao entrar em modo de programação, sem o jumper, aparecerá ‘P r 01’ (sendo o ‘r’ de reserva).
11) Com todos os controles de reserva já identificados por número de mesa, repita os passos de 4 a 8.
12) Dar um ‘RESET’ ou desligue a alimentação para sair do modo de programação.
13) Caso se perca com toda a programação, e não saiba mais o que fez, poderá apagar a memória interna e depois a externa e refazer os passos de 1 a 12.

APAGAMENTO GERAL

Retire o jumper do conector J1 e após ligar a alimentação, aperte ‘DEL’ , ‘UP’ e ‘DEL_ALL’ ao mesmo tempo por 10 segundos.
Quando aparecer a mensagem ‘APAGOU’ solte os botões. Desligue a alimentação ou de um ‘RESET’. Coloque o jumper no conector
J1. Repita a operação apertando ‘DEL’ , ‘UP’ e ‘DEL_ALL’ ao mesmo tempo por 10 segundos. Após a mensagem ‘APAGOU solte os botões. Desligue a alimentação ou de um ‘RESET’ para voltar ao modo normal ou aguarde para introduzir controles em modo de programação.

USANDO O SISTEMA

Após devidamente programado, ao apertar o botão do tx na mesa, irá gerar um número no painel e um toque sonoro. Após isto,não adianta apertar mais, que não produzirá nenhuma ação, visto que já está na fila para o atendimento. A visualização deste primeiro atendimento ficará no display mais a esquerda (dig5 e dig4). Se mais uma mesa fizer uma chamada, irá aparecer nos digitos do meio (dig3 e dig2). Mais uma chamada, nos digitos mais a direita (dig1 e dig0). Novas chamadas serão brevemente mostradas nos digitos mais a direita e retornando o número anterior. A fila de chamadas comportar até 100 atendimentos sequenciais. Após uma mesa ser atendida, o garçom aperta o botão de cancelar ( ou passa um imã que aciona o reed switch que liga o botão do tx). Toca-se o som, pisca traços, e desloca a inteira coluna de atendimentos. Cada atendimento irá gerar um deslocamento até que todos sejam atendidos.

LIMITAÇÕES DO SISTEMA

Como o sistema trabalha em mão única ( do tx para o rx), se vários tx de mesa forem apertados ao mesmo tempo, não funcionará , ou talvez o de sinal mais forte seja registrado. Se alguém intencionalmente, manter apertado um controle remoto, o inteiro sistema pode não funcionar. Para remediar isto, poderá ser montado junto aos transmissores,um pequeno circuito temporizador que permita um acionamento por um periodo apenas e impedindo acionamento continuo. Pode se tentar colocar um capacitor de 4,7 uF em paralelo com resistor de 470 k e em serie com o botão e ver se funciona. Ou um ci 555 temporizando, ou um transistor em polarização monoestavel (criatividade, avante!!!).
Interfêrencias externas como maquinas industriais, radioamadores, etc podem ser fonte de problemas. Dependendo da sua região, poderá atenuar a situação, por escolher as frequencias dos tx e receptor para uma que tenha pouca interferência. Existe controles e receptores para 230 MHZ, 315MHZ, 433MHZ, etc, além da possibilidade de recalibrar todos para uma faixa sua ‘exclusiva’. Mas exigiria muito trabalho fazer isto.
Alguns tx de mesa poderão sair da frequência com o uso por descalibrar ou bateria fraca. Portanto, deve-se optar por tx que tenham cristal para controle de frequencia ao invés de simples circuito LC com trimmer (que facilmente se descalibram). Baterias alcalinas devem ser a escolha mais correta, além da constante verificação de suas cargas, antes de operar o sistema.
Outro problema é a queda da energia elétrica. Visto que a fila de chamadas está armazenada na RAM, com o desligamento da energia será perdido todas as informações. Para contornar o problema, o painel poderá ter uma alimentação por bateria que garanta que não se perca as informações em caso de falta de energia e mantenha o sistema funcionando por um periodo suficiente. Como sugestão plauzivel: uma ou mais baterias de motocicleta em paralelo, cuja tensão é de 6 volts, com um diodo em série para reduzir a 5,3 volts, alimentando o Vcc. Deve-se prever a carga automática desta bateria quando em situação normal, como é feito nas luzes de emergências (algumas tem bateria de 6 volts, podendo fornecer a energia para o painel também).

ARQUIVO ASM

O sistema foi desenvolvido em volta da rotina de recepção do Ht6p20b, e a multiplexação foi embutida dentro de rotinas como ‘DELAYM’ de atrasos de tempo e outros lugares convenientes. Não se usa interrupção, de nenhuma espécie. Poderia-se usar o timer para cadenciar a multiplexação, como opção. De tempos em tempos, os botões ‘UP’ e ‘DEL’ são examinados quanto a entrar em modo de programação. Poderia-se usar mais os ponteiro ‘Y’ e ‘Z’ do ATMEGA8, o que reduziria código, más como temos memória flash sobrando, não fiz muito caso disto.
Os primeiros 100 endereços da RAM começando por 0x0060, inicia-se a pilha da fila de atendimento. Foi deixado um espaço generoso para operações do Stack da Pilha principal, usada nas instruções de ‘RCALL’ , ‘PUSH’ e ‘POP’. Procurei marcar as partes principais do programa, com cabeçalhos específicos, facilitando o entendimento do programa.
O sistema foi testado apenas em protoboard, sendo um protótipo didático para compreensão de operação e pode estar sujeito a bugs ainda não identificados que poderão surgir com o uso na prática. Como está sendo fornecido o arquivo asm, cada hobista poderá sentir a vontade para alterar o arquivo a medida que for necessário ou por aperfeiçoamentos no sistema, a seu próprio risco.

(Obs: Confira a palavra de ‘configuração’ para certificar que esteja como abaixo:)
Segue abaixo, sequência de ‘Print Screen’ da tela do PonyProg realizando a leitura da palavra de configuração do ATmega8 :

Para alterar o arquivo asm se desejado, poderá usar o Avr_Studio para compilar.
Abaixo temos uma sequência de telas que mostram como se pode fazer isto. Inicialmente, ao abrir o programa AvrStudio irá mostrar o abaixo.

Clique em ‘NEW PROJECT’. Irá aparecer a tela abaixo, em seguida, clique em Atmel Avr Assembler e em Project Name, digite um nome para seu projeto, no caso, ‘CHAMA_G’.

Em sequencia, deverá definir o microcontrolador a usar (no caso, Atmega8) :

A seguir, clique em ‘NEXT’, irá aparecer a tela abaixo, mostrando um arquivo em branco:

A seguir, copie o arquivo asm fornecido (usando o Control_c e control_v) dentro deste arquivo vazio. Ficará como abaixo:

Agora, faça as alterações desejadas e compile novamente com a função ‘BUILD’ ou tecla ‘F7’. como abaixo:

Se tudo correu bem, veremos uma mensagem de ‘compilação bem sucedida’, e com ‘0’ erros. Senão, corrija os erros e tente recompilar de novo.
Veja abaixo uma tela, com compilação ‘ bem sucedida’:

Procure na pasta do arquivo ASM, que junto deverá estar o arquivo HEX, já pronto para ser usado com o PonyProg.

Segue o arquivo ASM:

CHAMA_G_ASM

Segue o arquivo Hex:

CHAMA_G_HEX

Segue abaixo, uma versão com som e piscadas mais rápidas:

chama_garcon_sr_asm
chama_garcon_sr_hex

E a versão para catodo comum:

CHAMA_GARCOM_K_ASM
CHAMA_GARCOM_K_HEX

Segue opção de um drive para display anodo comum para maior brilho:

Saida_transistores_anodo_comum

Segue abaixo, um vídeo caseiro com apagamento geral da memória externa sendo realizado. Observe que foi apertado os 3 botões juntos (‘DEL_ALL’,’UP’ E ‘DEL’) e sem usar o JUMPER.

[stream base=x:/blog.larios.tecnologia.ws/iBlog/wp-content/photos/2012/12/ flv=apag_mem_ext.flv embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false /]

Segue abaixo, o apagamento geral da memória interna do ATmega8. Note que inicia colocando o ‘jumper’. Após acionar os 3 botões juntos (‘DEL_ALL’,’UP’ E ‘DEL’), irá aparecer a mensagem ‘APAG I’, indicando apagamento da EEprom interna.

[stream base=x:/blog.larios.tecnologia.ws/iBlog/wp-content/photos/2012/12/ flv=apag_mem_int.flv embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false /]

Segue abaixo, video com o acionamento de vários controles de mesa. Note que o ultimo display ( o mais a direita) apresenta o novo controle que entrou na fila por alguns instantes e volta a apresentar o 3° a ser atendido na fila de espera.

[stream base=x:/blog.larios.tecnologia.ws/iBlog/wp-content/photos/2012/12/ flv=varios_control.flv embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false /]

Segue abaixo, video com o acionamento inicial de 2 controles de mesa (mesa 3 e 2) e como aparecem no display.

[stream base=x:/blog.larios.tecnologia.ws/iBlog/wp-content/photos/2012/12/ flv=atuando_2_control.flv embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false /]

Segue abaixo, video mostrando a programação de controles reservas. Inicialmente, são apertados os botões ‘UP’ E ‘DEL’ por 5 segundos, para entrar em ‘MODO DE PROGRAMAÇÃO’ e o ‘JUMPER’ deve ser retirado (sem jumper). O display passa a apresentar ‘P R 01’, indicando que se for apertado um controle de mesa brevemente, irá ser gravado como controle reserva na EEprom externa. Obs. O aperto têm que ser breve, para que não comece a gravar o mesmo controle na próxima posição.

[stream base=x:/blog.larios.tecnologia.ws/iBlog/wp-content/photos/2012/12/ flv=prog_controles_r.flv embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false /]

Segue video com o uso do botão ‘UP’ e ‘DEL’ em modo de programação, para incrementar manualmente a posição a gravar ou apagar. Se erramos uma gravação, podemos com ‘UP’ acessar a posição a apagar e depois apertar ‘DEL.

[stream base=x:/blog.larios.tecnologia.ws/iBlog/wp-content/photos/2012/12/ flv=usando_up_del.flv embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false /]

Segue video mostrando o programa PonyProg rodando no PC, o gravador caseiro (hardware) Prog_Avr e o Protoboard com a montagem experimental do ‘Chama-Garçom’.

[stream base=x:/blog.larios.tecnologia.ws/iBlog/wp-content/photos/2012/12/ flv=pony_prog_avr_proto.flv embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false /]

Sugestão de tx de mesa N1 -> aqui
Sugestão de tx de mesa N2 -> aqui
Sugestão de tx de mesa N3 -> aqui

Segue abaixo, um esquema para impedir que alguém apertando o controle continuamente, atrapalhe o funcionamento (TRAVA_GRAÇA). Usa-se um PIC nos botões de acionamentos e ele que acionará os botões do ht6p20b.

Segue o arquivo ASM para o ‘Trava_graça’:

TRAVA_GRACA_ASM

Segue o arquivo HEX com temporização no botão de ‘chamada de garçom’:

TRAVA_GRACA_T_HEX

Segue o arquivo HEX com único acionamento do botão de ‘chamar o garçom’:

TRAVA_GRACA_NT_HEX

Ainda uma versão que, após 5 min., desliga o led de indicação e envia automaticamente transmissão para cancelar vinda do garçom:

TRAVA_GRACA1_ASM

E o seu HEX:

TRAVA_GRACA1_HEX

Segue a versão do ‘TRAVA_GRACA_SLEEP_ASM (versão de baixo consumo):

TRAVA_GRACA_SLEEP_ASM

Segue a versão do ‘TRAVA_GRACA_SLEEP_HEX (versão de baixo consumo):

TRAVA_GRACA_SLEEP_HEX

Manuais:
Datasheet atmega8
datasheet 24c08

Preços de Pic e EEprom

Curiosidades:
Conserte seu carro com segurança
Trem sem rodas!!!
Mentir é ‘trabalhoso’
Olhando dentro do corpo
Ponte da Torre – Entrada para Londres
O planeta vivo

Outros assuntos:
Quatro dicas para lidar com problemas financeiros e dívidas
Como lidar com sucesso com os sogros
Como reagir a um assédio sexual
Como parar de adiar as coisas
Casais – Como parar de discutir
Como sobreviver ao primeiro ano de casamento
Mudanças que os filhos trazem ao casamento
Conceito correto sobre os desastres naturais
O que fazer quando seus pais estão se divorciando
Como posso controlar meu peso?
Como ter ánimo para fazer exercícios?

Até o próximo artigo!!!

0

66 comments

  1. 0

    Olá Claudio Boa noite

    Estamos desenvolvendo um sistema chama garçom com algumas diferenças do seu, gostaria de sabe se voce faz a programação para o sistema, se tem algum contato, para podermos conversarmos?? desde já agradeço Douglas Moraes

    1. 0

      Olá Douglas! Vejo que você tem um interessante desafio a frente. Quanto a prestar serviços de programação, eu não realizo serviços nesta área. Eu apenas compartilho alguns ‘projetos’ que foram bem sucedidos neste blog e que foram realizados em base de ‘hobby’. Que sabe o artigo ‘chama-garçom’ possa ser útil para uma ‘base’ neste seu empreendimento.
      Cláudio

  2. 0

    ola claudio parabéns pelo trabalho vi aqui que oce falow que teria como colocalo um tela queria saber se tem como ligalo a uma tv ou um sistema que rodaria no pc para reconhecer mostrado num player onde conseguiria colocar clips e show para interagir meu clientes aguardo seu contato

    1. 0

      Olá Renato! Obrigado por seu comentário apreciativo. O protótipo aqui postado utiliza unicamente display de 7 seguimentos. Não disponho de sistema integrável com PC. Verifique sites de programas para PC, que possam ser usados para gerenciar atendimento de cliente mostrando em tv’s a led ou monitores.
      Claudio

  3. 0

    Boa noite meu amigo, na verdade usei as suas informações deixando em enable os que foram marcados, porém quando inicio o atmega, aparece tudo zero e não consigo programar to tentando achar onde está o erro, por acaso não tem a mesma versão em “C” talvez seja mais fácil. De qualquer forma obrigado por sua atenção e parabéns pelo projeto.

    1. 0

      Olá William! Tente buscar ajuda junto ao fabricante do seu programador universal quanto a ajustes dos bits de configuração. Alguns tem que clicar para habilitar e outros deixar sem clicar (inverso). Quanto a ter versão em “C”, está disponível somente em Assembly, mas isto parece ser irrelevante no problema em questão, exceto pelo fato de talvez ser mais fácil de você interpretar o código.
      Cláudio

  4. 0

    Boa tarde meu amigo, gostei muito de seu projeto porém nunca trabalhei com atmega8, e estou tendo dificuldade em programar os fuses, visto que estou trabalhando com um gravador universal, se puder me dar alguma dica agradeço.

    1. 0

      Olá William!
      Realmente, a programação do Atmega8 é um pouco diferente do pic. Como também sou apenas hobista, não tive a oportunidade de usar um programador universal (digamos que seu custo era um tanto alto).
      Mas, poderá olhar no artigo onde apresento as imagens com os valores dos bits de configuração, que deverão servir de base para você fazer os ajustes em seu programador. Caso tenha duvidas, consulte concomitantemente o datasheet do Atmega8, pois ele informará o que faz cada um. Sucesso no seu empreendimento!

      Cláudio

  5. 0

    ola, muito obrigado pela pagina, tudo e muito bom, enquanto a fazer uma temporizacao pra HT6P20, o mais facil e poner un R=1mohm en paralelo com un C=220nF, e isto en series con o botao que dispara o IC, gera un pulso curto (100mS) y depois se apaga, desculpe-me por meu portugues, mais sou Argentino!

  6. 0

    Boa tarde Claudio, gostaria de saber qual o alcance existente utilizando o módulo e receptor de 433,92 MHz, estou desenvolvendo o meu próprio tx ao invés de utilizar os chaveiros de portão eletrônico.
    E não estou conseguindo um alcance maior que 15m, vc teria alguma dica para me dar? Estou utilizando um encoder ht6p20b, um modulo transmissor de 433,92 compatível com o receptor colocado no display, uma antena de de aproximadamente 17 cm como indicado no datasheet de ambos, e alguns leds para demonstrar o acionamento dos botões cancelar e chamar.

    Gostaria de saber se você consegue me ajudar a obter uma distancia maior para o acionamento.

    Desde de já grato.

    1. 0

      Olá Gustavo! O alcance não é muito grande dependendo dos obstáculos, poderá chegar a no máximo 30 metros. Em lugares que necessita usar em distancias maiores, é costume usar repetidores de sinal.
      Eu não entendo de transmissões, somente arrisco programar pics. Portanto, não poderei ajudar neste seu problema.
      Claudio

  7. 0

    Boa noite amigo Claudio
    Penso em ter visto um esquema para catodo comum, mas não estou encontrando pode me indicar onde está ?

  8. 0

    Bom dia Claudio, desculpe o incomodo mais uma vez, gostaria de saber onde eu posso encontrar o alto falante de 8 ohms porque estou tendo dificuldades para comprá-lo, ou se existe algum outro que pode substituí-lo sem problemas?

    Desde já grato!

    1. 0

      Olá Luis! O alto falante de 8 ohms é um dos mais comuns, sendo encontrado em qualquer eletrônica de venda de peças. Poderá ser miniatura, do tipo usado em radinhos de pilhas, ou maior. Depende da caixa onde ele será montado e não é crítico. Em resumo, qualquer alto falante pode ser usado.
      Cláudio

  9. 0

    Olá Claudio, a respeito desse projeto tentei ligá-lo com uns displays simples (seis) de 2.3″ porem a baixa voltagem que sai das portas do micro creio que não me permitiria acendê-los, e também a baixa corrente em cada segmento do display não faria com que ele tivesse um brilho considerável, gostaria de saber o que eu poderia fazer para solucionar esses problemas sem alterar significativamente o projeto atual?

    1. 0

      Olá Gustavo!

      Realmente, a corrente que sai pelo emissor é limitada pela baixa tensão da base (5v -0,7v = 4,2 v).Pode-se tentar reduzir os valores de r26 a r31 para 100 ohms, aumentando a corrente dos seguimentos para 20 mA. Uma outra solução seria usar um segundo transistor para conseguir maiores correntes . Assim, maiores tensões podem ser usadas (ex. 12v). Nesta maneira, é possível fazer um display com vários leds em cada seguimento (até 5 leds em série, em 12v). Lembre-se de controlar a corrente máxima, alterando o resistor (r26 a r31) nos seguimentos.
      Cláudio

      1. 0

        Ok, Claudio. Testarei com essa configuração, desde já agradeço.
        Retorno para falar do resultado.

        Obrigado.

  10. 0

    amigo sobre o trava graça montei ele e deixei em teste , estou usando uma bateria c2032 só que mesmo com led desligado seu consumo foi alto e durou apenas uns 8 dias em media , duas duvidas primeiro onde altero o tempo de auto desligamento e teria como fazer o pic consumir mesmo tipo um stand by , para duarar mais tempo a bateria de 3v agradeço assim que puder me informar , outra coisa não existe uma maneira no blog de indicar que vc respondeu as vezes um projeto ja esta muito para tras e fica dificil de encontar

    1. 0

      Olá Liliano! Vou verificar assim que tiver um tempo. Quanto a respostas, clique no alto da pagina do blog em ‘Comentários recentes’ que você verá de imediato se tem uma resposta ou não. Depois , clicando no comentário (parte ‘verde’) ira linkar direto para o assunto.
      Claudio

  11. 0

    Olá, gostaria de saber como eu faria para ter um dispositivo no caso um controle para ficar com o garçom, com 3 botões e cada um desses botões apagar uma posição correspondente no display?
    obrigado !!!

    1. 0

      Olá Luiz! Fazer esta mudança envolveria mudar significativamente o arquivo ASM atual , sendo necessário criar uma zona separada na memória para estes controles e novas rotinas relacionadas. Não irei mais mexer neste projeto, pois ele é muito demorado de ser montado no protoboard, e não estou dispondo de tempo para isto. Mas , como o arquivo asm está disponível, você poderá estudar o funcionamento, bem como altera-lo segundo suas necessidades.
      Claudio

  12. 0

    ola amigo este projeto mesmo que servira mas tem uma coisa seria possivel no modo tempo ele contar tipo uns 5 minutos passando este tempo ele mesmo transmitir o codigo do cancela e apagar o led votando ao estado inicial , e alterar o tempo de TX do chama e cancela pois acho que tem que ser uns 500ms ou até mesmo 1S montei e não deu tempo para acionar o unicode precisaria de mais tempo , acho que o tempo que vc colocou foi de uns 250ms .
    Amigo levando em conta que se em 5 minutos vc não foi atendido pode mandar o garçom embora , o sistema cancelando automaticamente o cliente vai perceber que o led apagara sozinho e o proprio estabelecimento avisando por meio de propaganda que o cliente vai ser atendido em 5 minutos para apertar o botão novamente se isso não ocorrer .

      1. 0

        amigo ficou muito bom este tempo esta legal , obrigado novamente , acho que agora esta quase protegido , o ideal seria um sistema tipo wereless , que o receptor respondese pro transmissor que o codigo chegou e que ele aguardase o cancelamento , mas seria complexo se tratando de mesma frequencia codigos e teria que usar um sistema transceptor , ai ficaria 100% , mas este ja esta 98% , obrigado mais uma vez até as proximas .

        1. 0

          Olá Liliano! Fico feliz com o bom andamento. Mas, desde o início já havia previsto todas estas dificuldades. Também já achava que tinha que ter um sistema de 2 vias, em que o receptor respondesse quando recebesse a transmissão. Mas, pela pesquisa que vem boas idéias!!!
          Claudio

  13. 0

    amigo muito obrigado até segui seu consenho a respeito do avr , baixei a versão 4 pois a versão 6 não conseguia fazer nada , com este eu até fiz a modificação e deu certo mesmo assim obrigado , como havia falado estou empenhado em aprender assembler , agora sobre como usar o avr não achei , onde foi que vc colocou ?

    1. 0

      Olá Liliano! Realmente, esquecido do Avr. Um livro que me ajudou a programar em assembler, na linha do Atmel Avr, foi “Microcontroladores Avr – Tecnicas e Aplicações Praticas – (Leonardo Marcilio Schunk e Aldo Luppi) da Editora Érica. Apesar de focar um modelo antigo de processador at90s1200, ele mostra as mesmas instruções usadas nos mais modernos. A varios bons livros neste assunto. A idéia é aprender bem as instruções e recursos. Mas para cada modelo, terá que estudar o seu datasheet, para pleno uso, pois a diferença é muito grande de um processador Atmel para outro. Use o ambiente de programação AvrStudio e poderá usar um simples programador para avr. Quando você for usar um determinado modelo, estude programas prontos de outros colegas para pegar o ‘jeito’ de fazer. Sempre tome cuidado com a bendita ‘palavra de configuração’, no uso do watchdog (registrador que quando ligado irá resetar o microcontrolador depois de um tempo, se não receber uma instrução ‘clear watchdog’), na escolha do tipo de oscilador (se interno, se externo a cristal, baixa ou alta frequencia,etc), nos espaços reservados para bootloader( areas que podemos colocar um programa para carregar automaticamente novos programas na flash, sem um programador externo, mas usando um pino ligado a uma serial de pc), no uso de proteção de espaços de memória e flash, etc. Atente também aos endereços fixos de interrupção, que nos Atmel são inúmeros e tem que ser respeitados. Também, diferente do pic que só apaga flags resetando, nos Atmel poderá haver caso de ter de apagar ‘setando’ o bit (ao contrário). E não esqueça que a paciência é a maior virtude do programador, seguida de sua amiga ‘persistência’.
      Claudio

  14. 0

    caro amigo mais uma vez te incomodando , sobre o arquivo HEX é que ele esta para display catodo comum meu compilador é muito complicado e não sei como faço copilação para hex até sei que comentado é para um display e descomentado é outro mas não consigo mudar no meu compilador seria pedir muito que vc o faça para mim , agradeço

    1. 0

      Olá Liliano! Use o AvrStudio, abrindo um novo projeto, escolhendo o atmega8, modo assembly, e cole o conteudo do arquivo asm do ‘chamagarçom’ em um arquivo novo. Renomeie a seu gosto e recompile. Será gerado um arquivo hex junto a pasta do arquivo asm. Uma vez que voce está mexendo com microcontroladores, seria muito interessante você começar a usar algumas ferramentas de compilação, bem como iniciar alguns projetinhos simples em asm.
      Claudio

  15. 0

    amigo ta certo então assim que vc tiver um tempo e montar vc me fala ok , sobre o as piscadas eu preciso que seja mais rapidas pois esta levando em media uns 3 s isso faz com que outro controle não funcione neste tempo poderia ser tipo 1,5s e sobre o ruido é tipo da data do mirco que esta sendo amplificada mas acho que é porque o ci amplificador esta com muito ganho de entrada eu usei igual o do circuito sim , estou ate tirando algumas fotos para te enviar ok , e sobre o outro projeto vou publicar no proprio projeto del assim fica melhor pra vc

    1. 0

      Olá Liliano! Montei no protoboard o chama_garçom. Em seguida, apaguei as memórias interna e externa . Gravei 2 controles apenas na interna. Desliguei a alimentação. Descarreguei os capacitores e esperei. Religuei o circuito. Apertei cada controle e ambos funcionaram perfeitamente, sem apresentar o problema que você mencionou. Experimente gravar outro atmega8 e testar. Também, reduzi os tempos de piscadas e um pouco no tempo do som. Veja como ficou acessando os arquivos ASM e Hex.
      Claudio

  16. 0

    amigo , ele só perde o digito 1 da memoria do atmega da eeprom não , testei varios controles e acontece com qualquer controle que seja gravado com o numero 1 teste gravar outro numero primeiro tipo o 5 e depois gravei o 1 desligando da alimentação e esperando um pouco quando o liga acinando o 5 ele funciona mas acionando o 1 os traços piscam indicando o recebimento da data mas não acende o digito

  17. 0

    Olá Claudio! Estou procurando o esquema do chamagarçom, pois aqui no meu pc só aparece o esquema do portão, aliás, em todos os projetos seus só aparecem o esquema do portão.
    Obrigado por ter respondido meu questionamento.
    Feitosa

    1. 0

      Olá Jfeitosa! Isto parece muito estranho. Não recebi nenhuma reclamação quanto a isto, exceto a sua. Tente abrir o esquema neste link aqui. . O Titulo é ‘call_waiter’. Se não conseguir, verifique o funcionamento de seu PC em atuação na Internet. Tente usar outro navegador.
      Claudio

      1. 0

        Claudio, em todos os nevegadores que testei (firefox, IE e Chrome) inclusive em dois PCs diferentes todos deram o mesmo problema, apenas no chrome em um determinado momento apareceu dois esquemas metade superior de um e inferior de outro. Mesmo no link que indicou aconteceu o problema.
        Att.,
        Feitosa

        1. 0

          Boa Noite…

          Sobre o problema reportado por você, parece ser um problema de cache (Proxy,Browser,Acelerador de Conexão). Se você utiliza algum serviço deste tipo, por favor desative e realize uma nova tentativa. Também como medida adicional, apague todo o conteúdo que está armazenado no cache de seu Browser.
          Sucesso!

  18. 0

    Claudio, bom dia! Parabéns pelo seu trabalho!

    Gostaria de saber porque o esquema eletrônico esta aparecendo o do controle de portão e não o esquema do projeto em questão.

    Grato!
    JFeitosa

      1. 0

        Obrigado Claudio, mais uma questão, no projeto ” HT6P_CLONE_PIC629 – GERANDO CÓDIGO HT6P POR SOFTWARE EM UM PIC 12F629″ quando você diz:” O número que será enviado pode ser alterado no arquivo ASM e depois recompilado ” em que local mais especificamente posso fazer isso ?? Alterando o SER2 ?? obrigado pela atenção.

        1. 0

          Olá Acacafe!!! Voce pode alterar no facilitador no inicio do código asm conforme pode ser visto na porção de programa a baixo:

          ; CLONE HT6P_PIC.ASM

          ;
          ; INICIO : 01/07/12 TERM.: 18/08/2012
          ; AUTOR: CLÁUDIO LÁRIOS
          ; BLOG ‘LARIOS.TECNOLOGIA.WS’
          ; PROCESSADOR: PIC 12F629
          ; OBJETIVO: GERAR POR SOFTWARE, O PROTOCOLO PRODUZIDO PELO INTEGRADO HT6P20B
          ; PODE-SE CRIAR PEQUENOS CONTROLES REMOTOS (CHAVEIRINHOS), OU ACIONAR, DIRETO DA
          ; APLICAÇÃO, UMA SAÍDA PARA TX DE RF.
          ; APLICAÇÃO PARA FINS DIDÁTICOS APENAS.

          ; PINAGENS PARA O PIC12F629 (675):

          ; PINO 1- +VCC
          ; PINO 3- ENTRADA DO BOTÃO ‘S0’ (ACIONA C/ GND)
          ; PINO 2- ENTRADA DO BOTÃO ‘S1’ (ACIONA C/ GND)
          ; PINO 4- PULLUP 10K AO VCC
          ; PINO 5- NÃO USADO
          ; PINO 6- NÃO USADO
          ; PINO 7- SAÍDA DE RF (SAÍDA PARA O TX DE RF)
          ; PINO 8- GND
          ;—————————————————————————————————
          ;DEFINIÇÕES DO USUÁRIO:
          ;—————————————————————————————————
          ;ESCOLHA AQUI O MODELO DO MICROCONTROLADOR A SER USADO:
          #DEFINE PIC629
          ;#DEFINE PIC675
          ;—————————————————————————————————-
          ;ESCOLHA AQUI O NÚMERO DO ‘SERIAL NUMBER’ A SER TRANSMITIDO:
          SER0 EQU 0X01
          SER1 EQU 0X23
          SER2 EQU 0X0F
          ;OBS. (OS BITS 6 E 7 DE SER2 CORRESPONDEM AOS BOTÕES )

          Ou seja, você pode alterar SER0,SER1,SER2 (24 BITS), conforme desejar.
          Claudio

  19. 0

    Bom dia Cláudio estava me comunicando com você através do artigo “organizador de fila rápida” estou estudando o artigo “chamada de garçon” e acho que vai cair como uma luva em minha necessidade, não conheço os uc avr, estou mais acostumado com os pics, mas nada que umas boas leituras não nos coloquem a par desses uc, principalmente no que você comenta a disponibilidade de memória. Uma pergunta, ao invés de utilizar os “chaveirinhos de transmissão” seria muito complicado desenvolver transmissores com os modulos de rf de 433 mhz acoplado a um uc tipo 12f675 (ou similar avr) ??

  20. 0

    amigo , conversei com um fornecedor de atmega ele me disse que sera discontinuado mas sera fabricado o atmega8a que segundo ele vai substituir o antigo atmega8 , sera melhor porem projetos feitos para atmega8a (novo) não rodara no antigo dependendo do projeto ok , mesmo assim se tiver feito a mudança sera de utilidade né , outra coisa seria possivel os numeros que ficarem na espera junto com os numeros do mostrador ficassem passando igual ao uma matriz de leds , mas tipo 08 / 05 / 06 este são os do mostrador tempo real ai ficaria assim 05 / 06 / 02
    o 2 seria o primeiro da memoria a assim por diante 06/ 02 / 12 no caso o 12 seria o seguinte , tipo que rodasse em circulo os numeros chamado seria interessante pois resolveria o problema do cliente não ver seu numero correto .

    1. 0

      Olá Liliano! Este tipo de coisa ficaria melhor em matrix de leds, pois dá para perceber o deslocamento dos numeros de forma lateral. No 7 seguimento, já não fica tão bonito este efeito , apesar de atender a necessidade de informar os clientes que seu pedido está sendo ‘processado’. Por enquanto, vai para o ‘caderninho’.
      Claudio

    2. 0

      Olá Liliano! Estava pensando com meus ‘botões’! Os 3 display tem função primaria de mostrar aos garçons quais mesas tem que ser atendida primeiro. Se começarmos a rodar estes números nos 3 display, como eles saberão qual deve ser atendido?
      Claudio

    3. 0

      Olá Liliano! Montei no protoboard e carreguei com o hex do site. Não tive os problemas relatados por você. Coloquei acima (no artigo do ‘chama-garçom”) como deve ficar a palavra de configuração do atmega8. Por favor confira se está igual.
      Claudio

      1. 0

        Liliano
        eletronicamaucontato.com
        lspriores@hotmail.com
        189.106.161.32
        20/02/2013 às 19:17
        não sei se você prefere que eu descreva o problema no projeto relacionado ou se pode ser feito no ultimo projeto mesmo , mas vou tentar te explicar melhor quando gravei o primeiro numero (1) o circuito fez tudo certo avançando pro proximo numero (2) até ai tudo certo porem faço toda a gravação isso são 70 controles mas quando desligo e ligo novamente o circuito pressiono o botão de chamada do numer(1) os traços piscam mas não acende o numero mas isso não acontece com os demais , uma observação é que se eu fizer uma gravação na eeprom deste numero ele funciona memorizando corretamente na memoria , outra coisa é que este erro ocorre tanto faz se eu entra no modo de programação e escolhe o numero que vou gravar tipo se eu for gravar o primeiro numero o 45 ai gravar os demais o numreo 45 que foi o primeiro a ser gravado some , outro problema seria no ruido de data no amplificador e o atraso de chamada tipo é pressionado o numero pisca 3 vezes porem leva 3 segundo para ele parar preciso diminuir isto para o mais rapido possivel , não sei se vai afetar no sinal sonoro , amigo acho que agora da pra entender
        e sobre o projeto que te falei é aquele que vc fez 10 versões diferente com o pic 12f629 e opção para o pic12f675 acho que chama RECEPTOR DE CONTROLE REMOTO GENERICO PARA HT6P20B COM PIC 12F629 queria uma versão para 4 cnais para pulso ou retenção sendo possivel altrar via programa mesmo sem juper e sem led status

        Rejeitar | Responder | Edição rápida | Editar | Spam | Lixeira

        1. 0

          Olá Liliano!

          Agora sim, deu para entender!!! Gostaria sim, que enviasse o comentário no próprio artigo, visto que isto facilita quando preciso olhar o esquema , ou mesmo, o asm , para entender o que você explica. Quanto as piscadas, elas podem ser mais rápidas, pois elas ocorrem após a geração do som musical. Mas para reduzir mais tempo, terá que reduzir o som ou gera-lo externamente. Algum motivo especial para esta redução? Quanto a não gravação do primeiro controle, terei que montar no protoboard todo o circuito e começar a testar. Poderá levar algum tempo. Quanto ao ruido, preciso ver sua origem. Voce usa o mesmo circuito do amplificador ou diferente? É externo? Usou algum filtro RC para melhorar?
          Com respeito ao receptor de 4 canais que deseja, surge uma pergunta: Como será obtido este quarto canal? O Ht6p20b somente fornece recurso para 2 botões ou seja 3 canais, uma vez que o o quarto seria tudo desligado. Veja:
          00 – tudo desligado
          01 – canal 1
          10 – canal 2
          11 – Canal 3
          Poderia explicar como pretende usar? (Por favor, ‘não economize linhas’,ok!!!)
          Cláudio

  21. 0

    ola,mais um bom projeto,vendo alguns displays neste projeto,que tal anotar no seu caderno um projeto de um placar eletronico,para futsal,wireless, com display para marcar os numeros de gol com dois digitos, e relogio minutos e segundos,com start stop,e se faltar energia fique na memoria.

    obrigado.

  22. 0

    amigo outra coisa verifiquei no mercado que o atmega 8 está sendo descontinuado , hoje até consigo encontrar pra compra mas futuramente não mais , teria como mudar o projeto para o atmega 16 o mairo problema seria a quantidade de pinos que é maior vc pode me explicar se não for muito dificl que eu mesmo o faço , obrigado

    1. 0

      Olá Liliano! Para fazer a migração, teria que estudar TUDO que tem nos pinos do ATMEGA16. As vezes, existem funções adicionais que exigem configurações prévias para operar uma porta, coisa que talvez não necessite no outro. As pinagens, com certeza terão que ser mudadas. Eu não tenho na região este circuito integrado e portanto, não terei como testar. Mas, vou estudar o datasheet e ver se tem muita diferença. Depois eu te digo.
      Cláudio

  23. 0

    ola , nem sei como te agradece por dispor do seu tempo é simplesmente fantastico o seu conhecimento ainda estou separando os propjetos que te faeli pra te enviar ok , mesmo assim queria encontrar uma forma de te agradecer nem que seja de fazer uma montagem deste sistema e te enviar ou sei lá , vê uma forma ai e me fala , obrigado

Comments are closed.