You are on page 1of 27

16/7/2017 Tutorial Arduino y memoria SD y micro SD.

Contacte con nosotros Iniciar sesión

Buscar 

0
 S/. 0,00

CATEGORÍAS 
 All Blog News Tutorial Arduino y memoria SD y micro SD.

ARTÍCULOS POPULARES

Tutorial trasmisor de celda de carga HX711, Balanza Digital ago 23, 2015

Con guración del módulo bluetooth HC-05 usando comandos AT ago 08, 2015

Tutorial Módulo GPS con Arduino jun 25, 2015

ARTÍCULOS RECIENTES

Usando ESP8266 con el IDE de Arduino oct 21, 2016

Tutorial Sensor de Distancia SHARP sep 28, 2016

Arduino y ESP8266 como cliente web ago 24, 2016

http://www.naylampmechatronics.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.html 1/27

16/7/2017 Tutorial Arduino y memoria SD y micro SD.

PROMOCIONES ESPECIALES 
ATmega328P DIP
Ese es microcontrolador usado en las...

S/. 10,00 S/. 12,00

Todas los promociones especiales 

ETIQUETAS 

sensor robot cnc Servo infrarrojo LED LCD driver Fuente cable

NOVEDADES 
Piezo Buzzer activo 12mm
Agrega alertas o efectos de sonido a tus proyectos

S/. 1,00

Piezo Buzzer activo 22mm
Agrega alertas o efectos de sonido a tus proyectos

S/. 7,00

Shield Display LCD TFT 3.5"
Pantalla de 3.5", colores vívidos, incluye lector de tarjetas microSD.

S/. 70,00

Módulo expansor IO PCF8574
El PCF8574 es un expansor de E/S compatible con la mayoría de...

S/. 12,00

http://www.naylampmechatronics.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.html 2/27

15.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.. S/.html 3/27 .. Altímetro I2C Sensor ultra compacto de 10 grados de libertad (DoF) S/.. Temperatura y Humedad BME280 Sensor de monitoreo ambiental ideal para aplicaciones de Drones e. S/.00 Sensor de Presión. 45. 28.00 Shield Relay v2 La manera más sencilla y rápida de controlar cargas de alta corriente..00 Módulo GY-91 MPU9250 + BMP280 : Acelerómetro.00 Todas los nuevos productos  Tutorial Arduino y memoria SD y micro SD.16/7/2017 Tutorial Arduino y memoria SD y micro SD. 50. Magnetómetro. Posted by  Tutoriales  26 Comments http://www.naylampmechatronics. Giroscopio. Sensor de presión BMP280 Sensor de presión barométrica BMP280 de alta precisión y de bajo consumo... S/.

Para este tutorial podemos usar cualquiera de estos dos módulos: Modulo Micro SD: nos permite insertar una memoria Micro SD que son las más comunes en el mercado. SDXC (Extended Capacity) y las SDIO (Input/Output). Con respecto al formato podemos encontrar 4 tipos. siendo este último el tamaño más común. veremos las conexiones y características de estos dispositivos.naylampmechatronics. el modulo se puede alimentar con 3. Estas memorias vienen en tres tamaños. SD estándar. Mini SD y Micro SD. funcionalmente son iguales. por su gran capacidad y su reducido tamaño. las tarjetas SD o SDSC (Standard Capacity).3V.html 4/27 . Estas características nos dan una buena alternativa de almacenamiento para usarlo en Arduino. La comunicación de la memoria es por SPI pero trabajan con 3. sobretodo cuando necesitamos guarda gran cantidad de información. permitiéndonos Arduino trabajar con los dos primeros tipos.16/7/2017 Tutorial Arduino y memoria SD y micro SD. Las memorias SD son las más usadas por dispositivos portátiles. http://www. pudiéndose usar adaptadores para utilizarlos en sockets de diferente tamaño. SDHC (High Capacity).com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. Desarrollaremos ejemplos para trabajar con tarjetas SD o Micro SD.3V o 5V usando los pines respectivos. para utilizarlo con Arduino necesitamos módulos externos que aparte de tener el socket traen los componentes necesarios para adaptar los voltajes a TTL y poder conectarlo de forma fácil a nuestro Arduino. debido a su gran demanda son fáciles de conseguir en diferentes capacidades y precios.

pero usando un adaptador podemos usar también memorias micro SD http://www.16/7/2017 Tutorial Arduino y memoria SD y micro SD.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.naylampmechatronics.html 5/27 . Módulo SD card: Este módulo trae el socket grande para las memorias SD de tamaño estándar.

com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. Por ejemplo: SD. Solo elimina el archivo más no el directorio.16/7/2017 Tutorial Arduino y memoria SD y micro SD. por lo que no necesitamos instalar ni descargar nada. Devuelve true se logra eliminar el archivo de lo contrario nos retorna un false.begin(cspin) Inicializa la biblioteca SD y la tarjeta.html 6/27 . mode) Abre el archivo especificado y se debe de incluir el directorio si el archivo está en carpetas. La función retorna true si la creación del directorio fue exitosa de lo contrario nos retorna un false SD. si no se especifica cspin . filename es el nombre del archivo y/o directorio en la tarjeta SD si este existe la función nos retorna un true. el cual es necesario declararlo antes como una variable. SD.mkdir(directory) Crea el directorio especificado. Los demás pines deben estar conectados al SPI por hardware del Arduino. de lo contrario retorna false. SD.naylampmechatronics. crea la carpeta “archivos” y si las carpetas Arduino y proyecto1 no existen. como parámetro se le indica el pin CS al que está conectado el modulo. Arduino tiene una librería para usar estas memorias.remove(filename) Elimina el archivo (filename) de la tarjeta SD.h> A continuación explicamos las funciones principales de la librería SD.mkdir(“Arduino/proyecto1/archivos). se usa el valor por defecto del CS por hardware. pero no será posible crear el directorio si este no existe. Por ejemplo: http://www. que funciona con cualquiera de los módulos antes mencionados. SD. Devuelve TRUE si la eliminación del directorio tuvo éxito o FALSE en caso contrario. Se puede abrir un archivo como solo lectura (si mode es FILE_READ) o como lectura y escritura (si mode es FILE_WRITE). el modo por defecto en caso no se especifique es FILE_READ Ésta función nos retorna un objeto tipo FILE. entonces también se crearan.arduino.rmdir(dirname) Eliminar el directorio (dirname) de la tarjeta SD. Si el archivo no existe.exists(filename) Comprueba si existe el archivo especificado. Para poder usar la librería en nuestro Sketch es necesario incluir a la librería SD al inicio del código: #include <SD. el cual es un resumen de la referencia proporcionada en la página oficial de Arduino: https://www. El directorio debe estar vacío.open(filepath. se creara un archivo con el nombre especificado. se debe de incluir el directorio. La librería ya viene junto con el IDE de arduinos. también se crearan. si los subdirectorios no existen.cc/en/Reference/SD SD. SD.

Si queremos agregar al final un salto o nueva línea se usa file.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. Nano Arduino Mega GND GND GND http://www. file.16/7/2017 Tutorial Arduino y memoria SD y micro SD. FILE_WRITE). el cual será enviado como caracteres.available() Compruebe si hay bytes disponibles para leer en el archivo y retorna el número de bytes disponibles file. Explicado la librería empecemos viendo como conectar los módulos con nuestro Arduino: Conexión entre Arduino y modulo SD y micro SD Las conexiones para el modulo SD son las siguientes. data puede ser una variable o texto. len) se puede escribir un array de byte (buf) pero se debe especificar el tamaño (len).seek(pos) Nos ubicamos en una posición específica en el archivo.println(data) file. File myFile.size() Retorna el tamaño en bytes del archivo file.close() Cerramos el archivo. file. pudiendo extraer de forma segura nuestra SD. Módulo SD Arduino Uno. y recién en este momento los datos se guardan en la SD.print(data) Esta función tiene las mismas características que un Serial. el archivo debe estar abierto en modo lectura y escritura.position() Retorna la posición actual en donde se leerá o escribirá el siguiente byte.write(data) Escribe un byte en el archivo. Funciones de la clase File: file.write(buf.naylampmechatronics.open("archivo.open()) file. Pos debe ser un número entre 0 y el tamaño en bytes del archivo file.txt". Usando file. myFile = SD.html 7/27 .print().read() Lee un byte de la variable File (archivo abierto anteriormente con SD.

3V No conectado No conectado +5V 5V 5V CS 4 4 MOSI 11 51 SCK 13 52 MISO 12 50 GND GND GND *Se puede alimentar con 5V o 3. Nano Arduino Mega +3.naylampmechatronics.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. Módulo SD Arduino Uno.html 8/27 . pero no se debe de alimentar por ambos pines a la vez Y las conexiones si se trabajan con el módulo micro SD son: Módulo SD Arduino Uno. Nano Arduino Mega http://www.16/7/2017 Tutorial Arduino y memoria SD y micro SD.3V usando los pines correspondientes.

txt.3V No conectado No conectado *Se puede alimentar con 3. pero no se debe de alimentar por ambos pines a la vez Ej1. abrimos y creamos un archivo de hoja de texto.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.16/7/2017 Tutorial Arduino y memoria SD y micro SD. e ingresamos el texto que posteriormente vamos a leer desde Arduino: http://www. Para esto insertamos nuestra SD a la PC.naylampmechatronics.  Leer un archivo de la SD con nuestro Arduino En este ejemplo vamos a leer un archivo de texto desde la SD. CS 4 4 SCK 13 52 MOSI 11 51 MISO 12 50 VCC 5V 5V GND GND GND 3.html 9/27 . por ejemplo archivo.3V en lugar de 5V usando el pin correspondientes.

txt").16/7/2017 Tutorial Arduino y memoria SD y micro SD. } Serial.read()).print("Iniciando SD ."). Serial..com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.txt:"). if (!SD.available()) { Serial. //cerramos el archivo } else { Serial. void setup() { Serial..println("No se pudo inicializar"). Y cargamos el siguiente sketch en nuestro Arduino: #include <SD.println("Error al abrir el archivo"). http://www.html 10/27 . Seguidamente extraemos la SD de la PC.//abrimos el archivo if (myFile) { Serial. return.open("archivo. } } void loop() { } EL programa envía por el puerto serie todo el contenido del archivo guardado en la SD. myFile = SD. while (myFile.println("inicializacion exitosa").naylampmechatronics. lo insertamos en el módulo SD.h> File myFile.println("archivo. } myFile.begin(9600).begin(4)) { Serial.close().write(myFile.

com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.16/7/2017 Tutorial Arduino y memoria SD y micro SD. Desde la PC en la SD en una hoja de texto guardamos las secuencias que deseemos realizar. con su resistencia respectiva. excluyendo el 4.naylampmechatronics. http://www. Manipulando leds desde la SD En este caso no solo vamos a leer el archivo desde la SD sino vamos a interpretar y realizar ciertas acciones con los datos. Leer datos desde la SD. Conectamos ocho leds en los pines del 2 al 10.html 11/27 . En un archivo de texto vamos a guardar datos para encender y apagar leds y con esto ejecutar diferentes secuencias que estarán guardadas en la SD. Ej2.

8.7. int PinLeds[8]={2. int pausa=1000. #include <SD.txt e insertamos la SD en el módulo de nuestro Arduino El Sketch es el siguiente.3.6.9.5. ustedes pueden escribir cualquier secuencia o tambien pueden descargar el archivo de texto que usamos para este ejemplo: Leds.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.html 12/27 . El primer número de cada línea corresponde a la pausa o tiempo que va a estar presente la secuencia.//Pines de los Leds void setup() { http://www. los siguientes ocho números corresponde a la secuencia o estado de cada uno de los ocho leds.16/7/2017 Tutorial Arduino y memoria SD y micro SD.txt Después de escribir nuestras secuencias de los leds en la hoja de texto guardamos con nombre Leds.10}. int UltimaPocicion=0.naylampmechatronics.h> File myFile.

print(" LEDS |").print("Iniciando SD .i++) { pinMode(PinLeds[i].i<8."). c = cadena[index++].size(). //-----------procesamos la cadena------------ int index=0.println("inicializacion exitosa").position().. for(int i=0.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. while (c >= '0' && c <= '9') { pausa = 10*pausa + (c .close().print(cadena). } else { http://www.read().print("pausa="). pausa=0..available()) { char caracter=myFile.//abrimos el archivo int totalBytes=myFile.print("Cadena Leida:"). if (myFile) { if(UltimaPocicion>=totalBytes) UltimaPocicion=0.print(pausa). } } //--------------------------------------------------- myFile. if(caracter==10)//ASCII de nueva de línea { break. Serial.open("Leds. } Serial.html 13/27 . UltimaPocicion=myFile. myFile. for(int i=0.txt").i<8. Serial.begin(4)) { Serial. } } void loop() { myFile = SD. } Serial. if (!SD.i++) { if(cadena[index+i*2]=='1') { digitalWrite(PinLeds[i].OUTPUT). return.16/7/2017 Tutorial Arduino y memoria SD y micro SD. Serial. HIGH). char c=cadena[index++].print(" 1 |").begin(9600).println("No se pudo inicializar"). //--Leemos una línea de la hoja de texto-------------- while (myFile. Serial. //cerramos el archivo Serial.seek(UltimaPocicion).naylampmechatronics.'0'). Serial. cadena=cadena+caracter. Serial. String cadena="".

A continuación se muestra la salida del monitor serial. Serial.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.println(). } delay(pausa). Guardando datos en la SD (Datalogger) En este ejemplo guardaremos información de variables y sensores en nuestra SD http://www. digitalWrite(PinLeds[i]. esto porque después de cada lectura cerramos el archivo. } else { Serial.println("Error al abrir el archivo"). LOW). } Como se observa Leemos una línea de la SD la procesamos y mostramos la secuencia en los leds durante el tiempo que también obtenemos desde la SD.html 14/27 .naylampmechatronics. es necesario después de cada lectura guardar la última posición de memoria para que en la segunda lectura continuemos la lectura desde esa posición.16/7/2017 Tutorial Arduino y memoria SD y micro SD.print(" 0 |").println(). } } Serial. que es un reflejo de lo que se muestra en los leds: Ej3. Serial.

Serial. myFile.print(sensor2).println("Error al abrir el archivo"). A1 y A2 del Arduino.print("Iniciando SD . myFile.16/7/2017 Tutorial Arduino y memoria SD y micro SD. Serial. Para simular los sensores utilizamos 3 potenciómetros que deben estar conectados a los pines A0. } else { Serial.naylampmechatronics. myFile.println("inicializacion exitosa"). } delay(100).begin(4)) { Serial. sensor2=").print(sensor2).com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. sensor3="). myFile. Serial. int sensor2 = analogRead(1).txt".html 15/27 .. void setup() { Serial.begin(9600).print("Escribiendo SD: ")..print(".print(millis()). } En el monitor serial muestra los datos que se están escribiendo en la SD: http://www.print(".open("datalog. int sensor1 = analogRead(0). myFile.close(). FILE_WRITE). int sensor3 = analogRead(2). sensor1="). //cerramos el archivo Serial. return. Serial.print("Tiempo(ms)="). sensor3="). El sketch es el siguiente: #include <SD.print(". Serial. if (!SD. myFile. Serial.print(".println(sensor3). myFile.h> File myFile.println(sensor3). sensor1=").print(".").print(sensor1). myFile.print(".//abrimos el archivo if (myFile) { Serial. } void loop() { myFile = SD. Serial. myFile. sensor2="). Serial.print("Tiempo(ms)=").print(sensor1).println("No se pudo inicializar").print(millis()). } Serial.

Exportando datos de nuestro datalogger a Excel. Y si insertamos la SD en nuestra PC podemos ver el archivo generado: Ej4.16/7/2017 Tutorial Arduino y memoria SD y micro SD. http://www.html 16/27 .com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.naylampmechatronics.

print("Escribiendo SD: "). Serial. int sensor2 = analogRead(1).h> File myFile."). myFile. } else { Serial. } Serial.println("Archivo nuevo.print(sensor1). int sensor1 = analogRead(0).").exists("datalog. En este caso los datos lo almacenaremos en forma de tabla pero no podremos guardarlos directamente en un archivo de Excel.naylampmechatronics.Sensor1.begin(9600).println("Tiempo(ms).print(". myFile. http://www. if (!SD.print(". sino los guardaremos en formato .println("No se pudo inicializar").csv"."). Escribiendo encabezado(fila 1)"). if(!SD. if (myFile) { Serial. El sketch para el Arduino es el siguiente: #include <SD. myFile. las columnas lo separaremos por comas (u otro separador) y las filas por saltos de línea.Sensor2.println("Error creando el archivo datalog.begin(4)) { Serial. myFile. myFile. myFile..csv").print(sensor2).println(sensor3). Tomaremos el ejemplo anterior con la diferencia que guardaremos los datos en el formato explicado anteriormente.open("datalog.print(".open("datalog.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. return. myFile.. int sensor3 = analogRead(2).//abrimos el archivo if (myFile) { Serial.csv". void setup() { Serial.Sensor3"). Para Excel también se podría trabajar en un archivo txt. FILE_WRITE). matalb o sistemas web.").print("Iniciando SD .html 17/27 . myFile. } } } void loop() { myFile = SD. FILE_WRITE).println("inicializacion exitosa").16/7/2017 Tutorial Arduino y memoria SD y micro SD. Gnumeric.close().csv")) { myFile = SD.csv el cual lo trabajaremos como si fuera una hoja de texto. myFile.print(millis()). pero en la extensión csv tenemos la posibilidad de importar no solo a Excel sino a otros programas como Calc de Open Oficce.

} delay(100).println(sensor3).html 18/27 .sensor2=").println("Error al abrir el archivo"). esto lo hacemos en setup() si el archivo no existe . cada vez que se reinicie o se encienda el Arduino continuara escribiendo desde la última posición.close(). Serial.print(millis()). Serial. Serial. como el archivo ya ha sido creado.print(sensor1). deberán manualmente desde la pc eleiminar el archivo o por código en setup() remover el archivo con SD.print(".naylampmechatronics.print(sensor2).sensor1="). pues solo se ha cambiado la forma de guardar en la SD: http://www. } else { // if the file didn't open. La salida del monitor serial es igual al del ejemplo anterior. si desean reanudar todo.print(".sensor3="). //cerramos el archivo Serial. Serial. myFile. Serial. } El programa es similar al del ejemplo anterior con la diferencia que al inicio del archivo necesitamos poner el nombre de los campos o encabezado.16/7/2017 Tutorial Arduino y memoria SD y micro SD. print an error: Serial. Serial. Serial.remove(filename).com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.entonces creamos uno y seguidamente escribimos la primera fila.print(". para posteriormente en el void loop() solo dedicarse a escribir los datos.print("Tiempo(ms)=").

en el primer paso escogemos archivos delimitados http://www. Seguidamente escogemos el archivo que deseamos importar.naylampmechatronics.CSV. Después de obtener los datos que deseamos. en nuestro caso datalog.Desde texto. el siguiente paso es ingresar la memoria SD a la PC ya con los datos guardados por nuestro Arduino. posteriormente abrimos Excel y en la barra de menús vamos a Datos y luego a Obtener datos externos . Al ingresar a la SD deben encontrar el archivo DATALOG.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.16/7/2017 Tutorial Arduino y memoria SD y micro SD.html 19/27 .csv y nos abrirá el asistente de importación.

com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.html 20/27 . En el paso 2 en separadores marcamos coma: En el paso 3 dejamos todas las columnas en general.naylampmechatronics.16/7/2017 Tutorial Arduino y memoria SD y micro SD. http://www.

naylampmechatronics. deberán escoger el lugar en donde se va iniciar la tabla: Finalmente tenemos los datos ya disponibles en Excel http://www.16/7/2017 Tutorial Arduino y memoria SD y micro SD.html 21/27 .com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. Después de dar en finalizar.

EL procedimiento para es similar para otras versiones de Excel y otros programas de hojas de cálculo.16/7/2017 Tutorial Arduino y memoria SD y micro SD.naylampmechatronics.html 22/27 . hembra a macho 20cm x 20Und Tags: sd http://www. Pueden adquirir los materiales usados en este tutorial en nuestra tienda          Módulo Micro SD Card          Módulo SD Card          Arduino Uno R3          Cable Dupont.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.

EL modulo SD o micro SD solo es una adaptador de voltaje para la tarjeta SD. no logro usar este programa sin desconectar el arduino del pc solo me funciona si esta conectado al computador Reply Naylamp sep 30. es como si no estuviera conectado nada a arduino y las funciones begin() y open() retornan un false. Si después de retirar se ingresa nuevamente es necesario volver a inicializar la SD. 2016 Hola Mauro. 2016 hola buenos días por favor tu ayuda. Saludos Reply juan nov 3. 2016 hola!como puedo implementar un mensaje para cuando una vez se esten guardando informacion en la SD y en algun momento por alguna razon la SD se salio del slot entonces me diga que no hay SD insertada= Reply Naylamp nov 6. Reply David nov 3. 30 ? ? 0 ? Compartir 7 26 Comments mauro alejandro zapata rozo sep 27.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. Todo me fue de gran ayuda. Muchas gracias por tu aporte.naylampmechatronics. cual ejemplo estas trabajando? Si funciona conectado a la PC también te debería funcionar con una fuente externa. Puede ser que tu fuente externa tenga ruido o no tenga el voltaje adecuado.html 23/27 . 2016 Eres el amo.16/7/2017 Tutorial Arduino y memoria SD y micro SD. 2016 Estimado Juan. Reply Jandres oct 24. sin la tarjeta. 2016 http://www.

Time t_temp. } } else { claveSD[index] = c. ???? Te agradeceria que pusieras un ejemplo en caso afirmativo.txt"). Serial.#include //incluimos la libreria para la Targeta SD #include #include DS1307 rtc(20..available()) { claveSD[index] = ''. Serial.txt por ejemplo. linea 100: 2211812 suponiendo que hoy fuera 14 de diciembre y fueran las 10:36 como se haria para que leyera esa linea entre las 100 y encendiera todo los led por ejmplo??????? Un saludo y gracias Reply Naylamp nov 6. Hola.println("Inicializando Targeta SD. bool encontrado = false. index = 0.println("La tarjeta no esta o a fallado"). como se haria para que el arduino partiendo de los datos reales de un rtc.readStringUntil('n').HIGH). index++. if ((t. para realizar eso el procedimiento es similar. if(encontrado) { Serial. Me has hecho pensar con este ejemplo y con tu nueva resppuesta todo el dia de ayer y parte de hoy.println("No existe").txt y apaga.. delay(1500). // Pin 53 lo definimos como salida aun que no lo usemos pinMode(53. 2016 Naylamp. if (c == 'n' || !myFile.. Partiendo de los 8 led y de un archivo activa.txt. Reply David nov 7. char claveSD[15]. pero ahora si se me han complicado las dudas. // Inicia o funcionamento do RTC.begin(chipSelect)) { Serial... File myFile.. digitalWrite(LedRojo.hour > 00) && (t. hora y dia en una variable (long dia) y luego compararla con las lineas de cada archivo.// Variável que controla o tempo para gravação dos parâmetros no cartão SD // Para utilizar o Sd card do LCD altere para 53void setup() { rtc..pinMode(LedRojo. mes.OUTPUT).begin(9600). mis felicitaciones. break.println("t").txt: linea1: 14121036-> 14/12 10:36 dd/MM hh:mm . OUTPUT). pero mas o menos creo que se entiende la idea..LOW). muchas gracias por responder. 2016 Hola...html 24/27 . Y si quieres identificar el número de línea solo tendrías que agregar un contador incremental Reply David nov 7.close(). if (myFile) { do { c = myFile. Se podria hacer por ejemplo guardar la fecha. } } } } http://www. // Indica en que pines esta conectado el RTC.. digitalWrite(LedRojo.naylampmechatronics. 2016 Estimado David. solo que la deje para un solo led. Para leer una línea puedes usar la siguiente función en remplazo del file. t.getTime(). leyera ese dia en particular la linea del archivo y activara o apagara los led señalados. no tengo un IDE a mano.read().. char c.const int chipSelect = 4. sobre el ejemplo de los 8 led. }void loop(){ t = rtc. y en esos archivos hubiera una serie de lienas con dia. No se si me explique bien.hour < 12)){ myFile = SD."). un saludo y gracias por todo. if (t == atol(claveSD){// compara la fecha (ddmm) y hora (hhmm) actuales con las lineas encontrado = true. asique no se si funcionara correctamente.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-.println("encontrado"). un buen tutorial. int index=0. //iniciamos el puerto serie a 9600 baudios //Inicializamos la tarjeta SD Serial.available()). para ello pongo un ejemplo: activa. } Serial..open("Activa.. } } while (myFile.. return.// Si hay tarjeta se inicializa if (!SD.println("Tarjeta inicializada.halt(false). myFile.int LedRojo=9. 21). // Actualiza las variables que usa el RTC.16/7/2017 Tutorial Arduino y memoria SD y micro SD. tendrías leer línea por línea y luego hacer comparaciones con la fecha y hora del rtc y evaluar si se debe prender o no los focos.").. Despues de leerme toda la pagina me surgio una duda. hora y minuto. } else{ Serial.read(): String Linea = file. porque le he dado muuuuuchas vueltas a la cabeza con esta duda.

16/7/2017 Tutorial Arduino y memoria SD y micro SD.naylampmechatronics.html 25/27 . el problema es que solo me lee las primeras 65 lineas del archivo. byte salida. estoy trabajando en un proyecto donde leo valores de un csv linea por linea y comando salidas del arduino como el ejemplo de los leds.Gracias por su ayuda. una duda como puedo leer valores por columna de excel a aruduino? se puede o podra? en caso de si como hacerlo? Reply Naylamp nov 16. 2016 Hola buen dia. Reply uriel dic 3. #define GOUP 1 #define DIRECTORIO 2 #define ARCHIVO 3 #define DESCONOCIDO 4 struct _disparo { byte caja. También puede ser que tu csv tenga en alguna línea un carácter NULL y esto cause que abandone el while según la lógica que usas. 2016 Un tutorial bien explicado para reproducir sonidos con un modulo de micro porfavoooor!!!! http://www. y desde arduino hacer una rutina para que realice la lectura línea por línea parecido al ejemplo 2. si funciona bien con 65 líneas puede ser que alguna de tus variables se esté desbordando. Reply Enrique nov 20. también asegúrate que tú . Reply Naylamp nov 30.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. Tengo un problema. struct _disparo * sig. Hay alguna función que defina la cantidad de lineas que voy a leer del archivo? El programa tiene varias hojas pego aqui la parte de la SD. muy buen post. Reply Victor Olguin nov 13. Lo que puedes es exportar tu tabla de Excel en CSV separado por comas. 2016 Hola Enrique. o prueba con 0x0D o 0x0A. 2016 Hola como estas. }. no es posible abrir un archivo Excel en arduino. 2016 Hola Víctor. unsigned long delay_ms.csv finalice la línea con n.

mi consulta es. Reply Hector Inbacuan abr 29. si no borras el archivo crecerá indeterminadamente y será más pesado. Reply Naylamp feb 17. Puedes encontrar un ejemplo en Archivo>Ejemplos>SD>ListFiles http://www. como el DS1307 o DS3231. Reply julio ene 30.name() puedes consultar el nombre del archivo o carpeta.com/blog/52_tutorial-rtc-ds1307-y-eeprom-at24c32. Mi pregunta es si es posible en caso de que exista mas de un archivo en la sd. pero funciona. 2017 Buen dia. 2017 Hola Matías. Felicitaciones.naylampmechatronics. con estas dos funciones podrías hacer un barrido por toda la SD. o alguna otra idea para levantar el ultimo valor guardado en la tarjeta SD cuando el arduino se reinicia? muchas gracias. escribir. asi de esta manera del archivo de texto me queda siempre con una sola linea de texto. 2017 Muy buen tutorial amigo. el arduino me levante la variable que previamente guarde. Pero la forma que lo has solucionado también es correcto. luego restar el tamaño de la variable y realizar la lectura a partir de dicha posición. muy buen articulo. 2017 Hola Hector. como hago para leer solo la ultima linea del archivo de texto? esto es para que ante un corte de energia. ver los nombres de estos Reply Naylamp abr 30.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. borrar. con file. y equivale a leer.. Julio para tener hora y fecha debes agregar un módulo RTC. y con openNextFile() puedes abrir otro archivo del mismo directorio. 2017 Hola. 2017 Hola. Si la variable es de tamaño fijo podrías inicialmente leer el tamaño del archivo. son fácil de implementar.html Reply Matias Gallo feb 8. lo explicamos en este tutorial: http://www. No olvides también que puedes usar la eeprom interna del arduino.16/7/2017 Tutorial Arduino y memoria SD y micro SD.como podria guardar los datos y que me indique la hora y fecha de cada dato guardado Reply Naylamp feb 1..naylampmechatronics. ahora lo que estoy haciendo es medio feo.html 26/27 .

'C'}. yo se que la respuesta esta en tu codigo pero ya he intentado todo y no consigo resultados.naylampmechatronics.'A'}. solo agarré el sketch como tal Reply carlos jun 30.begin(9600).'B'}. {'7'.#include // empieza el codigo necesario const byte filas = 4. como podria hacerlo para que lea desde la ultima linea.'D'} }.'8'. columnas). F4 byte pinsColumnas[columnas] = {5. 2017 Hola Alex. 3. 6}.}void loop() { tecla = http://www. Reply Daniel jun 26. Reply Naylamp jun 23. tengo una pregunta estoy haciendo un proyecto con un teclado matricial 4 x 4 y un arduino nano. // termina el codigo necesariochar tecla. {'4'. si presiono el numero 1234 y despues la tecla A. F3. quiero que ese numero 1234 me quede almacenado en mi memoria micro sd y asi sucesivamente con todos mis registros.size() obtienes el tamaño y con myFile. {'*'.'2'. Saludos. // en orden: F1. por ejemplo. 2017 Que tal amigo mira disculpa tengo una inquietud. byte pinsFilas[filas] = {9. y necesito leer solo las 3 ultimas lineas del archivo. 7. 2017 Hola. pinsColumnas. // en orden: C1. const byte columnas = 4. 2017 hola inge. adjunto mi codigo y si ud lo puede modificar para q me almacene en la micro sd le agradeceria.hasta el momento lo unico q he e logrado es que me reconozca las filas y columnas . 8.'9'.'3'. F2. quiero conectar dos sensores dth22 y que la tarjeta guarde los datos me podrías ayudar por favorgracias Reply Alex jun 6.seek(x) te ubicas en una posición para proceder a leer. Almaceno datos de sensores en un archivo de texto.'#'.com/blog/38_Tutorial-Arduino-y-memoria-SD-y-micro-SD-. Si el tamaño por línea es fijo seria fácil de implementar. C2. 2}. de antemano gracias x tu ayuda. Con myFile.'6'. Reply manuel may 26.'5'. Dicha posición seria el tamaño total menos el tamaño de las ultimas 3 líneas. C4char teclas[filas] [columnas] = { {'1'.html 27/27 . filas. pero no se como lograr almacenasr las pulsaciones. pinsFilas.Keypad teclado = Keypad(makeKeymap(teclas).void setup() { Serial. pero quisiera realizar la lectura para encender los led´s sin embargo el código no me compila.'0'. la idea es que quiero almacenar en una micro sd los datos ingresados atravez de mi teclado matricial al precionar la tecla A.16/7/2017 Tutorial Arduino y memoria SD y micro SD. C3. Analízalo como si el archivo es fuese una cadena de texto. 4. 2017 hola buenos días quisiera saber si podridas ayudar con la tarjeta sd. estuve analizando el ejemplo con los leds donde vas leyendo el archivo en forma ascendente por asi decirlo. soy muy nuevo en esto. disculpa. apareciendo un #include expects y eso.