Debounce, Criando uma biblioteca para botões - Curso de Arduino #45

Поделиться
HTML-код
  • Опубликовано: 29 дек 2024

Комментарии • 41

  • @victorzocca
    @victorzocca 3 года назад +8

    por favor, sera que poderia disponibilizar a biblioteca? Obrigado pelas aulas, forte abraço

  • @marcoscascelli1049
    @marcoscascelli1049 Год назад

    Ótima biblioteca !
    Muito útil para evitar falhas na leitura de acionamento dos botões e erros com delay() através da função millis().
    Usando classes e orientação a objetos fica muito fácil lidar com botões.
    Parabéns pela aula e obrigado pela biblioteca !

  • @arduinomaquinas
    @arduinomaquinas 3 года назад +2

    Fessor, a explicação no momento [ 14:46 / 22:57 ] do vídeo, é muito boa, e bem didática. Dá pra entender perfeitamente como funciona o período pré estabelecido adquirido através de millis().
    Haja visto que millis() não pára, sendo possível determinar esse período normalmente.
    Parabéns, forte abraço !

  • @MarcosPaulo-fp3qt
    @MarcosPaulo-fp3qt Год назад

    Impressionante..

  • @leonardoturini7416
    @leonardoturini7416 4 года назад +2

    Bom dia, poderia disponibiliza a biblioteca do botão.

  • @esdrasas
    @esdrasas 2 года назад +3

    class Btn
    {
    public:
    int *pino;
    bool btnclicado;
    bool btnliberado;
    int ultimoEstadoBtn=LOW;
    unsigned long tempoPrimeiroAcionamento=0;
    unsigned long tempoDebounce=50;
    typedef void (funcao){void};
    //typedef retorno (nome_funcao)(Paramentros de entrada);
    Btn(int p){
    btnclicado=false;
    btnliberado=false;
    this->pino=p;
    }
    void clique(funcao *f){
    //Rotina Debounce
    int leitura=digitalRead(*pino);
    if (leirura!=ultimoEstadoBtn){tempoPrimeiroAcionamento=millis();}
    if((millis()-tempoPrimeiroAcionamento>tempoDebounce){
    //Debounce tratado, comanndos que serão executados no acionamento do botão
    if(digitalRead(*pino)){
    btnclicado=true;
    btnliberado=false;
    }else {
    btnliberado=true;
    }
    if((btnclicado)and(btnliberado)){
    btnclicado=false;
    btnliberado=false;
    f();
    }
    ultimoEstadoBtn=leitura;
    }
    };

  • @danielgoldackertec.emeletr6737
    @danielgoldackertec.emeletr6737 4 года назад +1

    Show

  • @OzielMarques
    @OzielMarques 3 года назад +2

    Boa tarde Professor. Não estou conseguindo encontrar no site o link para download da biblioteca.

  • @Sonhadoresdc
    @Sonhadoresdc 3 года назад

    Aula show! Iria rodar no tinkercad, mas não é possível exportar a biblioteca para lá. De qualquer forma, irei usar em projetos futuros.

  • @wilmarmr3416
    @wilmarmr3416 Год назад

    olá fessor, coloca a pagina on-line e disponibiliza a biblioteca por favor! abc T+

  • @joaovitorfacundo3576
    @joaovitorfacundo3576 Год назад

    Sabe como posso usar essa biblioteca para esp32? Quando vou compilar para a esp no Arduino IDE, ele mostra uma mensagem de erro

  • @polianaoliveira8241
    @polianaoliveira8241 4 года назад +2

    CFBCursos teria como disponibilizar o link para download

  • @enkiimuto1041
    @enkiimuto1041 Год назад

    Eu to confuso
    tempoPrimeiroAcionamento nunca é resetado, então o valor dele SEMPRE vai ser menor conforme o botão é apertado.
    O código vai funcionar na primeira vez como deveria, mas dai ele sempre vai fazer uma conta e rodar o segundo if que passa a função, não?
    O que eu to perdendo aqui?

  • @generalpurposepiupius6091
    @generalpurposepiupius6091 2 месяца назад

    Como consigo copiar o arquivo Btn.h?

  • @teusocost
    @teusocost 4 года назад +1

    Consegui compilar o código perfeitamente, contudo parece que o led fica com um brilho baixo. já testei outros led e portas e o problema permanece na programação.

    • @julianotorres9
      @julianotorres9 2 года назад

      Também estava com este problema, faltou colocar no Setup pinMode(ledPin, OUTPUT);

  • @Jurniores
    @Jurniores 3 года назад

    Qual diferença de instanciar um objeto com new e sem new, e porque em algumas aulas usam um arquivo .cpp para completar a classe e nessa foi tudo dentro de um arquivo só. o .h

  • @FabioOliveira-pi8ob
    @FabioOliveira-pi8ob 2 года назад

    Prof. a biblioteca "Btn.h" ainda tá dispensável para baixar? não achei ela no Site do canal.

    • @enkiimuto1041
      @enkiimuto1041 Год назад +1

      tb n achei, copiei a mão só pra er que um cara nos comentários colou ela ali =/

  • @orlandosouza6175
    @orlandosouza6175 4 года назад

    Bom dia, não encontrei o link para baixar a biblioteca.

  • @raquelcunha8337
    @raquelcunha8337 4 года назад

    Não achei o link da biblioteca Btn, pode enviar

  • @dudupotatoes
    @dudupotatoes 2 года назад

    ao invés disso, poderia apenas usar um delay de 50 mili segundos depois do acionamento do botão?

  • @albertocce
    @albertocce 5 лет назад

    Boa tarde! Por favor, como declara mais de um botão? Nesta parte "Btn btn = new Btn(btn_pino);"

    • @flaviorenatofrs
      @flaviorenatofrs 4 года назад +1

      Seguindo a mesma sequencia do skecth você pode empregar desta forma:
      #define btn_pino1 2
      Btn btn1 = new Btn(btn_pino1);
      #define btn_pino2 3
      Btn btn2 = new Btn(btn_pino2);
      #define btn_pino3 4
      Btn btn3 = new Btn(btn_pino3);

  • @ClebersonFS
    @ClebersonFS 5 лет назад

    nao achei biblioteca btn

  • @palitinho-mam
    @palitinho-mam 5 лет назад

    não consegui nem baixar.

  • @fabionitrox
    @fabionitrox 4 года назад

    não consigo importar a biblioteca, o IDE não reconhece

    • @flaviorenatofrs
      @flaviorenatofrs 4 года назад

      Acredito que para se usar ela tenha característica local. Seu arquivo de Arduíno deve ter na mesma pasta o arquivo Btn.h
      Foi por isso que na inclusão dela no projeto foi utilizada com aspas: #include "Btn.h"

    • @TheOrechio
      @TheOrechio 4 года назад

      @@flaviorenatofrs não encontrei o link para download

  • @ibirapit
    @ibirapit 6 лет назад

    O Arquivo da Biblioteca não está compilando

    • @cfbcursos
      @cfbcursos  6 лет назад

      Troquei o arquivo, confere lá

    • @ibirapit
      @ibirapit 6 лет назад

      Olá Boa Tarde! Tentei mas não consigo, criei uma pasta dentro da Libraries, chamado Btn e coloquei dentro o arquivo Btn.h, mas não consegui fazer o Arduinodriod reconhecer , todos os outros downloads do Curso de Arduino que baixei antes, nunca tive problemas.

  • @playmateck
    @playmateck 5 лет назад

    Olá Bruno, baixei a biblioteca e instalei no arduino mas não funcionou, alguma dica?

    • @flaviorenatofrs
      @flaviorenatofrs 4 года назад

      O arquivo Btn.h deve estar na mesma pasta(diretório) do seu arquivo Arduíno e a chamada de inclusão tem que ter aspas.

    • @Elvis-tx7iy
      @Elvis-tx7iy 3 года назад

      @@flaviorenatofrs manda para o meu email essa biblioteca, não encontrei, elvisalmeida06@gmail.com. Obrigado.

    • @michelrocha6878
      @michelrocha6878 3 года назад

      @@Elvis-tx7iy se você recebeu o biblioteca, manda para o meu e-mail por favor. mychelrocha@hotmail.com

    • @Elvis-tx7iy
      @Elvis-tx7iy 3 года назад

      @@michelrocha6878 na realidade é como o Flávio tinha dito, basta o arquivo Btn.h que ele escreveu esta na mesma pasta que funciona mas vou mandar sim. Não precisa incluir isso nas bibliotecas do arduino.

    • @DRAssestec
      @DRAssestec 3 года назад

      @@Elvis-tx7iy e @Micehel Rocha por gentileza manda a biblioteca para o meu e-mail: rogeroak@outlook.com , obrigado.

  • @Seyfert200
    @Seyfert200 Месяц назад

    "Lul" (=low), "debôuce" (=debounce) e "toogle" (=toggle) são de arrepiar...
    E, além disso, não disponibiliza nada e não responde aos comentários, mas coloca o link da Vakinha. PICARETAGEM pura, hein rapaz?

  • @cristianocarvalho5743
    @cristianocarvalho5743 3 года назад

    Bom dia, não encontrei o link para baixar a biblioteca.