Problema con shield propia.

Hola!

Soy nuevo en el foro aunque llevo ya algunos años trabajando con microcontroladores nunca lo había hecho con arduino.

Tengo un problema. El caso es que he hecho una placa entrenadora para arduino Mega para desarrollar varios proyectos que tengo en mente. LLeva un display, 6 pulsadores, una F.A. propia y saca todos los puertos de arduino MEGA pero "protegidos" por una resistencia. La placa de Arduino Mega se enchufa por debajo como si esta entrenadora fuera una shield pero muy grande. Por encima saco todos los pines de la placa crudos (es decir, directamente, para qeu conectar ahí sea como conectar en la propia placa arduino.

Mi problema es que al programar desde el IDE, da un error si la placa arduino está enchufada a mi shield, pero si la desenchufo, programa perfectamente y luego puedo enchufarla y funciona todo bien. ¿Qué puede estar pasando para que no me deje programarla enchufada?

Puedo Adjuntar los esquemas (están en dos horas) de mi placa y la placa, peor no se como hacerlo :-/.

Gracias.

Tiene pinta de que estas usando los pines del puerto serie (0 y 1) para algo. Estos pines tienen que estar libres para programar el micro. Una vez programado se pueden usar normalmente.

Gracais por la respuesta!

No, no los uso para nada de momento. Ya lo he mirado. Es cierto que los tengo puesta una R y los tengo sacado fuera como el resto de pines, pero no los tengo conectados a nada, es decir, van a una R de 220 y luego esta R está "al aire" (para poder conectar cosas después). ¿Eso podría influir?? No lo creo, no?

¿Usas el SPI? ¿Pines 11, 12 ó 13 ?

No, tampoco, pasa lo mismo. Estas preparados y sacados fuera a través de una resistencia peor están al aire. Que tiene que ver el SPI?? en una de las aplicaiones lo tengo que usarlo...

Cuando funcionas sin bootloader tienes que programar por el SPI o el ICSP que viene a ser lo mismo, o eso creo.

SPI no es los mismo que el ICSP. Lo que pasa que el ICSP usa los pines MOSI y MISO que también los usa el SPI. Lo cierto es que no se si en su implementación, el ICSP estará basado en el SPI o no, pero NO SON LO MISMO. Uno es un puerto de comunicaciones para periféricos y el otro para programación.

De todas formas entiendo que si programa por el FTDI y el botloader, no tiene que ver nada el ICSP esté bien o mal para que no me funcione cuando esté enchufado a mi shield, no??

¿Entonces como machacarias el bootloader si fuera el caso?

oye ve aislando etapas de la shield que hciestas yasta ver que le bloquea la programacion del IDE del arduino pero recuerda que para programar el arduino por si IDE solo es necesario el puerto serial 1 del arduino.

Saludos.
Atten.
Alexander Santana.
Venezuela-Barcelona

Eso ya lo había pensado yo, no puedo hacer eso, esque no se como subir archivos para que lo vierais.

El arduino MEGA se "pincha" entero en la entrenadora, no puedo quitar y poner enchufar y desenchufar partes. :-/

¿Tu shield tiene un botón de reset, curiosamente con un (relativo) condensador gordote?

Efectivamente, tengo un botón de reset en la shield con un condensador, pero no muy gordote (100n). Pongo un C de 100n sin pensar a todos los pulsadores para filtrar picos. Puede ser ese el problema?

Realmente los picos en el boton de reset me dan igual (me da igual mandar uno o 100 reset en un milisegundo, el resultado es el mismo). voy a quitar el condensador y os cuento.

ERA ESO!!!!

Muchisimas Gracias Alfonso!! te debo una caña!! xDDD

Sigo saber como se suben archivos, por lo de compartir mi shield mas que por que la viérais (ahora que funciona). Pero bueno, supongoq eu algún día, documentaré todo y lo subiré a algún blog. No obstante si alguien tiene interés que me la pida y se la mando por mail.

100 nF es "relativamente" gordote para ser para el botón de reset :slight_smile:
La explicación está en que por el USB se fuerza el reset para que se ejecute la secuencia de boot y se le pueda enviar el nuevo firmware. Con el condensador se impide que el arduino se resetee y por lo tanto habría que hacerlo a mano (que es como hago yo, pulsando el botón de reset después de pinchar en 'upload' xD ), o quitar el condensador como has hecho.
Es decir: a mí me pasa lo mismo.
Espero que no te pase como a mí, que unas conexiones tocan el Gnd que rodea al puerto USB (la carcasa del usb)... xD

no, no me pasa tuve la precaución de... poner cinta aislante en la carcasa del USB para que no pase eso, de todas formas no llega a tocar con la placa de la shield.

La explicación, una vez que me lo has dicho, la he deducido, porque claro a veces si programaba, se ve que cuando justo yo le ponía el reset. Pero es difícil pillar el momento justo.

Yo también le he puesto cinta aislante xD

Cuando no funciona al darle una vez a reset, esperas un segundo y le das de nuevo :wink: la ventana de espera es bastante grande :slight_smile: Tiene un tiempo mínimo, pero el máximo es bastante, al menos para mí.