Go Down

Topic: Ajuda para usar a biblioteca Bounce (Read 1 time) previous topic - next topic

renatop

Opa,

Sou muito leigo no arduino (e qualquer outro microcontrolador)...

Estou tendo muito ruído nas leituras dos pinos e me disseram para fazer um debounce que ajudaria a diminuir..
Mas estou tendo uma dúvida no que diz respeito ao "debounce_interval":
---
Bounce(byte pin,unsigned long debounce_interval)
---
Esse é o tempo mínimo que o pino tem que ficar no estado para que ele mude?

O que eu realmente preciso é que o meu sketch verifique se os pinos digitais do 22 ao 53 não estão alterando o estado por ser apenas um ruído...
Alguém tem alguma dica?

Obs: Tentei fazer uma busca no fórum e não achei nenhuma forma de fazer uma busca avançada não sei se eu que não achei ou não tem mesmo...

Osias Neto

Acho que entendi sua dúvida amigo, mas o que exatamente tem ligado nestes pinos? Se tiver resistores pull-up ou pull-down adequados dificilmente terá problemas com ruídos, mesmo em ambientes mais agressivos e fontes ruins

renatop

#2
Mar 22, 2013, 08:55 pm Last Edit: Mar 22, 2013, 09:09 pm by renatop Reason: 1
Por enquanto eu estou apenas ligando alguns fios nos pinos para indicar no meu software os HIGH e LOW...

E não tenho como conseguir os resistores por agora e precisava dar uma quebrada nesses ruidos, da pra fazer com o bounce library?


Em todo caso, se puder me ajudar a entender esse debounce time já tá ótimo hehe

HugoPT

#3
Mar 22, 2013, 10:46 pm Last Edit: Mar 22, 2013, 10:48 pm by HugoPT Reason: 1
Eu aponto para esse "ruido" que tu estas a ter ser o pino a flutuar.Ativa os pull-Ups internos e veras que isso fica logo diferente
Para activar os pull-Ups internos basta escrever o valor logico Alto no pino mesmo ele sendo uma entrada
Algo assim:
Code: [Select]
int pino52 = 52;
int pino22 = 22;

void setup()
{
pinMode(pino52,INPUT);
pinMode(pino22,INPUT);
digitalWrite(pino52,1);//Pull Ups ligados
digitalWrite(pino22,1);//Pull Ups ligados

}
void loop()
{
 
}


Quanto ao debounce podes vir a mesma precisar dele.Lê um pouco sobre o que o debounce é para entenderes o porque de teres de usar nos pinos
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

Mortis

Veja este link:
http://arduino.cc/en/Tutorial/DigitalPins

É exatamente o que o HugoPT falou.

kkkk, quase postei a tempo (Warning - while you were reading a new reply has been posted. You may wish to review your post)^^

renatop

Olha.. não sei se estou fazendo errado..
mas ainda tenho leituras "0" ou LOW na entrada...
Agora coloquei um ledzinho e ele tem apagado as vezes...

Mortis

Fala ai Renato,

Você conhece o conceito de pull-up e pull-down?

Quando você usa o pull up, o status da tua porta será HIGH e se você conectar a porta ao ground o status será LOW:
aqui vai um exemplo mais completo: http://arduino.cc/en/Tutorial/InputPullupSerial

HugoPT

Bom coloca ai o teu codigo para ver o que estas a relatar.

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

renatop

#8
Mar 24, 2013, 11:48 pm Last Edit: Mar 24, 2013, 11:50 pm by renatop Reason: 1
Pessoal, percebi o que eu estava fazendo errado...

Estava ligando os pull ups nos LEDS em vez de ligar nas entradas...  :smiley-sweat:  :smiley-sweat:
Tudo pq eu troquei as variáveis e só fui perceber depois de recomeçar o sketch hehe :smiley-mr-green:

MAAAS ainda estou na dúvida, o 'debounce_interval' , no Bounce(byte pin,unsigned long debounce_interval)
O que é? Alguém pode me explicar?

É o tempo que ele tem que esperar, por exemplo, para não fazer diversas vezes uma função de um botão?

Go Up