A MELHOR TÉCNICA PARA LEITURA DE BOTÕES! | Curso de Arduino

Поділитися
Вставка
  • Опубліковано 30 жов 2024

КОМЕНТАРІ • 70

  • @userUndefined404
    @userUndefined404 4 роки тому +2

    Dica de nível sênior em sistemas embarcados. Obrigado pela aula, me deu uma visão ampla pra explorar mais.

    • @canalwrkits
      @canalwrkits  4 роки тому +1

      Muito obrigado Thalles! Isso aí, vamos com tudo neste ano para ajudar vocês ao máximo.

  • @natercionogueira6379
    @natercionogueira6379 4 роки тому

    Realmente um excelente vídeo, e como sempre, uma explicação detalhada e elucidativa do tópico abordado. Obrigado por compartilhar conosco esses conhecimentos.

  • @marcelogoncalves9814
    @marcelogoncalves9814 4 роки тому

    Show de bola agregou conhecimento, comprei o curso arduíno básico, está sendo legal o conhecimento que estou tendo acesso e sobre o avançado, quando sai, fico aguardando.

    • @canalwrkits
      @canalwrkits  4 роки тому +1

      Excelente Marcelo, bons estudos e fique atento ao canal para novidades!

  • @transistorbipolar2330
    @transistorbipolar2330 4 роки тому

    E no caso de faltar pinos de interrupção externa, tbm tem a opção do circuito com buffer pra dois botões ocupando apenas uma porta que o próprio WR publicou anos atrás. Tenho que recomendar essa pq serviu muito bem aos meus projetos!

  • @MultiBrunoCG
    @MultiBrunoCG 4 роки тому

    Olá professor, faço eng elétrica e semestre passado trabalhei com o ATMEGA328P, eu utilizava ponteiros para configurar os registradores e carregar valores, da seguinde maneira(o exemplo abaixo é apenas para ilustração):
    unsigned char *p_ddrd = (unsigned char*)0x2A;
    *p_ddrd = *p_ddrd | 0xFE;
    Essa maneira é mais efetiva comparada ao método que você mostrou utilzando shiftleft e bitwise? Lembrando que temos o problema de eu ter que buscar o endereço de cada registrador no manual do fabricante. Eu fazia dessa maneira pois o foco era realmente ganhar espaço de memória e acho que com ponteiros é bem efetivo.
    Desde já, agradeço pela aula!

  • @ricardojrtel
    @ricardojrtel 4 роки тому

    Gosto muito de programação com registradores. Parabéns

    • @canalwrkits
      @canalwrkits  4 роки тому

      Muito obrigado José! Continue nos acompanhando!

  • @SilvioMoises
    @SilvioMoises 4 роки тому

    Excelente aula por demonstrar formas diferentes de se chegar (aparentemente) no mesmo resultado funcional. Sugiro uma aula complementar para evidenciar o que coloquei como "aparentemente", processando outras coisas no loop. E também mostrar como ficaria no Mega, que tem outro processador.

    • @canalwrkits
      @canalwrkits  4 роки тому

      Valeu Silvio, sugestões anotadas.

  • @vitoriomarcos2022
    @vitoriomarcos2022 4 роки тому +1

    "Funções fofinhas da IDE do Arduino" kkkkkkkk
    Valeu por nos presentear com esses vídeos top no WR Kits!

  • @flaviooriguela1515
    @flaviooriguela1515 4 роки тому +1

    Top tô gostando muito disso estava muito interessado nas técnicas de programação do Atmega através dos registradores, torcendo para um curso de PIC pela Hotmart focado para desenvolvimento ou um curso de Arduino com Atmel Studio. 👏👏 Como sempre parabéns pela dedicação.

  • @josecarlostavaresribeiro6584
    @josecarlostavaresribeiro6584 4 роки тому

    Olá Wagner boa aula

  • @fvgoya
    @fvgoya 4 роки тому

    Quase um Assembler! kkk. Show de bola!!!!

  • @dudasertorio
    @dudasertorio 4 роки тому +1

    @Eng. Wagner [WR Kits], como fica a questão do ((debounce))(mal contato inicial que gera falsos clicks) nesse caso de uso direto dos registradores ?

  • @FabianoDresch
    @FabianoDresch 4 роки тому

    excelente!! parabéns mestre Rambo!!

  • @ronaldonery9157
    @ronaldonery9157 4 роки тому

    Muito show !
    Aula top como sempre.

  • @yanmoura693
    @yanmoura693 4 роки тому

    Obrigado mestre!

  • @Thiago_Eletricista
    @Thiago_Eletricista 3 роки тому

    video muito bom. amigo com eu poderia eviar uma letra para o displayquando acionar o botao usando esse codigo abaixo;
    #include
    #include
    #include
    LiquidCrystal_I2C lcd(0x27,16,2);

    #define botao_F 3 //define o botão no pino 3
    #define led_F 8 //define o led no pino 8
    void setup(){
    pinMode(led_F, OUTPUT);
    pinMode(botao_F, INPUT_PULLUP);
    lcd.begin (16,2); //inicia o display 16x2
    lcd.init();
    lcd.backlight();


    }
    void loop(){

    if(digitalRead(botao_F) == LOW){
    delay(100);
    digitalWrite(led_F, HIGH);

    } else {
    digitalWrite(led_F, LOW);

    }
    }

  • @andrefeliciano3813
    @andrefeliciano3813 3 роки тому

    Wagner, posso colocar PORTD = 0d01010101 para acender leds alternados em um só comando?

  • @eletrobeto555
    @eletrobeto555 4 роки тому

    Ficou show!!

  • @carluciorodrigues8189
    @carluciorodrigues8189 4 роки тому +1

    Vc poderia de agora pra frente programar só usando os registradores, assim nos abtuamos com esse processo, igual nós pics

    • @canalwrkits
      @canalwrkits  4 роки тому

      Pretendo continuar trazendo softwares com este nível de abstração, para explorar várias dicas com vocês.

  • @Thiago_Eletricista
    @Thiago_Eletricista 4 роки тому

    Teria condições de a cada aperto no botão. Para acionar 2 pinos?

  • @luizfernandorabelo5570
    @luizfernandorabelo5570 4 роки тому +1

    Pode parecer uma dúvida boba, mas sou iniciante na área. Se eu colocar o Arduino na bateria e configurar o botão como pull up, a bateria se esgotará mais rápido do que se o botão estivesse como pull down?

    • @canalwrkits
      @canalwrkits  4 роки тому

      Em geral o consumo não se modifica, a menos que mude o valor do resistor de PU/PD. Mas, como em geral utiliza-se 10k, o consumo por si só já é bem baixo.

  • @Rodrigo_RDA
    @Rodrigo_RDA 4 роки тому

    É para isso que eu pago a internet! Esse recuso é útil demais da conta! Poupar memória no Arduíno Uno é tudo pois ele estoura o limite de memória com muita facilidade, obrigando a galera partir para o Mega, que é bem mais caro...

    • @canalwrkits
      @canalwrkits  4 роки тому

      Exatamente Rodrigo, sempre temos que observar isso. Valeu!

  • @gurilab
    @gurilab 4 роки тому

    Se eu utilziar o arduino mega2560, os registradores são os mesmos, já que é feito pelo mesmo fabricante o integrado? Este vídeo pode ser aplicado facilmente ou terei que consutlar todo o datasheet do microcontrolador?

  • @eschoedler
    @eschoedler 4 роки тому

    Rambo, existe um flag no gcc que otimiza desempenho do código, mas gera um código maior. O flag é o -O2 (vai até -O3), o default do arduino eh -Os (você consegue ver no momento da compilação). Nunca fiz nenhum benchmark, mas em códigos que não ocupam toda a memória, vale mesmo usar -O2? Abraço.

  • @bfkautomacao3760
    @bfkautomacao3760 4 роки тому

    Mestre, na substituição de um capacitor 10uf / 35v com a ESR alta em uma fonte chaveada ! eu posso substituir por um com voltagem maior tipo "10uf / 50v"? isso vai dar diferença na oscilação?

    • @canalwrkits
      @canalwrkits  4 роки тому +1

      Não, pois a diferença é pequena. Uma tensão de trabalho ligeiramente superior não acarretará em problemas.

  • @anacletomarcal1313
    @anacletomarcal1313 4 роки тому

    Como sempre nos passando muito conhecimento! :v

  • @italodaniel5084
    @italodaniel5084 2 роки тому

    Tem curso de Arduino avançado?

  • @TheCesarmax10
    @TheCesarmax10 4 роки тому

    Show de demostração! :-) parabéns.
    Só fiquei com uma dúvida:
    E quanto ao tempo de atuação entre o click e o ligar ou desligar o led, é igual em ambos os códigos?

    • @canalwrkits
      @canalwrkits  4 роки тому +1

      Valeu Cesar! Quanto maior o espaço ocupado pelo programa, maior o tempo de processamento.

  • @renatosaraivalima
    @renatosaraivalima 4 роки тому

    Vai cortar esse cabelo!!😆😆😆😆

    • @canalwrkits
      @canalwrkits  4 роки тому

      Provavelmente esse ano eu corto. Hahah

    • @andrefeliciano3813
      @andrefeliciano3813 3 роки тому

      Estou maratonando o canal e cada vídeo ele está com o cabelo diferente kkkk

  • @Antherrely
    @Antherrely 4 роки тому

    Wagner, entre usar a interrupção externa e a varredura de botões por estouro dos timers, qual você recomenda?

    • @canalwrkits
      @canalwrkits  4 роки тому +2

      Pode-se combinar as duas técnicas para leitura de mais botões. Experimente criar um algoritmo para teclado matricial com 2 linha e N colunas. As linhas são as entradas de interrupção externa e as colunas serão varridas por interrupção do TIMER.

    • @Antherrely
      @Antherrely 4 роки тому

      @@canalwrkits show! Muito obrigado

  • @thiago27071987
    @thiago27071987 4 роки тому

    Top, top

  • @paulobazooka
    @paulobazooka 4 роки тому

    Uma sugestão: Já experimentou usar o VSCode com o plugin PlatformIO com IDE substituta ao Arduino? É muito melhor para a produtividade.

    • @canalwrkits
      @canalwrkits  4 роки тому +1

      Valeu Paulo! Já tentei instalar mas não funcionou, aí devido a correria acabei deixando pra outro dia. Uma hora dessas eu tento novamente para ver o que ocorreu de errado.

    • @paulobazooka
      @paulobazooka 4 роки тому

      @@canalwrkits Ah tranquilo. Realmente compensa muito. Utilizo o Linux e rodou redondo agora não sei no Windows. Parabéns pelo ótimo trabalho aqui na plataforma. Acompanho faz anos.

  • @jigsawdesigners8328
    @jigsawdesigners8328 4 роки тому

    nota 10

  • @neliosantos4014
    @neliosantos4014 4 роки тому

    Parabéns pelo vídeo, excelente qualidade! Uma dúvida: com relação ao bouncing, ele existe? Precisa ser tratado via capacitor ou podemos aplicar soluções via software?
    Pois ter bouncing em uma interrupção pode prejudicar o que estiver no looping. Neste caso, não tinha nada, mas em uma aplicação real, qual a melhor alternativa?

    • @canalwrkits
      @canalwrkits  4 роки тому

      Obrigado Nelio! Sim, existe o bouncing uma vez que os botões são contatos mecânicos. Pode-se realizar a filtragem digital por software ou aplicar capacitores externos. Melhor alternativa não existe, depende muito do contexto.

  • @MrEpungilo
    @MrEpungilo 4 роки тому +1

    Gostaria de um vídeo explicando como acionar válvulas proporcionais por PWM.

  • @thiago27071987
    @thiago27071987 4 роки тому

    Conseguimos aplicar uma memória externa para aumentarmos o tamanho dos códigos ?

    • @canalwrkits
      @canalwrkits  4 роки тому +1

      Com AVR não. Apenas poderá expandir a memória de dados (variáveis, vetores, etc) através de uma RAM externa ou mesmo uma EEPROM. No caso de um microcontrolador 8051 trabalhando em modo processador, pode-se expandir a memória de programa sim.

    • @thiago27071987
      @thiago27071987 4 роки тому

      @@canalwrkits muito obrigado tenho grande curiosidade sobre esta expansão de memórias, se possível poderia trazer este experimento e tbm os dual core dsPIC tratando audio com filtros e reverb, desde já grato

  • @jorgeneylimadossantosney8748
    @jorgeneylimadossantosney8748 4 роки тому

    bom dia o curso é nota 1000 ótimo mas estou com um problema no curso de Microcontrolador estou esando o mikloC pro for pic v.6.0.0 quando eu compilo
    o código aparece erro 357 e 102 como faso para resolver isso quem pode mim
    ajuda

    • @canalwrkits
      @canalwrkits  4 роки тому

      Olá Jorge, tem que verificar se a versão está instalada corretamente. Interprete os erros que ocorrem, o que eles informam. Eu sempre utilizo a versão 4.15

    • @jorgeneylimadossantosney8748
      @jorgeneylimadossantosney8748 4 роки тому

      @@canalwrkits obrigado vou verificar e baixa está versão 4.15

  • @fabiocesar9848
    @fabiocesar9848 4 роки тому

    eu consigo comprar em loja eletrica ou só site?

    • @canalwrkits
      @canalwrkits  4 роки тому

      Recomendo a Filipe Flop bit.ly/filipeflop-wrkits

  • @JeffersonBuenoLab
    @JeffersonBuenoLab 4 роки тому

    Like garantido...grande abraço

  • @julianolavarini4968
    @julianolavarini4968 4 роки тому

    Ninja!

  • @davidsalomao8228
    @davidsalomao8228 Рік тому

    como sempre muito dificil a programação. iniciantes não tem muito lugar nesse canal infelizmente.

    • @canalwrkits
      @canalwrkits  Рік тому

      Recomendo o curso de Linguagem C. Lá ensinamos desde o básico com riqueza de detalhes: go.hotmart.com/N48026554Y
      O canal tem mais de 3600 vídeos e é repleto de conteúdos para iniciantes.

  • @rumaocampos9328
    @rumaocampos9328 2 роки тому

    👀👏

  • @gilbertolameiro5648
    @gilbertolameiro5648 4 роки тому

    LIKE

  • @gilbgomez
    @gilbgomez 4 роки тому

    like

  • @JoaoSilva-zn8gd
    @JoaoSilva-zn8gd 3 роки тому

    Cara, que código horrível de se ler. Engenheiros também deveriam aderir ao clean code. Isso de deixar o código ilegível para parecer mais difícil é uma bobagem sem tamanho. Entre dois códigos que executam a mesma tarefa, com a mesma eficiência o melhor é o mais simples. Essa cabeça de criar um código que só você entende é muito ultrapassada.

    • @canalwrkits
      @canalwrkits  3 роки тому +1

      Não é o que os nossos mais de 290 MIL alunos falam sobre meus códigos. Faz assim, cria um canal, escreve os seus maravilhosos códigos e compartilhe de GRAÇA. Se é capaz de fazer melhor ótimo, quanto mais conhecimento compartilhado melhor.

    • @andrefeliciano3813
      @andrefeliciano3813 3 роки тому

      Só é ilegível para quem não estudou os registradores do microcontrolador. Entre dois códigos que um vou precisar de uma placa com mais memória e portanto mais cara e o outro para a placa mais barata por ter menos memória, vou preferir a que tem o custo menor