Ligar e Desligar LED

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Ligar e Desligar LED

Mensagem  brunocamba em Qui Abr 14, 2011 1:24 am

Fiz um programa para ligar o LED verde quando iniciar e ao apertar o botão 1 o LED vermelho se liga (se estiver desligado) ou se desliga (se estiver ligado), porém o programa não funciona sempre. Algumas vezes que aperto o botão ele não desliga ou não liga. Acredito que possa ser um erro no algoritmo ou que devido a sensibilidade do botão de vez enquando ele conte 2 cliques de uma vez ao apertar o botão.
Aqui está o fluxograma(achei um programa legal para fazer os fluxogramas. Chama Bizagi Process Modeler)

brunocamba

Mensagens : 3
Data de inscrição : 09/04/2011
Idade : 27
Localização : Belo Horizonte

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ligar e Desligar LED

Mensagem  Bruno S. Avelar em Qui Abr 14, 2011 8:05 am

Olá Bruno,

Obrigado pela dica do software!
Instalei o Bizagi Process Modeler em meu computador.
Ele é muito bem feito, completo, fácil de usar e é gratuito.

Link: http://www.bizagi.com/index.php?option=com_content&view=article&id=95&Itemid=107&_kk=process%20modeler&_kt=04d6071b-9b67-44d4-ae5d-812da9c872e9&gclid=CNPvgJvqm6gCFcxj2god7SCEHA

Possui cursos online para aprender a usar a ferramenta também gratuitos: http://elearning.bizagi.com/
Existem outras ferramentas da Bizagi úteis para modelagem e administração de projeto. Vale a pena conferir.
Eu recomendo este programa.

Vídeo sobre o programa


Quanto a sua dúvida:

Este comportamento inesperado de seu projeto não é devido ao algoritmo ou lógica. Todo botão ou chave mecânica possui um ruido quando é pressionado. Este ruido dura de alguns micro segundos até poucos milisegundos dependendo da qualidade do botão. Como o microcontrolador trabalha com uma freqüência alta ele é capaz de ler este ruído.
Este link para wikipédia explica com detalhes este fenômeno: http://en.wikipedia.org/wiki/Debounce#Contact_bounce

A solução é fazer um debouncer (retirador de ruido). O debouncer pode ser feito via hardware através de um filtro ou em firmware em seu código. A maneira mais simples de debouncer via firmware é ler o botão, esperar um tempo (tempo suficiente para o ruido passar) e ler novamente o botão. Caso em ambas as leituras o botão esteja pressionado significa que ele realmente foi pressionado.

Espero ter ajudado,

Bruno S. Avelar
avatar
Bruno S. Avelar
Admin

Mensagens : 74
Data de inscrição : 26/07/2009
Idade : 33
Localização : Belo Horizonte MG

Ver perfil do usuário http://picminas.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Ligar e Desligar LED

Mensagem  brunocamba em Qui Abr 14, 2011 8:59 am

Obrigado pela ajuda,Bruno! Adicionei o debouncer e agora ficou perfeito.
Esse programa é realmente muito bom. Já andei dando uma olhada nos cursos e gostei do que vi.

brunocamba

Mensagens : 3
Data de inscrição : 09/04/2011
Idade : 27
Localização : Belo Horizonte

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Ligar e Desligar LED

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum