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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy