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

  Рет қаралды 11,000

CFBCursos

CFBCursos

Күн бұрын

Debounce, Criando uma biblioteca para botões - Curso de Arduino #45
Link deste vídeo: • Debounce, Criando uma ...
Na aula de hoje do nosso curso de Arduino vamos aprender como resolver o problema do bounce ao utilizar botões e vamos também implementar uma super biblioteca para botões.
Nosso curso de Arduino online gratuito, além de ser um curso bastante completo é a melhor forma de você aprender sobre Arduino.
Arduíno é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel com suporte de entrada/saída embutido, uma linguagem de programação padrão que é essencialmente C/C++. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por novatos e profissionais. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas.
Pode ser usado para o desenvolvimento de objetos interativos independentes, ou ainda para ser conectado a um computador hospedeiro. Uma típica placa Arduino é composta por um controlador, algumas linhas de E/S digital e analógica, além de uma interface serial ou USB, para interligar-se ao hospedeiro, que é usado para programá-la e interagi-la em tempo real. Ela em si não possui qualquer recurso de rede, porém é comum combinar um ou mais Arduinos deste modo, usando extensões apropriadas chamadas de shields[10]. A interface do hospedeiro é simples, podendo ser escrita em várias linguagens. A mais popular é a Processing, mas outras que podem comunicar-se com a conexão serial são: Max/MSP,[11] Pure Data,[12] SuperCollider,[13] ActionScript[14] e Java.[15] Em 2010 foi realizado um documentário sobre a plataforma chamado Arduino: The Documentary.
Além do curso de Arduino aqui em nosso canal você vai encontrar vários outros cursos, sempre com foro em informática avançada, todos cursos completamente gratuitos e com uma didática única que você só encontra aqui no CFB Cursos.
Site Oficial do Arduino
www.arduino.cc/
Link direto para download do software
www.arduino.cc...
HTML + HTML5: goo.gl/nkEFd9
CSS3: goo.gl/Aywzrj
Javascript: goo.gl/HK3ZYn
PHP + MySQL: goo.gl/5eFh1M
Site do canal
cfbcursos.com.br
Colabore com nosso canal:
Qualquer valor usando o PIX: pixcfbcursos@gmail.com
Página de cursos no site
cfbcursos.com.b...
e-mails:
perguntas@cfbcursos.com.br
canalfessorbruno@gmail.com
Outros Links:
Vídeo Colabore com nosso canal: • Video
Canal youtube: / canalfessorbruno
Instagram: cfbcursos ou @cfbcursos
Twitter: @cfbcursos
Facebook: canalfessorbruno
KZbin: / canalfessorbruno
vakinhas
www.vakinha.co...
www.vakinha.co...
Produção: Bruno P. Campos / CFB Cursos
Edição: Bruno P. Campos / CFB Cursos
Licença padrão do KZbin
#cfbcursos #arduino #automacaoarduino #automacao #programacaoarduino

Пікірлер: 39
@vitaozocca
@vitaozocca 3 жыл бұрын
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 жыл бұрын
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..
@esdrasas
@esdrasas 2 жыл бұрын
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; } };
@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.
@danielgoldackertec.emeletr6737
@danielgoldackertec.emeletr6737 4 жыл бұрын
Show
@leonardoturini7416
@leonardoturini7416 3 жыл бұрын
Bom dia, poderia disponibiliza a biblioteca do botão.
@OzielMarques
@OzielMarques 3 жыл бұрын
Boa tarde Professor. Não estou conseguindo encontrar no site o link para download da biblioteca.
@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
@wilmarmr3416
@wilmarmr3416 Жыл бұрын
olá fessor, coloca a pagina on-line e disponibiliza a biblioteca por favor! abc T+
@polianaoliveira8241
@polianaoliveira8241 4 жыл бұрын
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?
@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
@teusocost
@teusocost 4 жыл бұрын
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);
@dudupotatoes
@dudupotatoes 2 жыл бұрын
ao invés disso, poderia apenas usar um delay de 50 mili segundos depois do acionamento do botão?
@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 Жыл бұрын
tb n achei, copiei a mão só pra er que um cara nos comentários colou ela ali =/
@cristianocarvalho5743
@cristianocarvalho5743 3 жыл бұрын
Bom dia, não encontrei o link para baixar a biblioteca.
@raquelcunha8337
@raquelcunha8337 4 жыл бұрын
Não achei o link da biblioteca Btn, pode enviar
@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 жыл бұрын
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
@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.
@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.
@orlandosouza6175
@orlandosouza6175 4 жыл бұрын
Bom dia, não encontrei o link para baixar a biblioteca.
Interrupções / attachInterrupt - Curso de Arduino #46
16:19
CFBCursos
Рет қаралды 14 М.
Controlando Motor de Passo com Arduino - Curso de Arduino #31
29:50
What's in the clown's bag? #clown #angel #bunnypolice
00:19
超人夫妇
Рет қаралды 25 МЛН
This mother's baby is too unreliable.
00:13
FUNNY XIAOTING 666
Рет қаралды 41 МЛН
Receptor infravermelho (IR) - Curso de Arduino #41
15:49
CFBCursos
Рет қаралды 26 М.
Como controlar velocidade de motor usando Arduino
5:28
Elétrica e Eletrônica IFTM
Рет қаралды 8 М.
Sensor de Temperatura LM35 - Curso de Arduino #68
22:55
CFBCursos
Рет қаралды 26 М.
Tocando melodias com o Arduino - Curso de Arduino #40
30:35
CFBCursos
Рет қаралды 9 М.
Protocolo I2C e biblioteca Wire - Curso de Arduino #64
18:52
CFBCursos
Рет қаралды 14 М.
S11E05 - Incrível dica de como realizar Debounce de forma simples e eficaz
10:44
Bobsien “Bobsien”
Рет қаралды 1,3 М.
Módulo de interface para display I2C - Curso de Arduino #54
15:13
AttachInterrupt( ): Como resolver botão bugado no Arduino! #ComoProgramar
19:03
Como criar bibliotecas para Arduino? (O GUIA DEFINITIVO)
25:44
Lobo da Robótica
Рет қаралды 12 М.