Luz L e TX acessos

Fiz um código para fazer um led piscar, passei o mesmo para o arduino, na hora que ligo o mesmo ele acende as luzes L e TX e nçao apaga, e quando aperto o botão para acender o led ele não executa.

#define PinButton 8
#define ledPin 7

void setup()
{
pinMode(PinButton, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
delay(100);
}

void loop()
{
if ( digitalRead(PinButton) == HIGH)
{
digitalWrite(ledPin, HIGH);
Serial.print("Acendendo Led");
}
else
{
digitalWrite(ledPin, LOW);
Serial.print("Desligando led");
}
delay(100);
}

Voce consegui carregar o codigo corretamente?
Seu LED está ligado com a polaridade correta?

Voce cometeu algumas faltas ao publicar seu post.

  1. Publicou em portugues em uma categoria que exige lingua inglesa;
  2. Postou em Uncategorized, que não deve ser usada para topicos;
  3. Não usou as tags recomendadas ao postar o seu codigo.

Desculpe, sou novo e pensei que tinha queimado minha placa, fiz tudo na pressa e aperiado, o código carrega normalmente, o led tbm está ligado na polaridade correta.

Ok, corrija então a localização do seu tópco para a categoria International/Portugues.

O Led L deveria estar apagado, mas o TX deve estar acesso pois voce está enviando dados do arduino para a serial.

Desligue tudo que está conectado no seu arduino, exceto o cabo USB, e carregue o exemplo Blink e veja se ele pisca o LED L a cada segundo.

Fiz tudo isso, inclusive fiz um teste fazendo um semáforo, e ocorreu tudo bem, tentei fazer o mesmo exemplo com outro código e nesse novo ao apertar o botão acenda a luz L e o led fica apagado, exemplo de ligação na imagem abaixo.

Olá! Bem vindo ao Fórum.

A minha sugestão é que você, ao invés de checar o botão usando HIGH, faça a montagem de maneira diferente, ligando as diagonais do botão ao pino do arduino e ao GND e configurando esse pino como INPUT_PULLUP.

Fazendo dessa forma, não há necessidade de usar um resistor na conexão do botão. Mas você precisa alterar a lógica do programa para acender o LED quando o sinal do pino for LOW.

Nesse caso, você não deveria usar o pino 13, porque é justamente nele que está ligado o LED L do Uno.

O LED TX fica ligado porque o teu código está sempre a enviar dados (transmitir -TX) para o PC.

A dica do Brazilino é a solução para o outro problema.

Quero pedir obrigado a vocês pela ajuda, sou muuuuuito novo no arduino, comprei meu kit agora, vou tentar fazer o que o Brazilino falou, seria pedir muito um desenho de como fazer isso? eu uso muito o tinkercad, testo lá para depois fazer no próprio arduino.

Bom, eu não uso o Tinkercad porque é pago... rsrsrs. Uso o Wokwi. Eis aí o desenho:

image

E o código do post #1 modificado:

#define PinButton 2
#define ledPin 12

void setup() {
 pinMode(PinButton, INPUT_PULLUP);
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
}

void loop() {
 if (digitalRead(PinButton) == LOW){
   digitalWrite(ledPin, HIGH);
   Serial.print("Acendendo Led");
 }
 else {
  digitalWrite(ledPin, LOW);
  Serial.print("Desligando led");
 }
delay(100);
}
1 Like

Obrigado Brazilino, funcionou.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.