Go Down

Topic: Problemas com as portas do Arduino (Read 551 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