Olá amigos,

estou começando a brincar com arduino e já estou tomando uma surra no meu primeiro projeto.

Quero que quando armar um relé, que acenda um LED, esse led é acesso da seguinte forma:

Se a porta do Relé for HIGH então o LED acende.. Bem a programação eu fiz sem problemas até porque é realmente muito fácil, o problema é que -- acredito eu -- a sensibilidade dessa porta é tamanha que qualquer energia faz com que a porta seja HIGH, exemplo.. Ao chegar perto do fio com minha mão o LED acende e a porta fica HIGH (monitorei imprimindo o valor).. Então, quando coloco o relé (mesmo estando fechado) a porta fica completamente louca, mostrando HIGH e depois LOW, e fica trocando entre um e outro...

Existe alguma forma de garantir que essa porta só seja ativada quando estiver fechado certinho?? Algum jeito de tirar essa sensibilidade toda da porta??

Obrigado a todos pelas dicas que tenho visto aqui pelo fórum e os tutoriais do site...

Abraços,

Alexandre Paixão

Exibições: 719

Responder esta

Respostas a este tópico

Amigo não sei qual o esquema de ligação que está usando, mas pelo jeito seu projeto está precisando de resistores de pullup ou pulldown, dependendo de como quer acionar essa entrada, com pulso positivo ou negativo, para manter a entrada estável até ser realmente acionada.

Você pode usar resistores externos ou ativar o pullup ou down interno do arduino.

Só uma correção, o Atmega328, atmega2560, não possuem pulldown integrado.

Oi Flavio,

Não entendi bem, acho que tem alguma incoerência ou eu não estou entendendo, você se refere a que na placa não tem resistores, é isso? E que devem ser declarados por software para que o pino escolhido tenha uma impedância maior, isso mesmo?, pq ficou um pouco ambígua sua resposta pra mim.

https://www.arduino.cc/en/Tutorial/DigitalPins 

Abs.

É apenas uma correção a essa frase " ou ativar o pullup ou down interno do arduino."

Acho que você fez confusão aqui " que devem ser declarados por software para que o pino escolhido tenha uma impedância maior"

Quando é adicionado um resistor de pullup ou pulldown a impedância do pino de entrada diminui, ok?

Então quando pinos digitais do Atmega são configurados como entrada, o programador tem a opção de ativar ou não os resistores de pullup. Esses resistores são integrados no chip.

Nem a placa do Arduino (UNO ou MEGA) e nem o microcontrolador possuem resistores de pulldown.

Oi Flavio,

Realmente foi erro na digitação por responder rápido.

Abs.

Eu acabei generalizando a resposta. Como sempre usei pullup interno, acabei me referindo a ambos como nativos do microprocessador.

Então, se precisar de resistor de pulldown, obrigatoriamente terá que usar resistores externos no circuito.

Bom dia,

Como o André já respondeu satisfatoriamente, queria adicionar apenas que estimo, que o seu problema não deve sera na saída e sim na entrada, se não tiver resistor na entrada haverá grande possibilidade de falsos positivos (Disparos erráticos) e muitas vezes se um botão é usando é como comando, é preciso implementar no código um atraso para evitar o bounce, 

Para saber mais, CLIK AQUI

Abs.

Obrigado amigos,

acabei fazendo algo como o Bounce, tratei uma quantidade de vezes em que existe a "interferencia" para garantir que fosse enviado apenas a mudança real. Com esses aprendizados agora, acredito que consiga mudar para dar um tratamento mais real para os eventos.

Obrigado pelas dicas e informações. :D

Que bom Alexandre!

Bons projetos pra você!

Abs.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço