Para escuchar la radio, haga clic en el triángulo dentro del círculo verde


Arduino y la solución de problemas cuarta parte y final

Arduino DuemilanoveEsta es la cuarta parte y final de Arduino y la solución de problemas, aprovechamos para invitarlos a que nos dejen sus comentarios para conocer en que medida les gustaron los temas publicados de este tutorial.

¿Porqué mi sketch parece que carga correctamente, pero no hace nada?

Es posible que hayas seleccionado tu placa apropiadamente, pero con la opción de microcontrolador equivocado. Asegúrate de que el microcontrolador corresponde al de tu placa (ya sea Atmega8, ATmega168, ATmega328, o ATmega1280) – el nombre está escrito en el más grande de los chips en la placa.

Comprueba si usas una fuente de alimentación ruidosa. Esto podría causar al chip perder su sketch.

Por otra parte, el sketch puede ser demasiado grande para la tarjeta. Al subir tu sketch, Arduino 0004 y posteriores comprueban si es demasiado grande para el ATmega8, pero basa su cálculo en un bootloader de 1 Kb. Podrías tener bootloaders de mayor tamaño (p.ej. 2 Kb de los 8 Kb disponibles en tu placa). Si empleas placas Arduino oficiales, este problema no se presentará.

Si tienes acceso a un AVR-ISP, AVR-ISP-MKII, el programador de puerto paralelo, o cualquier otro dispositivo externo de programación de chips de la marca Atmel, puedes grabar la última versión del bootloader desde el menú Tools | Burn Bootloader. De lo contrario, puedes determinar en el entorno Arduino la cantidad de espacio disponible para tus programas editando la variable upload.maximum_size en su archivo de preferencias (ver: instrucciones sobre cómo encontrar el archivo?).

Tamaño

¿Cómo puedo reducir el tamaño de mi sketch?

Los chips ATmega en la placa Arduino son barato, pero tienen limitaciones en el espacio reservado para tus programas: 7Kb para el ATmega8, 14Kb para el ATmega168 y ATmega328, y 124Kb para el ATmega1280 (el resto del espacio es usado por el bootloader).

Por ejemplo, un truco consiste en limitar que librerías usas. Si estás utilizando operaciones en coma flotante, trata de reescribir el código para usar números enteros, lo que debería ahorrar cerca de 2 Kb. Elimine los# include declaraciones en la parte superior de tu programa para eliminar las bibliotecas que no estás usando.

También puedes tratar de hacer tu programa más corto.

En cualquier caso, desde Arduino trabajamos para reducir el tamaño del núcleo de Arduino para dejar más espacio para tus programas.

¿Porqué no puedo obtener un PWM (una salida analógica) cuando llamo analogWrite () en los otros pines que 3, 5, 6, 9, 10 o 11? (Arduino Duemilanove y Diecimila)?

El microcontrolador de la placa Arduino Duemilanove (ATmega328) y Diecimila (ATmega168) sólo es compatible con PWM / analogWrite () en los pines determinados. Llamadas analogWrite () en las patas otro dará alto (5 voltios) para valores mayores de 128 y bajo (0 voltios) para valores inferiores a 128. (Nótese que placas Arduino antiguas con Atmega8 sólo trabajan con salida PWM en los pines 9, 10 y 11.)

¿Porqué recibo errores acerca de funciones o tipos no declaradas?

El entorno Arduino intenta generar automáticamente prototipos de sus funciones, de modo que puedas llamarlos a tu gusto en tus programas. Este proceso, sin embargo, no es perfecto, y en ocasiones produce mensajes de error.

Si declaras un tipo personalizado en el código y creas una función que acepte o devuelva valores de ese tipo, obtendrás un error al intentar compilar el sketch. Esto se debe a que el prototipo automático para esa función aparecerá sobre la definición de tipo.

Si declaras una función con un tipo de retorno de dos palabras (por ejemplo, “unsigned int”), el entorno no se dará cuenta de que es una función y no creará un prototipo para ello. Eso significa que debes proporcionar tu propia definición, o colocar la definición de la función por encima de cualquier llamada a la misma.

¿Porqué recibo errores sobre un dispositivo de firma no válida cuando se trata de subir un sketch?

Si obtienes un error como:

avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

puede significar una de dos cosas. Bien seleccionaste la placa equivocada en el menú Tools > Board o no estás usando la versión correcta de avrdude. Arduino utiliza una versión ligeramente modificada de avrdude para subir programas a la placa Arduino. La versión estándar consulta la firma del dispositivo en un modo que el bootloader no es capaz de comprender . Asegúrate de que estás utilizando la versión de avrdude que viene con Arduino (Código Fuente).

Fuente: arduino.cc/es

Los textos de la guía Como empezar con Arduino están licenciados bajo Creative Commons Attribution-ShareAlike 3.0 License. El código fuente de los ejemplos en la guía están liberados como dominio público.

También te podría gustar...

1 respuesta

  1. 3 abril 2013

    Información Bitacoras.com…

    Valora en Bitacoras.com: Esta es la cuarta parte y final de Arduino y la solución de problemas, aprovechamos para invitarlos a que nos dejen sus comentarios para conocer en que medida les gustaron los temas publicados de este tutorial. ¿Porqué mi ……

A %d blogueros les gusta esto: