Como verificar se minha placa do Arduino está funcionando ou morta?

17

Quando você tem uma prancha na mão, mas não sabe se está funcionando ou não, como verificar se está funcionando ou não?

Hardik Thaker
fonte
3
Sugiro que o título e a pergunta sejam alterados para "Arduino Uno" ou a tag "uno" seja removida e a pergunta tornada mais genérica.
Cybergibbons
Consulte também arduino.stackexchange.com/a/13293/39212 para obter mais verificações.
Jethro

Respostas:

14

Nota: Após o comentário do @ Ricardo no meu último post, eu estou postando isso!

Conecte a placa a uma porta USB do computador e verifique se o LED verde de alimentação acende. As placas Arduino padrão (Uno, Duemilanove e Mega) têm um indicador de energia LED verde localizado próximo ao interruptor de redefinição.

Um LED laranja próximo ao centro da placa (rotulado como “Pin 13 LED” na imagem abaixo) deve piscar quando a placa é ligada (as placas vêm da fábrica pré-carregadas com o software para piscar o LED como uma simples verificação). o conselho está funcionando).

insira a descrição da imagem aqui

Se o LED de energia não acender quando a placa estiver conectada ao seu computador, provavelmente a placa não está recebendo energia.

O LED piscando (conectado ao pino de saída digital 13) está sendo controlado pelo código em execução na placa (novas placas são pré-carregadas com o esboço de exemplo Blink). Se o LED do pino 13 estiver piscando, o esboço está funcionando corretamente, o que significa que o chip na placa está funcionando. Se o LED verde de energia estiver aceso, mas o LED do pino 13 não estiver piscando, pode ser que o código de fábrica não esteja no chip. Se você não estiver usando uma placa padrão, ele pode não ter um LED embutido no pino 13, portanto, verifique a documentação para obter detalhes da sua placa.

Os guias on-line para iniciar o Arduino estão disponíveis em Windows , Mac OS X e Linux .

Hardik Thaker
fonte
2
Nota: Isso funcionará apenas se a porta USB ou o chip FTDI não tiverem sido queimados. O chip Atmega pode estar funcionando corretamente, mesmo que esses dois componentes não estejam.
Asheeshr
1
+1 Certo, Hardik! O engraçado é que, ontem, alguém fez uma pergunta sobre um problema no seu Arduino e eu queria apontar para a sua resposta. Agora podemos fazer isso corretamente.
Ricardo
@Ricardo: Bingo: P
Hardik Thaker
2
Se você redefinir a placa (com o botão), o carregador de inicialização normalmente pisca o LED do pino 13
TheDoctor
Minha primeira placa foi um Duemilanove e veio com um chip FTDI morto. Foi muito frustrante até eu ter uma placa de substituição em funcionamento.
Linhartr22
5

Supondo que alguém possua um programador USB, há outra maneira de inspecionar o Arduino.

Conecte o programador aos pinos ICSP do Arduino e chame avrdudecom os parâmetros certos para ler os fusíveis do seu Arduino.

avrdude -c programmer-id -p partno -P port

Para um Arduino Uno, partnoé m328p. Programmer-iddepende do dispositivo usado. No meu caso (mySmartUSB light) stk500v2é suportado e porté /dev/ttyUSB0. Aqui

avrdude -c stk500v2 -p m328p -P /dev/ttyUSB0

dá a seguinte saída

avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f
avrdude: safemode: Fuses OK
avrdude done.  Thank you.

O conselho da ONU responde com a assinatura correta e está pronto para alguma ação :)

Como conectar?

Meu programador USB veio com um cabo de fita de 6 fios com conectores fêmea 2x3 nos dois lados. Como de costume, o fio do pino 1 está marcado em vermelho. Devido a um entalhe no conector macho 2x3 do programador, o cabo se encaixa aqui apenas em uma direção.

Se você olhar para o Arduino UNO, o cabeçalho ICSP estará à direita do botão de redefinição.

A pinagem é a seguinte.

MISO 1 2 VCC
SCK 3 4 MOSI
RESET 5 6 GND

NOTA O pino 1 é o canto superior esquerdo, marcado com um ponto branco!

Klaus-Dieter Warzecha
fonte
2
Isso não testará a interface USB-> Serial.
Cybergibbons
@Cybergibbons Absolutely true! Mas mesmo com um USB frito, ainda pode haver uma chance de piscar o Arduino utilizando o programador então;)
Klaus-Dieter Warzecha
+1 É bom saber! Vou colocar meus 3 ATmegas mortos nesse teste. Você sabe como verificar os fusíveis usando um Arduino UNO como programador, com o esboço do ArduinoISP carregado?
Ricardo
2

Se você tiver outro, Uno, e ambos tiverem chips de microcontrolador encaixados, poderá usar a placa conhecida para programar um esboço de teste no chip da placa desconhecida, colocá-lo novamente na placa desconhecida e executá-lo.

Gosto do seguinte esboço de teste (pseudo-codificado) para verificar rapidamente minhas pranchas construídas à mão; é igualmente útil para testar um modelo desconhecido fabricado na fábrica. Não é um teste exaustivo, apenas verifica E / S digital básica, E / S serial e curtos ou abertos:

forever,
  for each digital I/O pin:
    write high;
    delay 100ms;
    write low;
  end;

  write "Hello, World!\n" to serial output;
  while serial character available,
    write character to serial output;
  end;
  write "\n" to the serial output;
end;
  • Um LED de teste - um LED com seu resistor soldado a ele - conectado entre qualquer E / S e o terra deve piscar a cada 2 segundos. Caso contrário, esse pino pode ter falhado ou ter uma conexão incorreta.

  • Dois LEDs de teste conectados a pinos numericamente adjacentes (eles podem não estar fisicamente próximos um do outro) devem piscar em sequência. Se eles piscarem juntos, isso indica uma ponte curta, provavelmente uma solda, entre eles.

  • O terminal deve dizer "Olá, mundo!" a cada dois segundos. Caso contrário, esse pino, o cabo FTDI ou o chip USB / serial integrado podem ter falhado.

  • Digite algo no teclado e ele deverá ser repetido de volta ao terminal serial (se o teste anterior for aprovado). Caso contrário, novamente esse pino, o cabo FTDI ou o chip USB / serial integrado podem ter falhado.

JRobert
fonte