Anda di halaman 1dari 44

Sesion 04: Datos y

Almacenamiento

Carlos Vila

Semestre 2017 - I
Memorias EEPROM
FAT16, FAT36 y NTFS
Lector SD y MicroSD
Log de Datos
Ejercicios

Prof. Carlos Vila | Semestre 2017 - I


Programacin Digital

Prof. Carlos Vila | Semestre 2017 - I


Prof. Carlos Vila | Semestre 2017 - I
El AT24C32A / 65A proporciona 32,768 / 65,536 bits
de memoria serial elctricamente borrable y
programable, memoria de solo lectura (EEPROM)
organizada como 4096 / 8192 palabras de 8 bits cada
una.
Las caractersticas en cascada del dispositivo
permiten ensamblar 8 dispositivos (mdulos)
compartiendo un bus comn de datos de dos canales
o hilos.
Este dispositivo esta optimizado para ser usado en
muchas industrias y aplicaciones comerciales donde el
bajo poder y el bajo voltaje de operacin son
esenciales.
Las EEPROM estn disponibles en versiones de 2.7V
(2.7V a 5.5V) y 1.8V (1.8V a 5.5V).

Prof. Carlos Vila | Semestre 2017 - I


Operacin a estndares de bajo voltaje
2.7 (Vcc = 2.7 v to 5.5 v)
1.8 (Vcc = 1.8 v to 5.5 v)
Interfaz de comunicacin serial de 2 canales
Protocolo de transferencia de datos bidireccional
Velocidad de reloj de100 kHz (1.8 v, 2.5 v, 2.7 v) y 400 kHz (5v)
Pin de proteccin de escritura (hardware de proteccin de datos)
Alta confiabilidad
Resistencia: 1 milln de ciclos de escritura
Retencin de datos: 100 aos

Prof. Carlos Vila | Semestre 2017 - I


Prof. Carlos Vila | Semestre 2017 - I
Programacin Digital

Prof. Carlos Vila | Semestre 2017 - I


El primer sistema de archivos en ser utilizado en un sistema
operativo de Microsoft .
Utiliza una tabla de asignacin de archivos que es un ndice que crea
una lista de contenidos del disco para grabar la ubicacin de los
archivos que ste posee. Ya que los bloques que conforman un
archivo no siempre se almacenan en el disco en forma contigua (un
fenmeno llamado fragmentacin)
El sistema FAT es un sistema de 16 bits que permite la identificacin
de archivos por un nombre de hasta 8 caracteres y tres extensiones
de caracteres. Es por esto que el sistema se denomina FAT16.

Prof. Carlos Vila | Semestre 2017 - I


Este sistema de archivos, denominado FAT32 utiliza valores de 32
bits para las entradas FAT, slo se utilizan 28 bits, ya que 4 bits se
reservan para su uso en el futuro.
Desventajas de FAT32:
Con respecto NTFS (usado en Windows XP en adelante), el FAT32 no
tiene cifrado de archivos como s lo tiene el NTFS.
No pueden establecerse permisos para cada archivo, slo para carpetas.
Tamao mximo de archivo del FAT32: 4 GB (una limitacin fuerte en la
actualidad, dado que las pelculas pueden ocupar ms de 4 GB).

Prof. Carlos Vila | Semestre 2017 - I


Programacin Digital

Prof. Carlos Vila | Semestre 2017 - I


Un lector SD es un dispositivo que permite emplear como
almacenamiento una tarjeta SD,
Las tarjetas SD y micro SD se han convertido en un estndar de
almacenamiento de datos debido a su gran capacidad y pequeo
tamao

Prof. Carlos Vila | Semestre 2017 - I


La lectura puede realizarse a travs del bus SPI, bus I2C o UART, de
preferencia emplear SPI por su alta tasa de transferencia.
Podemos emplear tarjetas SD o SDSC (Standard Capacity) o SDHC
(High Capacity), pero no SDXC (Extended Capacity). Todas ellas
debern estar formateadas en sistema de archivos FAT16 o FAT32.
Tensin de alimentacin de 3.3V, incluye un regulador de voltaje que
permite alimentar directamente a 5V.

Prof. Carlos Vila | Semestre 2017 - I


Lector SD Lector MicroSD

Prof. Carlos Vila | Semestre 2017 - I


Prof. Carlos Vila | Semestre 2017 - I
La conexin del lector SD

Lector micro SD,

Prof. Carlos Vila | Semestre 2017 - I


9.- DAT 1
1.- CS (Chip Selector) / SS (Slave Selector)
2.- MOSI (MasterOut-SlaveIn)
3.- GND
4.- Vcc +3.3 v
5.- CLK (Seal de Reloj)
6.- GND
7.- MISO (MasterIn-SlaveOut)
8.- DAT 0

Prof. Carlos Vila | Semestre 2017 - I


Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
// El fichero ledo dataFile.txt debe existir
// previamente en la tarjeta.
#include <SD.h>

File dataFile;

void setup()
{
Serial.begin(9600);
Serial.print(F("Iniciando SD ..."));
if (!SD.begin(4))
{
Serial.println(F("Error al iniciar"));
return;
}
Serial.println(F("Iniciado correctamente"));

Prof. Carlos Vila | Semestre 2017 - I


// Abrir fichero y mostrar el resultado
dataFile = SD.open("datalog.txt");
if (dataLine)
{
string dataLine;
while (dataFile.available())
{
dataLine = dataFile.read();
Serial.write(dataLine);
}
dataFile.close();
}
else
{
Serial.println(F("Error al abrir el archivo"));
}
}
Prof. Carlos Vila | Semestre 2017 - I
#include <SD.h>

File logFile;

void setup()
{
Serial.begin(9600);
Serial.print(F("Iniciando SD ..."));
if (!SD.begin(4))
{
Serial.println(F("Error al iniciar"));
return;
}
Serial.println(F("Iniciado correctamente"));
}

Prof. Carlos Vila | Semestre 2017 - I


// Funcion que simula la lectura de un sensor
int readSensor()
{
return 0;
}

void loop()
{
// Abrir archivo y escribir valor
logFile = SD.open("datalog.txt", FILE_WRITE);

Prof. Carlos Vila | Semestre 2017 - I


if (logFile) {
int value = readSensor;
logFile.print("Time(ms)=");
logFile.print(millis());
logFile.print(", value=");
logFile.println(value);

logFile.close();

}
else {
Serial.println("Error al abrir el archivo");
}
delay(500);
}

Prof. Carlos Vila | Semestre 2017 - I


Programacin Digital

Prof. Carlos Vila | Semestre 2017 - I


Crear un perifrico que permita el registro de datos de los valores
que va adquiriendo un potencimetro en el tiempo.
Grabar los datos en un TXT
Cargarlos en la PC y mostrarlos en MS Excel
Graficar los datos obtenidos

Prof. Carlos Vila | Semestre 2017 - I


Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
Prof. Carlos Vila | Semestre 2017 - I
/* Es programa muestra el uso del adaptador MicroSD con Arduino Uno R3
* Hace uso de la libreria SD.h y TimeOne.h
* La tarjeta MicroSD usa el Bus SPI con la siguiente configuracin
* MOSI = pin 11
* MISO = pin 12
* SCJ = pin 13
* CS = pin 10
* GND = GND
* Vcc = 5v
*/

#include <SD.h>
#include <TimerOne.h>

#define chipSelect 10
#define potentiometerSwiperPin 0

volatile int sensorValue;


volatile unsigned long sensorTime;
volatile byte sensorFlag;

Prof. Carlos Vila | Semestre 2017 - I


void setup()
{
Serial.begin(9600);
Serial.print("Inicializando SD Card...");

pinMode(chipSelect, OUTPUT);

if(!SD.begin(chipSelect))
{
Serial.println("Card fallo o no esta presente.");
return;
}

Serial.println("Card inicializado.");

if(SD.exists("datalog.txt"))
{
SD.remove("datalog.txt");
}

Timer1.initialize(500000);
Timer1.attachInterrupt(readoutPotentiometer);
}

Prof. Carlos Vila | Semestre 2017 - I


void loop()
{
String dataString = "";

if(sensorFlag == 1)
{
dataString = String(sensorTime) + String(", ") + String(sensorValue);

File dataFile = SD.open("datalog.txt", FILE_WRITE);

sensorFlag = 0;

if(dataFile)
{
dataFile.println(dataString);
dataFile.close();

Serial.println(dataString);
}
else{
Serial.println("error abriendo datalog.txt");
}
}
}

Prof. Carlos Vila | Semestre 2017 - I


void readoutPotentiometer()
{
sensorValue = analogRead(potentiometerSwiperPin);
sensorTime = millis();
sensorFlag = 1;
}

Prof. Carlos Vila | Semestre 2017 - I


Ubicar la carpeta con los archivos de la librera personalizada que se
desea registrar en la carpeta libraries del arduino.
C:\Program Files (x86)\arduino-1.6.12\libraries

Prof. Carlos Vila | Semestre 2017 - I


Abrir el programa arduino y verificar la incorporacin de la librera
antes registrada: Programa\Incluir Librera\TimerOne

Prof. Carlos Vila | Semestre 2017 - I


Programacin Digital

Prof. Carlos Vila | Semestre 2017 - I


Desarrollar un sistema de caja fuerte con las siguientes
caractersticas
Permita verificar el password ingresados por teclado validando estos
datos con valores almacenados en la memoria MicroSD.
Registrar en la memoria MicroSD el nmero de intentos fallidos.
En caso la clave sea correcta abrir la caja fuerte (encender un Led)
X : Smbolo de nuevo intento
# : Smbolo de <ENTER>

Prof. Carlos Vila | Semestre 2017 - I

Anda mungkin juga menyukai