- 1. Placa Arduino no reconocida
- 2. La placa no está sincronizada
- 3. El código no comienza en Power Reset
- 4. Error de firma de dispositivo no válida
- 5. Error de Launch4j
- 6. Puerto serie ya en uso
- 7: El boceto se sube correctamente, pero no sucede nada
- 8. Error de enlace insatisfecho
- 9. Boceto demasiado grande
- 10. java.lang.StackOverflowError
Comenzar como principiante con Arduino puede ser bastante desafiante para las personas sin experiencia en electrónica, se encontrará con errores, algunos de los cuales pueden tener soluciones simples, pero pueden llevarle días resolverlos. Entonces, para hacer las cosas un poco más fáciles, he creado una lista de los 10 errores de Arduino más populares junto con posibles soluciones para ellos.
1. Placa Arduino no reconocida
Esto se refiere a una situación en la que una placa Arduino, conectada a una computadora, no es reconocida por la computadora. Cuando esto sucede, la placa generalmente no aparece en las listas de puertos del IDE de Arduino y, a veces, está etiquetada como USB2.0 en el administrador de dispositivos.
Solución
Esto sucede cuando usa ciertos clones baratos de Arduino que usan el chip convertidor CH340g USB a Serie en lugar del FTDI (FT232RL) y otros usados por las placas Arduino estándar. Los controladores para USB a chips serie utilizados por las placas Arduino estándar siempre se empaquetan junto con el archivo de configuración del IDE de Arduino, por lo que cuando instala el IDE, los controladores se instalan automáticamente en su PC. Para poder utilizar esta placa Arduino basada en convertidor USB a serie CH340g, tendrá que descargar e instalar el controlador para el chip. El controlador se puede descargar desde este enlace. Instalarlo es tan simple como hacer clic en el botón de instalación en la interfaz de configuración que se muestra a continuación.
Una vez hecho esto, ahora debería poder ubicar el puerto al que está conectada la placa en el IDE de Arduino.
2. La placa no está sincronizada
Por lo general, cuando esto sucede, no podrá cargar el código (aunque el IDE a veces mostrará "carga completa") a la placa Arduino y el IDE mostrará el código de error; " Avrdude: stk500_getsync (): no sincronizado: resp = 0x00 ".
Solución
La sincronización: resp = 0x00 es una respuesta genérica que se traduce en el " chip Atmega no funciona " en el Arduino. Cuando esto sucede, hay un montón de cosas que podrían estar mal. A continuación, se muestran algunos pasos que se pueden seguir para solucionar este error.
1. Asegúrese de que no haya nada conectado a los pines digitales 0 y 1 del Arduino (incluidos los protectores).
2. Asegúrese de seleccionar el puerto de comunicaciones y la placa correctos en el menú de herramientas.
3. Presione el botón de reinicio en el Arduino un par de veces y vuelva a cargar el código.
4. Desconecte y vuelva a conectar el Arduino a la PC.
5. Reinicie el IDE de Arduino.
Si algo de esto no funciona, podría ser el momento de intentar usar una placa Arduino diferente con la PC o usar la placa Arduino "defectuosa" con otra PC. Esto debería ayudarlo a identificar cuál de ellos es el origen del problema. Si descubre que el problema está en la PC, reinstale el IDE de Arduino. Sin embargo, si la placa Arduino "defectuosa" es la fuente del problema, una solución definitiva será actualizar la placa con el firmware Arduino. Si nada de lo anterior funciona, puede que sea el momento de cambiar la placa Arduino.
3. El código no comienza en Power Reset
Esto se refiere a los casos en los que Arduino no ejecuta el boceto cargado cuando está encendido y, en la mayoría de los casos, simplemente vuelve al boceto parpadeante asociado con el gestor de arranque.
Solución
Al igual que los otros problemas tratados, hay varias cosas que pueden causar esto.
Si la placa se cuelga y no hace nada, debe verificar su código para asegurarse de que no está enviando datos en serie a la placa cuando se enciende. Cuando se enciende el Arduino, el gestor de arranque, en los primeros segundos, escucha a la computadora para enviarle un nuevo boceto para cargarlo en la placa. Si no se recibe un nuevo boceto, después de un rato, el gestor de arranque se agotará y ejecutará el último boceto cargado en la placa. Si su código envía datos en serie durante los primeros minutos, el cargador de arranque no se agotará y el último boceto cargado en la placa no se iniciará.
Si enviar datos en serie tan pronto como se enciende la placa es una parte importante de su proyecto, es posible que deba encontrar una manera de retrasarlo un poco para evitar que los datos en serie lleguen inmediatamente cuando se enciende el Arduino. Si realizar ajustes afectará la tarea que realizará el proyecto, entonces es posible que deba cargar su boceto en la placa utilizando un programador externo, ya que el gestor de arranque puede ser omitido por ellos.
Si la placa no se cuelga pero vuelve al boceto de parpadeo de Arduino (el LED en el pin 13 parpadea de vez en cuando), una solución sencilla será flashear la placa con el gestor de arranque Arduino, ya que el que está en la placa puede estar dañado.
4. Error de firma de dispositivo no válida
Este error se muestra cuando se intenta cargar un código, en una placa, diferente de la seleccionada en la lista de herramientas> placa en el IDE de Arduino. Este error generalmente ocurre como resultado de que la firma del dispositivo en la placa de destino es diferente a la de la placa seleccionada en el IDE.
Solución
La solución a este error es tan simple como asegurarse de que se seleccione la placa correcta en el IDE de Arduino. Si esto no funciona, es posible que sea necesario actualizar el microcontrolador con la última versión del gestor de arranque Arduino.
5. Error de Launch4j
El IDE de Arduino a veces toma un tiempo antes de cargarse y cuando se carga, si hace clic en cualquier cosa, mostrará el error Launch4J como se muestra arriba. Launch4j es una herramienta que se utiliza para empaquetar aplicaciones Java (jars) en ejecutables nativos de Windows, lo que permite su uso como un programa normal de Windows.
El propio IDE de Arduino está escrito en JAVA y este error se produce debido a la incompatibilidad de la biblioteca Java Run Time Environment (JRE) suministrada con el IDE de Arduino.
Solución
Por experiencia, este error se puede solucionar con algo tan simple como apagar la conectividad Bluetooth o WiFi de su PC. Sin embargo, una solución más completa y permanente es reemplazar el JRE en el paquete Arduino con una versión reciente.
6. Puerto serie ya en uso
Este es probablemente uno de los errores más fáciles de resolver. Por lo general, ocurre cuando intenta cargar código en un Arduino mientras el monitor en serie está abierto (esto ya no es un problema si usa versiones recientes de IDE) o cuando intenta iniciar el monitor en serie cuando Arduino está hablando con otro software o dispositivo a través del puerto serie. Esencialmente, ocurre cuando intentas usar el puerto serie Arduino para dos cosas diferentes al mismo tiempo.
Solución
Tal como sugirió el IDE, cierre todos los demás programas / herramientas (incluido el monitor / trazador en serie) que puedan estar usando el puerto COM. Si no está seguro del software en particular, desconecte el Arduino. Debería estar listo para funcionar cuando lo vuelva a conectar.
7: El boceto se sube correctamente, pero no sucede nada
Este error es similar a algunos de los otros errores ya tratados anteriormente. Para este error, el IDE de Arduino sugerirá que el código se cargó correctamente, pero la placa no hace nada.
Solución
- Asegúrese de que la placa seleccionada en el IDE sea la misma que la placa de destino.
- Esto podría deberse a que el tamaño del boceto es mayor que la capacidad de la placa. Verifique el tamaño del boceto y use algunos de los métodos mencionados anteriormente para reducir el tamaño.
- Por último, este error podría ocurrir cuando se utiliza una fuente de alimentación ruidosa. Asegúrese de que la fuente de alimentación sea lo suficientemente estable.
8. Error de enlace insatisfecho
Este es probablemente el único error raro que aparece en esta lista. Esto ocurre cuando tiene una versión antigua de la biblioteca de comunicaciones en su PC, probablemente de una instalación anterior.
Solución
Para resolver este error, busque comm.jar o jcl.jar en /System/Library/Frameworks/JavaVM.framework/ o en directorios en las variables de entorno CLASSPATH o PATH de su PC.
9. Boceto demasiado grande
Este error ocurre cuando su código es más grande que la memoria flash de esa placa Arduino en particular. El tamaño de la memoria flash del Arduino Uno, por ejemplo, es de 32Kb y el gestor de arranque Arduino ya está usando 2KB. Si debe cargar un código con un tamaño superior a 32 Kb, Arduino mostrará esta advertencia.
Solución
Como se mencionó anteriormente, esto ocurre cuando su boceto es más grande que la memoria flash de la placa en particular que está utilizando, por lo tanto, para resolver esto, debe encontrar formas de reducir la cantidad de espacio ocupado por su código. Algunos de los consejos para lograr esto incluyen;
- Siempre que sea posible, utilice tipos de datos enteros en lugar de un flotante.
- Siempre que sea posible, utilice el calificador "const" al declarar variables.
- Incluya solo las bibliotecas necesarias. Siempre que sea posible, utilice las versiones ligeras de las bibliotecas más importantes.
- Mejora el código en general. Desarrolle algoritmos que puedan ayudar a que su código sea más corto y generalmente liviano.
Una solución más radical será trasladar el proyecto a otra placa, como la Arduino Mega, que tiene una memoria flash más grande en comparación con la Uno.
10. java.lang.StackOverflowError
Al procesar el boceto, Arduino usa algunas expresiones regulares para el procesamiento y, a veces, se confunde cuando encuentra ciertos errores relacionados con cadenas, como comillas faltantes.
Solución
Este error se resuelve echando un segundo vistazo al código, especialmente a las partes donde se utilizan secuencias de cadenas. Asegúrese de que las citas estén completas, que las barras invertidas se utilicen correctamente, etc.
Existe un límite en la cantidad de errores que se pueden caber en un solo tutorial y por esa razón, nos detendremos aquí. Sin embargo, esta lista contiene algunos de los errores más comunes que enfrentan los principiantes cuando usan Arduin o. ¿Está luchando contra un error en particular? Siéntase libre de dejar un comentario, con suerte, podemos resolverlo juntos.
La próxima vez.