¿Cómo verificar que mi placa Arduino funciona o está muerta?

17

Cuando tienes una tabla en la mano pero no sabes si funciona o no, ¿cómo verificar si funciona o está muerta?

Hardik Thaker
fuente
3
Sugeriría que el título y la pregunta se cambien a "Arduino Uno", o que se elimine la etiqueta "uno" y la pregunta se haga más genérica.
Cybergibbons
Consulte también arduino.stackexchange.com/a/13293/39212 para varias verificaciones más.
Jethro

Respuestas:

14

Nota: Después del comentario de @ Ricardo en mi última publicación, ¡estoy publicando esto!

Conecte la placa a un puerto USB de su computadora y verifique que se ilumine el indicador LED verde de energía de la placa. Las placas Arduino estándar (Uno, Duemilanove y Mega) tienen un indicador LED verde de energía ubicado cerca del interruptor de reinicio.

Un LED naranja cerca del centro de la placa (etiquetado como "Pin 13 LED" en la imagen a continuación) debe encenderse y apagarse cuando se enciende la placa (las placas vienen de fábrica precargadas con software para flashear el LED como una simple comprobación de que El tablero está funcionando).

ingrese la descripción de la imagen aquí

Si el LED de alimentación no se ilumina cuando la placa está conectada a su computadora, es probable que la placa no esté recibiendo energía.

El LED parpadeante (conectado al pin de salida digital 13) está siendo controlado por el código que se ejecuta en la placa (las placas nuevas están precargadas con el boceto de ejemplo de Blink). Si el LED del pin 13 parpadea, el boceto se ejecuta correctamente, lo que significa que el chip de la placa está funcionando. Si el LED de alimentación verde está encendido pero el LED del pin 13 no parpadea, puede ser que el código de fábrica no esté en el chip. Si no está utilizando una placa estándar, es posible que no tenga un LED incorporado en el pin 13, por lo tanto, consulte la documentación para obtener detalles de su placa.

Las guías en línea para comenzar con Arduino están disponibles en Windows , Mac OS X y Linux .

Hardik Thaker
fuente
2
Nota: Esto funcionará solo si el puerto USB o el chip FTDI no se han quemado. El chip Atmega podría estar funcionando correctamente incluso si estos dos componentes no lo están.
asheeshr
1
+1 ¡Muy bien, Hardik! Lo curioso es que ayer alguien hizo una pregunta sobre un problema con su Arduino y quería señalarlo a su respuesta. Ahora podemos hacerlo correctamente.
Ricardo
@Ricardo: Bingo: P
Hardik Thaker
2
Si reinicia la placa (con el botón), el gestor de arranque generalmente parpadea el LED del pin 13
TheDoctor
Mi primer tablero fue un Duemilanove y vino con un chip FTDI muerto. Fue muy frustrante hasta que conseguí una placa de reemplazo que funcionara.
linhartr22
5

Supongamos que uno posee un programador USB, hay otra forma de inspeccionar el Arduino.

Conecte el programador a los pines ICSP del Arduino y llame avrdudecon los parámetros correctos para leer los fusibles de su Arduino.

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

Para un Arduino Uno, partnoes m328p. Programmer-idDepende del dispositivo utilizado. En mi caso (mySmartUSB light) stk500v2es compatible y lo portes /dev/ttyUSB0. aquí

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

da el siguiente resultado

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.

La junta de UNO responde con la firma correcta y está lista para alguna acción :)

¿Como conectar?

Mi programador USB vino con un cable plano de 6 hilos con conectores hembra 2x3 en ambos lados. Como de costumbre, el cable para el pin 1 está marcado en rojo. Debido a una muesca en el conector macho 2x3 del programador, el cable solo cabe aquí en una dirección.

Si observa el Arduino UNO, el encabezado ICSP está a la derecha del botón de reinicio.

El pinout es el siguiente.

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

NOTA ¡El Pin 1 es el superior izquierdo, marcado con un punto blanco!

Klaus-Dieter Warzecha
fuente
2
Sin embargo, esto no probará la interfaz USB-> Serie.
Cybergibbons
@Cybergibbons Absolutamente cierto! Pero incluso con un USB frito, aún podría existir la posibilidad de flashear el Arduino usando el programador;)
Klaus-Dieter Warzecha
+1 ¡Es bueno saberlo! Pondré a mis 3 ATmegas muertos a través de esta prueba. ¿Sabes cómo comprobar los fusibles utilizando un Arduino UNO como programador, con el boceto ArduinoISP cargado?
Ricardo
2

Si tiene otro, uno, uno en funcionamiento, y ambos tienen chips de microcontrolador conectados, puede usar la placa conocida para programar un boceto de prueba en el chip de la placa desconocida, volver a colocarla en la placa desconocida y ejecutarla.

Me gusta el siguiente boceto de prueba (pseudo-codificado) para verificar rápidamente mis tableros hechos a mano; es igual de útil para probar uno desconocido fabricado en fábrica. No es una prueba exhaustiva, solo comprueba las E / S digitales básicas, las E / S en serie y los cortos o abiertos:

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;
  • Un LED de prueba (un LED con su resistencia soldada) conectado entre cualquier E / S y tierra debe parpadear cada 2 segundos. Si no es así, ese pin puede haber fallado o tener una mala conexión.

  • Dos LED de prueba conectados a pines numéricamente adyacentes (pueden no estar físicamente uno al lado del otro) deben parpadear en secuencia. Si parpadean juntos, indica un puente corto, probablemente un puente de soldadura, entre ellos.

  • La terminal debería decir "¡Hola, mundo!" cada dos segundos De lo contrario, ese pin o el cable FTDI o el chip USB / serie incorporado pueden haber fallado.

  • Escriba algo en el teclado y debe repetirse de nuevo al terminal serie (si la prueba anterior pasó). Si no es así, nuevamente ese pin o el cable FTDI o el chip USB / serie incorporado pueden haber fallado.

JRobert
fuente