Pinos digitais parecem não estar funcionando

Por favor, me ajudem, sou iniciante.
Fiz um código simples (tipo, digitalWrite(pin5, high):wink: , mas aparentemente não está "ligando" a porta 5. Coloquei um led (com o devido resistor) na porta 5 e ele não acende.
Testei com um multímetro também, e tá dando 0V. Mas quando mando imprimir o valor da porta 5 no serial, ele dá como ligado (1).

Liguei o led em uma fonte externa de 5v e ele funcionou, ou seja, não é problema do meu circuito. Também testei os jumpers, estão ok. Testei também as portas 6 e 7, e também não funcionaram.

O que pode ser? Meu Arduino pode estar com as portas digitais queimadas?

O melhor é adicionar o código que você escreveu e um diagrama da conexão (até mesmo uma folha de papel manuscrita e fotografada serve).
Por exemplo, você escreve que usou digitalWrite(pin5, high), mas o que é "pin5"? Se você quiser ativar o pino 5, geralmente chamado de D5 por ser uma saída digital, você escreveria digitalWrite(5, HIGH).
Então explique melhor.

PS: desculpe se cometo erros, mas português não é minha língua.

Olá! Bem vindo ao Forum.

Como dito no post #2, oferecer ajuda sem ver o seu código é uma tarefa difícil, pois alguns problemas podem estar aonde você não imagina.

Além do ponto já levantado, você precisa verificar se configurou no setup o pino para o modo output. Por exemplo:

pinMode (5,OUTPUT);

Outro detalhe: a linguagem C diferencia letras maiúsculas de minúsculas. Então high é diferente de HIGH, sendo essa segunda forma a correta.

Como esse é o seu primeiro post, recomendamos fortemente a leitura do tópico Como obter o melhor desse forum. Lá tem dicas importantes sobre o mínimo de informações que você precisa fornecer para ter uma ajuda mais objetiva.

Divirta-se! :upside_down_face:

Ok, segue um outro código que fiz, para testar os pinos digitais 5 e 6:


int pin5 = 5;
int pin6 = 6;

void setup() {
  Serial.begin(9600); // usando o serial para mostrar que os estados dos pinos 5 e 6 realmente estão em HIGH
  pinMode(pin5, OUTPUT);
  pinMode(pin6, OUTPUT);
}

void loop() {
  digitalWrite(pin5, HIGH);
  digitalWrite(pin6, HIGH);

  Serial.print("pin5 = ");
  Serial.print(digitalRead(pin5));
  Serial.print(" / pin6 = ");
  Serial.println(digitalRead(pin6));

  delay(500);
}

Saída do console:
pin5 = 1 / pin6 = 1
pin5 = 1 / pin6 = 1
pin5 = 1 / pin6 = 1
pin5 = 1 / pin6 = 1
...

O console diz que os pinos 5 e 6 estão ligados, mas os leds não acendem, e com o voltímetro, não tem tensão nenhuma nos pinos 5 e 6. Na mesmas protoboard, se eu ligar uma alimentação externa de 5v, os leds acendem, ou seja, não é problema nem dos leds nem do meu circuito.

Ligar a alimentação como? Aonde está sendo ligada essa alimentação?
Mande por favor uma foto dessas suas protoboards e de como você está fazendo a ligação, tanto quando funciona como quando não funciona.

O fato do circuito funcionar de um jeito e não funcionar do outro, sugere sim algum problema com o circuito.

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