Tarjeta SD#
Introducción#
La API de tarjeta SD para VEX IQ (2.ª generación) permite almacenar y acceder a archivos en una tarjeta SD extraíble insertada en la ranura para tarjetas SD del Brain. Tanto si se guardan datos de sensores como si se cargan imágenes personalizadas, estos métodos ofrecen control total sobre las operaciones con los archivos. La tarjeta SD extraíble permite transferir datos fácilmente entre el Brain y el ordenador.
El IQ (2.ª generación) 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 VEX IQ (2.ª generación) Brain. Asegúrese de que su tarjeta SD esté formateada correctamente en FAT32 antes de usarla.
Todos los archivos deben colocarse en la carpeta raíz de la tarjeta SD para que sean accesibles.
A continuación se muestra una lista de todos los métodos:
loadfile – Carga un archivo desde la tarjeta SD en un bytearray.
savefile – Guarda un bytearray en la tarjeta SD.
appendfile – Agrega un bytearray a un archivo existente.
is_inserted – Devuelve un valor booleano que indica si hay una tarjeta SD insertada en el cerebro.
filesize – Devuelve el tamaño de un archivo en bytes.
tamaño – Devuelve el tamaño de un archivo en bytes.
exists – Devuelve un valor booleano que indica si se encuentra un archivo en la tarjeta SD.
draw_image_from_file – Muestra una imagen de mapa de bits de la tarjeta SD.
archivo de carga#
loadfile
carga un archivo desde la tarjeta SD en un bytearray.
Uso:
brain.sdcard.loadfile(nombre_archivo, buffer)
Parámetros |
Descripción |
---|---|
Nombre del archivo |
El nombre del archivo que se cargará como cadena. El nombre del archivo debe incluir la extensión. |
buffer |
Opcional. Un bytearray existente para cargar el contenido del archivo. Si el bytearray existente es mayor, su contenido se sobrescribirá. Si el bytearray existente es menor, es posible que el método no cargue todos los datos. Por defecto, se devolverá un nuevo bytearray si no se proporciona un búfer. |
# Display a .txt file's contents on the brain
# Change the name of the file
text_file = brain.sdcard.loadfile("Text.txt")
brain.screen.print(text_file.decode("utf-8"))
archivo guardado#
savefile
guarda un bytearray en la tarjeta SD.
Uso
brain.sdcard.savefile(nombre_archivo, buffer)
Parámetros |
Descripción |
---|---|
Nombre del archivo |
El nombre del archivo que se guardará como cadena. El nombre del archivo debe incluir la extensión. Si el archivo ya existe, se sobrescribirá. Si no existe, se creará uno nuevo. |
buffer |
Opcional. Un bytearray para escribir en el archivo. |
# Overwrite an existing txt file and display the new text
brain.sdcard.savefile("Text.txt", bytearray("Hello "))
text_file = brain.sdcard.loadfile("Text.txt")
brain.screen.print(text_file.decode("utf-8"))
archivo adjunto#
appendfile
agrega un bytearray a un archivo existente, agregando nuevos datos al final del archivo sin alterar el contenido actual.
Uso:
brain.sdcard.appendfile(nombre_archivo, buffer)
Parámetros |
Descripción |
---|---|
Nombre del archivo |
El nombre del archivo que se añadirá como cadena. El nombre del archivo debe incluir la extensión. Si el archivo ya existe, se sobrescribirá. Si no existe, se creará uno nuevo. |
buffer |
Un bytearray que contiene los datos que se agregarán. |
# Append "World" to an existing txt file then display it
brain.sdcard.appendfile('Text.txt', bytearray("World "))
text_file = brain.sdcard.loadfile("Text.txt")
brain.screen.print(text_file.decode("utf-8"))
está_insertado#
is_inserted
devuelve un valor booleano que indica si hay una tarjeta SD insertada actualmente en el Brain.
Verdadero
: El cerebro tiene una tarjeta SD insertada.Falso
: El cerebro no tiene una tarjeta SD insertada.
Uso:
brain.sdcard.is_inserted()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
# Display a message if the SDcard is inserted
if brain.sdcard.is_inserted():
brain.screen.print("Inserted!")
tamaño del archivo#
filesize
devuelve el tamaño de un archivo en bytes como un flotante.
Uso:
brain.sdcard.filesize(filename)
Parámetros |
Descripción |
---|---|
Nombre del archivo |
El nombre del archivo como cadena. El nombre del archivo debe incluir la extensión. |
# Display the amount of bytes in a txt file
brain.screen.print(brain.sdcard.filesize("Text.txt"))
tamaño#
size
devuelve el tamaño de un archivo en bytes como un flotante.
Uso:
brain.sdcard.size(nombre_archivo)
Parámetros |
Descripción |
---|---|
Nombre del archivo |
El nombre del archivo como cadena. El nombre del archivo debe incluir la extensión. |
# Display the amount of bytes in a txt file
brain.screen.print(brain.sdcard.size("Text.txt"))
existe#
exists
devuelve un valor booleano que indica si se encuentra un archivo en la tarjeta SD.
Verdadero
: el archivo está en la tarjeta SD.Falso
: el archivo no está en la tarjeta SD.
Uso:
brain.sdcard.exists(nombre_archivo)
Parámetros |
Descripción |
---|---|
Nombre del archivo |
El nombre del archivo como cadena. El nombre del archivo debe incluir la extensión. |
# Determine if a requested file exists
if brain.sdcard.exists("Text.txt"):
brain.screen.print("File exists")
else:
brain.screen.print("Create file")
dibujar_imagen_del_archivo#
draw_image_from_file
muestra una imagen de mapa de bits (BMP) almacenada en la tarjeta SD.
Los archivos .bmp
están limitados a 5120 píxeles y 6 KB de tamaño.
Nota: El cerebro IQ (2.ª generación) solo admite la visualización de archivos .bmp
. Se recomienda la codificación RLE de 8 bits para minimizar el tamaño del archivo.
Uso
brain.screen.draw_image_from_file(nombre_archivo, x, y)
Parámetros |
Descripción |
---|---|
Nombre del archivo |
El nombre del archivo de la imagen. |
incógnita |
La coordenada x de la esquina superior izquierda de la imagen en la pantalla. |
y |
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)