traste jan t

2
Home Proyectos Circuitos Tutoriales Blog Descargas Contacto T arjetas SD Electrónica Hoy en día muchos de los aparatos que utilizamos a diario llevan una tarjeta SD (Secure Digital). Solemo s usarlas con nuestra s cámaras de fotos, de vídeo, teléfono móvil, MP3... pero ¿Qué son? En este t utorial explicaremo s brevemente cómo funcionan y lo que es más interesante , cómo podemos usarlas en nuestros proyectos. ¿Qué es una tarjeta SD SD es un formato de memoria no volatil. Es decir, sig ue almacenando los datos contenidos en ella aun que no tenga alimentación. Esto es muy importante, ya que de no ser así c ada vez que nos quedasemos sin  batería en nuestra cámara o móvi l ¡todos nuestros d atos se perderían para siempre! Fue desarrollado por Panasonic en 1999 y durante todos est os años aun aumentado enormemente su capacidad y velocidad al tiempo que se iban haciendo más pequeñas (no olvidemos que las micro y mi ni SD siguen siendo SD... ) Clases Las tarjetas SD tienen distintas clases, cada una de estas clases se diferencia de las demás en la velocidad mínima de acceso que nos garantiza el fabricante. Clase 2: 2Mb/s Clase 4: 4Mb/s Clase 6: 6Mb/s Clase 10: 10Mb/s Como podemos ver, es fácil relacionar la clase con su velocidad, pero es un dato muy a tener en cuenta a la hora de comprar una tarjeta. Si la queremos para dispositivos que almacenen gran cantidad de datos (una cámara de alta resolución, por ejemp lo) necesitamos una velocidad de acceso rápida. De lo contra rio guardar y visuali zar las fotos y los vídeos se convertirá en un verdadero ejercicio de paciencia. Comunicación El modo de comunicación que más nos interesa es através de SPI, ya que es la forma más sencilla que tenemos para acceder y guardar datos en una tarjeta SD. ¿Que es SPI? intentaremos resumirlo brevemente. SPI es un protocolo de comunicación muy utilizado que emplea una configuración maestro-esclavo. Esto signif ica que uno de los dispositivos (el maestro) toma el control de la t ransmisi ón. La inicia, la detiene y controla o proporciona el reloj para sincronizarla. Generalmente se necesitan cuatro señales para este tipo de comunicación: Pin Función SCLK Señal d e reloj MOSI Linea para la emisi ón de datos desde el maestro MISO Linea para la recepción de datos desde el esclavo CS Act iva o d esac tiv a la comunica ció n Al tener una linea para rec ibir datos y otra para enviar podemos enviar y recibir datos de forma paralela y tener una comunicación bidirecciónal en cada flanco de reloj Ahora que sabemos como se comunica una tarjeta SD neecsitamos saber donde esta cada uno de esos pines para poder usarlos, este es el pinout de una tarjeta SD: Ahora que sabemos todo esto, es el momento de usarlas en nuestros proyectos. Tarjetas SD y Arduino Antes de nada es importante recordar que las tarjetas SD funcionan A 3.3v por lo que si conectamos la tarjeta a Arduino o a cualquier controlador que funcione a 5V LA QUEMAREMOS Ya sabemos don de esta c ada pin de la tarjeta SD, pero ya hemos visto que para comunicarnos con estas tarjetas necesitamos un esclavo y un maestro. En este caso Arduino será el maestro y la ta rjeta SD el esclavo. Así que ahora tenemos que localizar esos mismos pines en Arduino funcn pin de Ard uin o SCLK 13 ( 52 en Ar duin o MEGA) Trastejant ht tp://www.t rast ejant.es/tut oriales/electronica/tarjet asSD.ht ml 1 de 2 27/04/2016 01:35 p.m .

Upload: gdiliog

Post on 05-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Traste Jan t

8/15/2019 Traste Jan t

http://slidepdf.com/reader/full/traste-jan-t 1/2

Page 2: Traste Jan t

8/15/2019 Traste Jan t

http://slidepdf.com/reader/full/traste-jan-t 2/2

MOSI 11 (51 en Arduino MEGA)

MISO 12(50 ARduino MEGA)

CS Podemos elegirlo nosotros

Localizados los pines en uno y otro lado es el momento de realizar las conexiones:

Esa forma de colocar las resistencias se conoce cómo divisor de tensión, es la forma más sencilla (y barata) de e vitar que las señales de Arduino (que van a 5V) quemen la tarjeta SD.

Hechas las conexiones, toca programar.

El programa

Arduino cuenta con una librería incluida en su IDE que permite comunicarnos cómodamente con nuestra tarjeta SD. Se trata de la librería SD. Veamos uno de los ejemplos que t rae:

#i ncl ude <SD. h>

Fi l e myFi l e;

void setup( ){  / / Abri mos l a comuni caci ón seri al  Seri al . begin( 9600) ;  whi l e (! Ser i al ) {  ; / / Esperamos a que se abra l a comuni caci ón  }

  Ser ia l . pr i nt ( " I ni c iando l a tar j eta SD. . . " ) ;  / / Vamos a usar el pi n 10 como CS, así que t enemos que conf i gurar l o como una sal i da.  pi nMode(10, OUTPUT) ; 

i f ( !SD. begi n(4)) {  Ser i al . p r i n t l n( "Fal l o al i ni c i a l i z ar ! " ) ;  return;  }  Ser ia l . pr i nt l n(" I ni c ia l i zac ion compl eta. ") ; 

/ / Abri mos el f i cher o que nos int eresa. Sol o podemos tener un f i cher o abi ert o, así que si queremos cambi ar de fi chero  / / antes tendremos que cerr ar el anteri or.  myFil e = SD. open(" test . txt ", FI LE_WRI TE) ; 

/ / Si el f i chero se abre corr ectament e:  i f (myFi l e) {  Ser i a l . pr i nt ( "Escr i bi endo el tes t . . . " ) ; 

/ / Escri bimos en el f i chero de l a si gui ent e manera:  myFil e.pri ntl n("probando 1, 2, 3.") ;

/ / Cerr amos el f i chero  myFi l e.cl ose() ;  Ser i a l . pr i nt l n("done.") ;

  } el se {  / / Si no se puede abri r el f i cher o, mostr amos un mensaj e de err or  Ser i a l . pr i nt l n("error a l abr i r el f i chero test . t xt ") ;  } 

/ / Vol vemos a abri r el f i chero para l eerl o  myFi l e = SD. open(" test. txt" );  i f (myFi l e) {  Ser i al . p r i n t l n( " t est . t x t : " ) ; 

/ / l eemos l os datos del f i cherowhi l e (myFi l e.avail abl e()) {

  Seri al. wri te(myFi l e.read() );  }  / / cerr amos el f i chero  myFi l e.cl ose() ;  } el se {  / / Si el f i chero no puede abr i r se, mostr amos un err o.  Ser i a l . pr i nt l n("error openi ng test . t xt ") ;  }

}

void l oop(){

}

Ya sabemos un poco más sobre las tarjetas SD, esperamos os sea de utilidad este tutorial. UN SALUDO!

Twittear 

Licencia de Creative C ommons

Tutorial by http://www.trastejant.es is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

Creado a partir de la obra en http://www.trastejant.es.

Plantilla Basada en la obra de © 2011 Ansimuz.

ejant http://www.trastejant.es/tutoriales/electronica/tarjeta

2 27/04/2016 0