Tarjetas SD y arduino Mega

Hola a tod@s, este es mi primer post, así que aprovecho para saludar a todo el mundo. Recientemente me he embarcado en la programación de microcontroladores a través de arduino. Antiguamente programé micros en la universidad e intento ponerme al día con ejemplos y cosas que me van surgiendo. Para ello me pillé un arduino mega y una expansión de SD "card shield v2.1". Mi idea inicial era conectar un gps y grabar coordenadas en la sd (algo que existe ya y que me parece de bastante utilidad). Me he bajado varias librerias, he ido probando con ejemplos, con post, buscando vía google, en inglés, alemán, y no soy capaz de nada. He estado usando las librerías Fat16, Filelogger y SDuFat. En la fat16 siempre dice que la card no está inicializada. He seguido los pasos que vienen en el tutorial, no se que pudiera estar mal. En las filelogger y sdufat no hace nada, no muestra nada y no escribe en la SD. He estado probando con varias SD, desde 16Mb hasta 256Mb y las he formateado con SDFormatter V2.0, quedándose en Fat16, como dice el manual de la librería Fat16. Me conecto online con el micro vía USB y el terminal propio de arduino.

No se que pasa, ya estoy de los nervios. Creo que no comunica con la SD en ningún momento, la expansión de la SD viene con un interruptor para alimentar a 3.3V o a través de la patilla 9 del micro, he probado también con ambas.

No he hecho ningún proyecto con SPI ya que éste es el único módulo que comunica via spi.

Gracias por cualquier información que me podais dar... :'( :'( :'( estoy desesperao. A2

Hay algo que no he dicho bien, y es que "sólo tengo como dispositivo spi la tarjeta SD", no he podido probar con otro. Pensando pensando... pudiera ser que las patillas de comunicación del sc card shield van a los pines 13-12-11-10, pensado para el at328 y leyendo en el datasheet de atm1281, dice que la comunicación spi va a través de los pines 50-51-52-53. Pudiera ser que el montaje de la card shield v2.1 no es válido, como viene de fábrica, para el mega???.

Bueno, ya he visto lo que era.
La SD card shield v2.1 no es apta, como viene de fábrica, para la arduino mega. Como era lógico… :-/, he tenido que soldar un poco y adaptar los pines del adaptador sd a la arduino mega, os dejo los pines para quién no tenga que buscar mucho:
SCK-13 Duemilanove → 52 Mega
SCK-12 Duemilanove → 50 Mega
SCK-11 Duemilanove → 51 Mega
SCK-10 Duemilanove → 53 Mega
En la carta de adaptación selecciono alimentación a 3.3V.
La librería usada ha sido Fat16, y hasta el momento va perfectamente.
Un saludo a tod@s.

Hola Bodhi.

Actualmente estoy haciendo pruebas con un VDIP2 pero tengo un circuito para grabar en una SD que todavía no he podido usar. En él hay 7 Pines:

CS DI VCC SCK GND D0 CD

El arduino que uso es un DUEMILANOVE normalito. Qué pines debo conectar entre arduino y la SD?

VCC y GND está claro, pero el resto???

¿Y con qué librería has conseguido grabar tu?

Gracias. Pakoff.

Hola Pakoff. Como pongo por arriba, he usado la libreria fat16lib, que es válida para arduino mega, sanguino y el resto de arduinos (no tendrás que modificar nada en el SdCard.h de la libreria, el duemilanove viene incluido). Hay mas librerías, que puedes usar y ver si se adaptan mejor a lo que buscas, que yo haya visto tienes SDuFat y filelogger (las encuentras fácil en internet, si no te las paso yo). En cuando a los pines te dejo un enlace donde viene lo que pides http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206874649/8

Espero que te sirva de ayuda. Saludos

Muchas gracias...

Se me acumula el trabajo, je, je...

Bye. Pakoff.