Tarjeta SD#
Introducción#
El uso de una tarjeta SD con VEX EXP permite almacenar y acceder a archivos en una tarjeta SD extraíble insertada en la ranura para tarjetas SD del dispositivo. Ya sea para guardar datos de sensores o cargar imágenes personalizadas, estos métodos ofrecen un control total sobre las operaciones de archivo. La tarjeta SD extraíble facilita la transferencia de datos entre el dispositivo y el ordenador.
El EXP Brain requiere una tarjeta SD de hasta 32 GB formateada en FAT32. Las tarjetas SD de más de 32 GB utilizan el formato exFAT por defecto, que no es compatible con el EXP Brain. Asegúrese de que su tarjeta SD esté formateada correctamente en FAT32 antes de usarla.
Para poder acceder a los archivos, estos deben estar ubicados en la carpeta raíz de la tarjeta SD.
Para los ejemplos que se muestran a continuación, el cerebro construido incluye acceso a los métodos de la tarjeta SD y se utilizará en todos los ejemplos subsiguientes a lo largo de esta documentación de la API cuando se haga referencia a esos métodos.
A continuación se muestra una lista de todos los métodos:
Acciones: Realizar operaciones con archivos y mostrar imágenes desde la tarjeta SD.
loadfile– Loads a file from the SD card into a bytearray.savefile– Saves a bytearray onto the SD card.appendfile– Appends a bytearray to an existing file.draw_image_from_file– Displays a Bitmap Image from the SD card.
Obtienen información de la tarjeta SD y de los archivos.
is_inserted– Returns a Boolean indicating whether an SD card is inserted into the Brain.filesize– Returns the size of a file in bytes.size– Returns the size of a file in bytes.exists– Returns a Boolean indicating whether a file is found on the SD card.
For information on constructing a Brain to gain access to the sdcard methods, see Brain.
Comportamiento#
loadfile#
loadfile loads a file from the SD card into a bytearray.
Usage:
brain.sdcard.loadfile(filename, buffer)
Parámetros |
Descripción |
|---|---|
|
El nombre del archivo a cargar como una cadena de texto. El nombre del archivo debe incluir la extensión. |
|
Opcional. Un array de bytes existente donde cargar el contenido del archivo. Si el array de bytes existente es mayor, su contenido se sobrescribirá. Si el array de bytes existente es menor, es posible que el método no cargue todos los datos. Por defecto, se devolverá un nuevo array de bytes si no se proporciona ningún búfer. |
# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
# Save new text to a file
brain.sdcard.savefile("Note.txt", bytearray("VEX"))
# Load the file and print it
data = brain.sdcard.loadfile("Note.txt")
brain.screen.print(data.decode("utf-8"))
else:
brain.screen.print("Insert SD card")
savefile#
savefile saves a bytearray onto the SD card.
Usage:
brain.sdcard.savefile(filename, buffer)
Parámetros |
Descripción |
|---|---|
|
El nombre del archivo que se guardará como cadena de texto. El nombre del archivo debe incluir la extensión. Si el archivo ya existe, se sobrescribirá. Si el archivo no existe, se creará uno nuevo. |
|
Opcional. Un array de bytes para escribir en el archivo. |
# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
# Save new text to a file
brain.sdcard.savefile("Note.txt", bytearray("VEX"))
# Load the file and print it
data = brain.sdcard.loadfile("Note.txt")
brain.screen.print(data.decode("utf-8"))
else:
brain.screen.print("Insert SD card")
appendfile#
appendfile appends a bytearray to an existing file, adding new data to the end of the file without altering the current contents.
Usage:
brain.sdcard.appendfile(filename, buffer)
Parámetros |
Descripción |
|---|---|
|
El nombre del archivo que se agregará como una cadena de texto. El nombre del archivo debe incluir la extensión. |
|
Un array de bytes que contiene los datos que se van a añadir. |
# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
brain.sdcard.appendfile("Note.txt", bytearray("code"))
size = brain.sdcard.size("Note.txt")
brain.screen.print("Size: ")
brain.screen.print(size)
draw_image_from_file#
draw_image_from_file displays a Bitmap Image (BMP) stored on the SD card.
.bmp files are limited to 5120 pixels and 6KB in size.
Note: The EXP Brain only supports displaying .bmp files. 8-bit RLE encoding is recommended to minimize file size.
Usage
brain.screen.draw_image_from_file(filename, x, y)
Parámetros |
Descripción |
|---|---|
|
El nombre del archivo de la imagen. |
|
La coordenada x de la esquina superior izquierda de la imagen en la pantalla. |
|
La coordenada y de la esquina superior izquierda de la imagen en la pantalla. |
# Draw a bmp file on the Brain's screen at coordinate 0, 0
brain.screen.draw_image_from_file('test_image.bmp', 0, 0)
Getters#
is_inserted#
is_inserted returns a Boolean indicating whether an SD card is currently inserted into the Brain.
True- The Brain has an SD card inserted.False- The Brain does not have an SD card inserted.
Usage:
brain.sdcard.is_inserted()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
# Save new text to a file
brain.sdcard.savefile("Note.txt", bytearray("VEX"))
# Load the file and print it
data = brain.sdcard.loadfile("Note.txt")
brain.screen.print(data.decode("utf-8"))
else:
brain.screen.print("Insert SD card")
filesize#
filesize returns the size of a file in bytes.
Usage:
brain.sdcard.filesize(filename)
Parámetros |
Descripción |
|---|---|
|
El nombre del archivo como una cadena de texto. El nombre del archivo debe incluir la extensión. |
# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
brain.sdcard.appendfile("Note.txt", bytearray("code"))
size = brain.sdcard.filesize("Note.txt")
brain.screen.print("Size: ")
brain.screen.print(size)
size#
size returns the size of a file in bytes.
Usage:
brain.sdcard.size(filename)
Parámetros |
Descripción |
|---|---|
|
El nombre del archivo como una cadena de texto. El nombre del archivo debe incluir la extensión. |
# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
brain.sdcard.appendfile("Note.txt", bytearray("code"))
size = brain.sdcard.size("Note.txt")
brain.screen.print("Size: ")
brain.screen.print(size)
exists#
exists returns a Boolean indicating whether a file is found on the SD card.
True- The file is on the SD card.False- The file is not on the SD card.
Usage:
brain.sdcard.exists(filename)
Parámetros |
Descripción |
|---|---|
|
El nombre del archivo como una cadena de texto. El nombre del archivo debe incluir la extensión. |
# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
brain.sdcard.appendfile("Note.txt", bytearray(" World"))
size = brain.sdcard.size("Note.txt")
brain.screen.print("Size: ")
brain.screen.print(size)