Go Down

Topic: Problemas com as portas do Arduino (Read 581 times) previous topic - next topic

alfakini

Olá pessoal!

Estou enfrentando um problema! Estava escrevendo um programa que ao ler uma entrada como RIGH fazia com que um led acendesse. Mas percebi que o led acendia e apagava sem seguir a lógica do programa. Segue um exemplo:

int ledPin = 13;
int input = 7;
int val;

void setup()
{

 pinMode(ledPin, OUTPUT);
 pinMode(input, INPUT);
 Serial.begin(9600);
}

void loop()  
{
 val = digitalRead(input);
 digitalWrite(ledPin, val);  
 Serial.println(val);
 delay(1000);              
}

Esse programa deveria fazer o led acender se o botão que está na porta 7 fosse pressionado, certo? Mas  não é o que acontece. Ele parece estar jogando valores aleatórios.
Então testei o programa usando a porta digital 2 para a leitura do botão. Nesse caso o que achei estranho foi que quando a chave esta solta o led acende e quando ela está pressionada o led apaga.

Alguém sabe o que está acontecendo? Estou começando a achar que estraguei alguma coisa  :-/
http://www.alfakini.com.br
http://www.colmeia.udesc.br

alfakini

Solucionei o problema. Estava usando o botão sem um resistor para realizar o pull-down.
http://www.alfakini.com.br
http://www.colmeia.udesc.br

Rafael Quines

Amigo, sempre aconselha-se a usar um pull-up ao invés de um pull-down, assim testa-se invertido no sw, e vc estará usando o + da fonte, e usando apenas o terra d Arduino. Isso é importante pois o Arduino tem limite de corrente nos seus pinos..

Att
rafaelquines@gmail.com
http://arduinors.net
http://rafaelquines.com

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