Colegas,
Estou com este código no .TXT em anexo. O esquema também está anexado.
Nele o led pisca (500ms) só 1 vez quando a chave abre depois de ter estado fechada. Se a chave fechar e tornar a abrir, o led pisca novamente. E assim vai.
Mas o que pretendo é:
Gp0 = 0, led não faz nada
Gp0 = 1 por mais que 5 segundos, led pisca só 1 vez (500ms).
Se Gp0 ficar = 0 antes dos 5 segundos, led não faz nada e a contagem de tempo zera
Para o led piscar novamente Gp0 = 0 e Gp0 = 1 por mais que 5s
Quando eu crio um int=0; e coloco x++, e x==5000. Para de funcionar. O led nem pisca mais em momento algum.
Quem pode incluir este delay-retardo no código em anexo ?
O colega mineirin RV resolveu ===========================
GRATO
Tags:
Tudo bem. Valeu.
Vou fazer no mplab e coloco o arquivo .asm e o .hex aqui.
Te agradeço demais, mas esta pequena função será uma adição a um código maior e por isso teria que ser em c mesmo. É uma caixinha de som que pretendo fazê-la dar pausa tão logo o som parar no alto-falante. Coisa minha aqui. Nada tão importante.
Poxa já tava quase terminando kkk...
Ok desculpa aí.
Boa semana.
Boa tarde SF, (se não gosta que te chame pelas iniciais, avise),
por favor, remova o sketch da área de texto do seu tópico e anexe um arquivo com ele.
RV mineirin
Boa noite SF, (se não gosta que te chame pelas iniciais, avise),
encontrei o erro naquele arquivo que te enviei anteriormente.
Se ainda estiver precisando da ajuda, faça o que solicitei no post anterior.
RV mineirin
Colegas, este código em anexo faz o led piscar se eu pulsar o botão 3 vezes, só atua na abertura do botão. Isso significa que a variável x está incrementando. Porém, o que eu desejo é que o led só pisque 1 vez quando o botão abrir depois de estar fechado e ficar aberto por 5 segundos. Aí pensei em tirar o while, mas se eu fizer isso ele não vai mais aguardar o botão abrir, vai piscar o led logo ao ligar o circuito pois o botão está naturalmente em 0 através de um resistor de 10K (quando fecha vai para 1, ligado nos 5 volts). Então como é que teria que ficar ?
Boa tarde SF, (se não gosta que te chame pelas iniciais, avise),
testa este código.
RV mineirin
Bom dia, talvez o problema seja o bouncing do botão.
Faz uma rotina de debounce pra testar.
Bom dia F2M, , (se não gosta que te chame pelas iniciais, avise),
o problema foi resolvido com o ultimo código que postei.
RV minierin
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por