[RESOLVIDO] Mantendo botão pressionado, para alterar funções.

Olá, 

Gostaria primeiramente de agradecer por me aceitarem como membro.

Sou iniciante em arduino.

Estou montando um projeto assim:

Quando ligo arduino (estadoInicial): liga led da porta digital 8.

Quando pressiono botao ele liga o led da saida digital 9, e se:

Mantenho pressionado o botao por 4 segundos arduino muda estado: (estado2) que faria o seguinte:

Desliga o led das portas digitais 8, mantem ligado led da porta 9, e liga o led da porta digital 10.

Se eu soltar o botao (a qualquer momento), volta para estado inicial.

Poderiam por gentileza analizarem o scketch abaixo e me mostrarem onde estou errando.

Muito Obrigado.

Exibições: 738

Anexos

Responder esta

Respostas a este tópico

Boa tarde. Estou no smartphone agora e não consigo ver seu código, mas pesquisei sobre isso esses dias. Vai no YouTube e pesquise por Botão Multifunções, você vai achar um vídeo do Wagner Rambo explicando um algoritmo para fazer isso, só com PIC. Basta entender a lógica de funcionamento e transferir para o Arduino.

Eu gostei bastante por não ter problemas de debounce.

Obrigado.

Boa noite.

Eu também sou iniciante em programação com arduino. Montei um programa que executa o que você quer fazer mas de uma maneira mais fácil.

Um canal no youtube que me ajudou muito foi o brincando com ideias ele dá algumas dicas legais. 

corrigido.txt

Boa Noite

Renato obrigado pela tentativa, também assisto os videos do prof. Flávio.

O seu sketch funciona 90 % o problema é que quando eu soltar o botão, precisa imediatamente voltar ao esta inicial e como você usou o "delay" dai trava tudo até acabar o tempo.

Muito Obrigado.

Boa noite JR,

Baixei seu sketch e verifiquei que ele tem erros de lógica.

Se você está interessado em aprender programar aqui vão alguns conselhos.

1  Antes de escrever um programa faça um fluxograma.

     Um fluxograma é passar para blocos isto que voce escreveu em forma de texto.

     Depois com o fluxograma pronto, parte-se para escrever o code.

     Fica bem mais fácil de fazer e descobrir falhas no code.

     Ao escrever, comente o que faz cada linha do seu code.

     Pode ser que daqui uma semana você se lembre do que ela faz, mas imagina se daqui um ano

     você ainda lembrará.

     Comentar linhas facilita também quando você vai pedir ajuda pra alguém que não conhece seu code.

    Anexei um arquivo com fluxograma do seu projeto, pra te ajudar a corrigi-lo. 

2. Mas se você só quer que este seu projeto funcione, e não quer aprender programar,

   informe e verei o que posso fazer pra corrigir seu code.

RV

Anexos

ScketchCorreto.txt

Boa Noite

Excelentes dicas, vou começar a usa-las com certeza.

Pretendo usar o programa Fritizing para desenhar as placas e acessórios e fluxograma vou fazer em Cdr.

Eu continuei hoje com o meu projeto e simplifiquei ele um pouco, deixando melhor a lógica (eu acho).

Bom está funcionando, acima o scketch 100 % funcionando.

Muito Obrigado.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço