Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Pullup - Porque não temos um jumper conectado ao 5v no arduino e trajeto da corrente elétrica

No cenário do Pull-Up, temos um jumper conectado ao terra no Arduino, temos um outro jumper que conecta ao botão e depois temos um jumper conectado ao pin 13 - (input_pullup). Alguém pode me explicar o trajeto da energia? Porque sem o jumper ligado ao 5V de onde está vindo a energia? O pin 13 é input e o jumper ligado ao GND "suga a energia", certo? Em outra pergunta disseram que vem da fonte de energia do Arduino, mas mesmo assim, o computador esta fornecendo energia mas sem um jumper ligado ao 5V como a energia passa?

Talvez esteja falando uma bobagem mas se alguém souber, adoraria entender.

Obrigado

2 respostas
solução!

Oiiii, tudo bem?

A ideia do Pullup é fazer com que a saída seja conhecida (0 ou 1), pois em caso contrário a saída seria indeterminada, ora 0, ora 1, e por vezes, grandes oscilações.

Sem o uso do Input Pullup do arduíno, teríamos um circuito parecido com o abaixo:

pull

Observe as ligações:

  • Resistor em 5V
  • Resistor na porta digital do arduino
  • Porta digital na boteira
  • Botoeira no terra

E qual o trajeto da energia nesse circuito?

Em uma situação onde o botão não está apertado, a corrente tende a ir para o lado do resistor, já que o mesmo tem uma conexão direta com o VCC. Já em uma situação onde o botão é apertado, a corrente tende ir para o caminho mais curto, portanto ela irá para o lado do terra. Devido a isso, quando o botão não está apertado, o sinal é HIGH e quando está apertado o sinal é LOW. Pode parecer um pouco contraintuitivo, mas esta configuração de PULLUP é muito utilizada no mercado.

Porém, quando implementamos um Input Pullup no arduino, internamente ele já tem esse resistor ligado a energia, por isso se torna desnecessário a conexão externa ao VCC.

Com o input pullup do arduino a conexão se assemelha a essa:

pullup

Lembrando que para funcionar, temos que declarar explicitamente no código que aquela porta será do tipo Pullup:

pinMode(5, INPUT_PULLUP);

Por fim, deixo o link da documentação oficial do arduino que contém um exemplo do uso do Pullup.

Qualquer dúvida é só falar, estou a disposição. Abraços e bons estudos!

Obrigado!!!