Fala galera,

Tenho tentado e falhado em fazer um controle simples de lâmpada com push button no Arduíno. 

Quero que o LED responda da seguinte forma:

Ao apertar o botão 1 vez, ele diminua o brilho do LED (pensei em 5 níveis de brilho divididos proporcionalmente entre mínimo e máximo, desconsiderando o LED apagado). E conforme vá apertando, ele vá diminuindo o brilho. Então ao apertar uma vez, supondo que o LED esteja no máximo, ele vai diminuir 1/5 do brilho, ao apertar + 1 vez depois de um intervalo configurado, + 1/5 e por aí vai até chegar no mínimo. Não quero que ele retorne ao máximo ao estar no mínimo e nem que apague.

Ao apertar 2 vezes, oposto. Vá aumentando da mesma forma, sem que ao estar no máximo se apertar novamente vá para o mínimo. Literalmente o oposto do outro. 

Ao apertar o led por 5 segundos, se apagado liga na última intensidade em que estava acesso. Se aceso, independente da intensidade, apagar.

Busquei alguns códigos para tentar entender os conceitos do push button, contagem de tempo e controle de luminosidade mas não tive muito sucesso.

Recomendam algum conteúdo para ler? Ou conseguiriam fazer um bom código bem comentado para que eu consiga entender?

Estou usando minha placa (um arduíno mega). Mas particularmente já nem sei se fiz as ligações de maneira certa entre LED, push button, resistores e arduíno.

Fico no aguardo de uma luz de vocês! Valeu!

Exibições: 552

As respostas para este tópico estão encerradas.

Respostas a este tópico

Bom dia. Muito interessante seu projeto. Sou novo aqui no site, mas pelo que vejo nos forum por ai a fora e vejo também como sugestão, vc deveria colocar algum codigo aqui, partir de algum ponto, para que a galera lhe ajude. Por exemplo: tem um codigo basico na IDE do arduino com nome de DIMMER, já é um inicio para controlar o brilho do seu led enviando dados pela serial, vc poderia mesclar esse código com outros códigos(PWM) , e por ai vai. Se eu encontrar algo aqui envio para vc.

Boa ideia. Eu não enviei aqui porque os que eu vi não consegui fazer funcionar... Não sei se é porque não fiz a ligação certa na placa... Mas vou averiguar mais e mandar aqui!

Boa tarde S, (se não gosta que te chame pelas iniciais, avise),

para anexar um sketch faça o seguinte procedimento:

Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo"

RV

Achei esse cara aqui no YouTube:

https://youtu.be/YJ8V1pgZb_4

E me baseei exatamente no que ele fez:

Baseado aqui

Mas mesmo ligando exatamente igual, não funcionou...

Código e tentativa

Queria ao menos fazer este funcionar, porque poderia adaptar o código para o que eu desejo. 

Boa tarde S,

vc tem este código digitado aí com vc?

Se tiver, mesmo que não funcione corretamente, anexe-o aqui para que a gente não

tenha que digitar tudo dele e use os ports que vc está usando.

Lembre-se, não cole o código na área de texto, e sim anexe um  arquivo com ele.

RV

Vou testar seu código, mas fiquei com uma duvida nesta frase:

 Não quero que ele retorne ao máximo ao estar no mínimo e nem que apague."

Se o minimo é zero, o LED vai estar apagado.

Não entendi.

RV

Eu não colocaria o mínimo como zero. Colocaria como 1/5. Se o brilho máximo é 255, suponhamos que ele estivesse no máximo.

O 5º valor, e o brilho mais forte, seria 255

O 4º 204

O 3º 153

O 2º 102

O 1º 51

Quando ele estiver no brilho 1 (51), ao apertar o botão 1 vez para diminuir o brilho novamente, eu não quero que ele desligue nem que vá para o brilho 5 (255). Entendeu?

Mesma coisa o contrário, se ele estiver no brilho 5 (255) e eu apertar o botão 2 vezes para aumentar o brilho, não quero que ele vá para o brilho 1 (51) nem que desligue!

Eu não entendi o que vai acontecer então quando chegar no máximo ou no mínimo ?

Vai ter apenas 1 botão no seu projeto para aumentar e o mesmo para diminuir ? Ou terá 2 botões ?

Ou vai ser 1 toque no botão para aumentar e 2 toques no mesmo botão para diminuir ? (sem lógica circular, chegou no máximo ou no mínimo e continua como está).

Oi S,

escrevi este sketch, mas ainda está incompleto.

Ele só tem a parte de incrementar e decrementar o brilho.

Faz um teste ai e veja se é assim que precisa, antes que eu continue com a parte de apagar e acender.

Ah, e ainda não está documentado

RV

botaoDuplaFuncao2.ino

Vou testar! Você testou em algum arduíno?

RSS

© 2022   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço