SDカード#
導入#
VEX V5でSDカードを使用すると、BrainのSDカードスロットに挿入した取り外し可能なSDカードにファイルを保存したり、アクセスしたりできます。センサーデータの保存やカスタム画像の読み込みなど、これらの方法によりファイル操作を完全に制御できます。取り外し可能なSDカードを使用することで、Brainとコンピューター間でデータを簡単に転送できます。
V5 Brainには、FAT32形式でフォーマットされた32GB以下のSDカードが必要です。32GBを超えるSDカードはデフォルトでexFAT形式でフォーマットされますが、これはV5 Brainと互換性がありません。使用前にSDカードがFAT32形式で正しくフォーマットされていることを確認してください。
すべてのファイルは、アクセスできるようにSDカードのルートフォルダに配置する必要があります。
以下の例では、構築された Brain には SD カード メソッドへのアクセスが含まれており、この API ドキュメント全体を通して、これらのメソッドを参照する際には、以降のすべての例で使用されます。
以下にすべてのメソッドの一覧を示します。
操作 – SDカード内のファイル操作を実行し、画像を表示します。
loadfile– SD カードからファイルをバイト配列に読み込みます。savefile– バイト配列をSDカードに保存します。appendfile– 既存のファイルにバイト配列を追加します。draw_image_from_file– SD カードからビットマップ画像を表示します。
ゲッター – SDカードとファイル情報を返します。
is_inserted– SD カードが Brain に挿入されているかどうかを示すブール値を返します。filesize– ファイルのサイズをバイト単位で返します。size– ファイルのサイズをバイト単位で返します。exists– SD カード上にファイルが見つかったかどうかを示すブール値を返します。
sdcard メソッドにアクセスするための Brain の構築方法については、Brain を参照してください。
行動#
loadfile#
loadfile は、SD カードからファイルをバイト配列に読み込みます。
Usage:
brain.sdcard.loadfile(filename, buffer)
パラメータ |
説明 |
|---|---|
|
読み込むファイルの名前を文字列として指定します。ファイル名には拡張子を含める必要があります。 |
|
オプション。ファイルの内容を読み込む既存のバイト配列を指定します。既存のバイト配列が大きい場合は、その内容が上書きされます。既存のバイト配列が小さい場合は、すべてのデータが読み込まれない可能性があります。デフォルトでは、バッファが指定されていない場合は、新しいバイト配列が返されます。 |
# 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 は、バイト配列を SD カードに保存します。
Usage:
brain.sdcard.savefile(filename, buffer)
パラメータ |
説明 |
|---|---|
|
保存するファイル名を文字列として指定します。ファイル名には拡張子を含める必要があります。ファイルが既に存在する場合は上書きされます。ファイルが存在しない場合は新規作成されます。 |
|
オプション。ファイルに書き込むバイト配列。 |
# 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 は、既存のファイルにバイト配列を追加し、現在の内容を変更せずにファイルの末尾に新しいデータを追加します。
Usage:
brain.sdcard.appendfile(filename, buffer)
パラメータ |
説明 |
|---|---|
|
追加するファイル名を文字列で指定します。ファイル名には拡張子を含める必要があります。 |
|
追加するデータを含むバイト配列。 |
# 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 は、SD カードに保存されているビットマップ画像 (BMP) を表示します。
.bmp ファイルは、5120 ピクセル、サイズ 6KB に制限されています。
注: V5 Brainは、 .bmp ファイルの表示のみをサポートしています。ファイルサイズを最小限に抑えるため、8ビットRLEエンコーディングをお勧めします。
Usage
brain.screen.draw_image_from_file(filename, x, y)
パラメータ |
説明 |
|---|---|
|
画像のファイル名。 |
|
画面上の画像の左上隅のx座標。 |
|
画面上の画像の左上隅のy座標。 |
# Draw a bmp file on the Brain's screen at coordinate 0, 0
brain.screen.draw_image_from_file('test_image.bmp', 0, 0)
ゲッター#
is_inserted#
is_inserted は、SD カードが現在 Brain に挿入されているかどうかを示すブール値を返します。
True- ブレインにSDカードが挿入されています。False- Brain に SD カードが挿入されていません。
Usage:
brain.sdcard.is_inserted()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
# 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 は、ファイルのサイズをバイト単位で返します。
Usage:
brain.sdcard.filesize(filename)
パラメータ |
説明 |
|---|---|
|
ファイル名を文字列で指定します。ファイル名には拡張子を含める必要があります。 |
# 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 は、ファイルのサイズをバイト単位で返します。
Usage:
brain.sdcard.size(filename)
パラメータ |
説明 |
|---|---|
|
ファイル名を文字列で指定します。ファイル名には拡張子を含める必要があります。 |
# 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 SD カード上にファイルが見つかったかどうかを示すブール値を返します。
True- ファイルはSDカードにあります。False- ファイルがSDカードにありません。
Usage:
brain.sdcard.exists(filename)
パラメータ |
説明 |
|---|---|
|
ファイル名を文字列で指定します。ファイル名には拡張子を含める必要があります。 |
# 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)