Ó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 !
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 !
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?
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.
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
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);
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"
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.
@@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.
"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?
por favor, sera que poderia disponibilizar a biblioteca? Obrigado pelas aulas, forte abraço
Ó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 !
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 !
Impressionante..
Bom dia, poderia disponibiliza a biblioteca do botão.
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;
}
};
Show
Boa tarde Professor. Não estou conseguindo encontrar no site o link para download da biblioteca.
Aula show! Iria rodar no tinkercad, mas não é possível exportar a biblioteca para lá. De qualquer forma, irei usar em projetos futuros.
olá fessor, coloca a pagina on-line e disponibiliza a biblioteca por favor! abc T+
Sabe como posso usar essa biblioteca para esp32? Quando vou compilar para a esp no Arduino IDE, ele mostra uma mensagem de erro
CFBCursos teria como disponibilizar o link para download
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?
Como consigo copiar o arquivo Btn.h?
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.
Também estava com este problema, faltou colocar no Setup pinMode(ledPin, OUTPUT);
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
Prof. a biblioteca "Btn.h" ainda tá dispensável para baixar? não achei ela no Site do canal.
tb n achei, copiei a mão só pra er que um cara nos comentários colou ela ali =/
Bom dia, não encontrei o link para baixar a biblioteca.
Não achei o link da biblioteca Btn, pode enviar
ao invés disso, poderia apenas usar um delay de 50 mili segundos depois do acionamento do botão?
Boa tarde! Por favor, como declara mais de um botão? Nesta parte "Btn btn = new Btn(btn_pino);"
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);
nao achei biblioteca btn
não consegui nem baixar.
não consigo importar a biblioteca, o IDE não reconhece
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"
@@flaviorenatofrs não encontrei o link para download
O Arquivo da Biblioteca não está compilando
Troquei o arquivo, confere lá
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.
Olá Bruno, baixei a biblioteca e instalei no arduino mas não funcionou, alguma dica?
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.
@@flaviorenatofrs manda para o meu email essa biblioteca, não encontrei, elvisalmeida06@gmail.com. Obrigado.
@@Elvis-tx7iy se você recebeu o biblioteca, manda para o meu e-mail por favor. mychelrocha@hotmail.com
@@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.
@@Elvis-tx7iy e @Micehel Rocha por gentileza manda a biblioteca para o meu e-mail: rogeroak@outlook.com , obrigado.
"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?
Bom dia, não encontrei o link para baixar a biblioteca.