|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando

-- Tutorial de iniciación a Arduino --

Volver al índice del tutorial

____________________________

51.- Leer y escribir en tarjetas micro SdCard.

- Hay varios módulos para utilizar tarjetas micro SdCard, este que voy a utilizar tiene buen rendimiento:

- Este módulo trabaja tanto con 3,3V como con 5V, por lo cual se puede utilizar directemente tanto por tarjetas cuyos terminales funcionen con 3,3V como NodeMcu, Wemos, Arduino Mega,... como con los clásicos Arduino UNO que funciona con 5V.
- Sobre la placa se observa el chip "level shiffer", LVC125A que permite el funcionamiento con ambas tensiones.

- Y esta tarjeta micro SdCard de 32 GB

_______________________________________________________
- Librería.

- Utilizaremos la libreria SD.h, que ya suele venir instalada en el IDE de Arduino.

- https://www.arduino.cc/en/Reference/SD

_______________________________________________________

- Conexiones.

- Los terminales 11, 12 y 13 se han elegido porque esos terminales, además de ser digitales, son de MOSI, MISO y SCK.

- En el código debes poner la línea correspondiente al Arduino y Wemos:

// const int CS = D8; // Para el NodeMcu
const int CS = 4; // Para el Arduino y Wemos

- Fíjate que el terminal correspondiente al CS es el 4 en Arduino y Wemos.

- !SD.begin(CS)

_______________________________________________________

1.- Leer un archivo.

- Introducimos nuestra tarjeta micro SdCard en nuestro ordenador (si tiene lector de SdCard), con un Editor de texto creamos un archivo, por ejemplo "leer.txt"

- Escribimos un mensaje que tenga eñe y acento, por ejemplo: El Ñandú corrió por Cádiz.

- Lo guardamos, pero atención, es conveniente crearlo con un Editor de texto como el Notepad++ y ponerle codificación: Codificar en UTF-8 sin BOM, de esta manera respetará las eñes y los acentos.

- Una vez que tenemos el archivo "leer.txt", insertamos la SdCard en el lector SdCard de Arduino.

- Cargamos este código:

Leer_SdCard.ino

// Juan A. Villalpando
// Lee en el Monitor Serie el contenido de un archivo.
#include <SD.h>
// const int CS = D8; // Para el NodeMcu
const int CS = 4; // Para el Arduino y Wemos
 
void setup()
{
  Serial.begin(9600);
  Serial.println("");
  Serial.println("Iniciando SdCard...");
  if (!SD.begin(CS)) {
    Serial.println("Error al iniciar.");
    return;
  }
    Serial.println("SdCard iniciada.");

  File miarchivo = SD.open("leer.txt");
  if (miarchivo) {
    while (miarchivo.available()) {
      Serial.write(miarchivo.read());
      delay(200);
    }
    miarchivo.close();
  }
  else {
    Serial.println("Error al abrir el archivo.");
  }
}

void loop() {
}

- Abrimos el Monitor Serie.

_______________________________________________________

2.- Escribir en un archivo.

- Cargamos este código en el Arduino:

Escribir_SdCard.ino

// Juan A. Villalpando
// Escribe en el Monitor Serie y se guarda
// en una archivo de la SdCard.

#include <SD.h>
// const int CS = D8; // Para el NodeMcu
const int CS = 4; // Para el Arduino y Wemos
File miarchivo;

void setup() {
Serial.begin(9600);

  Serial.println("Iniciando SdCard...");
  if (!SD.begin(CS)) {
    Serial.println("Error al iniciar.");
    return;
  }
    Serial.println("SdCard iniciada.");
}

char rx_byte = 0;
String rx_str = "";

void loop() {
miarchivo = SD.open("escribir.txt", FILE_WRITE); // Abre el archivo.

if (Serial.available() > 0) { // ¿Hay algún caracter en el Monitor Serie?
    rx_byte = Serial.read(); // Toma el caracter.
    rx_str += rx_byte; // Va uniendo los caracteres escritos.
    
    if (rx_byte == '\n') {
          if (miarchivo) { 
            Serial.print("Escribe en la SdCard: ");
            Serial.print(rx_str);
            miarchivo.print(rx_str);
                      }
    rx_str = ""; 
}
}
miarchivo.close(); // Cierra el archivo.
}

- Vamos al Monitor Serie, escribimos una frase, pulsamos "Enviar", se escribirá en el archivo "escribir.txt"

- Quitamos la tarjeta SdCard del módulo y la insertamos en un lector SdCard de nuestro ordenador, podremos leer el contenido de ese archivo.

- Observa la manera de ir tomando los caracteres uno a uno y enviarlos cuando pulsemos el Botón,

- Esto ya lo vimos en... 5C.- Introducir datos desde el Monitor Serie.

- Observa que el Monitor Serie está a 9600 y "Ambos NL & CR"

_______________________________________________________

3.- Información sobre la tarjeta SdCard.

- Código: https://www.arduino.cc/en/Tutorial/CardInfo

- Recuerda:

// const int CS = D8; // Para el NodeMcu

const int CS = 4; // Para el Arduino y Wemos

- !SD.begin(CS)

_______________________________________________________

4.- Listado de directorios y archivos en la tarjeta SdCard.

- Código: https://www.arduino.cc/en/Tutorial/Listfiles

_______________________________________________________

5.- Archivos con la librería FS.

https://circuits4you.com/tag/nodemcu/

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información