SDカード#
導入#
VEX EXPでSDカードを使用すると、BrainのSDカードスロットに挿入した取り外し可能なSDカードにファイルを保存したり、アクセスしたりできます。センサーデータの保存やカスタム画像の読み込みなど、これらの方法によりファイル操作を完全に制御できます。取り外し可能なSDカードを使用することで、Brainとコンピューター間でデータを簡単に転送できます。
EXP Brainには、FAT32形式でフォーマットされた32GB以下のSDカードが必要です。32GBを超えるSDカードはデフォルトでexFAT形式でフォーマットされますが、これはEXP Brainと互換性がありません。ご使用前に、SDカードがFAT32形式で正しくフォーマットされていることを確認してください。
すべてのファイルは、アクセスできるようにSDカードのルートフォルダに配置する必要があります。
以下の例では、構築された Brain には SD カード メソッドへのアクセスが含まれており、この API ドキュメント全体を通して、これらのメソッドを参照する際には、以降のすべての例で使用されます。
以下にすべてのメソッドの一覧を示します。
アクション — SDカード内のファイル操作を実行し、画像を表示します。
loadfile— SD カードからファイルの内容をユーザーが指定したメモリ バッファにロードします。savefile— ユーザーが指定したバッファからEXP BrainのSDカード上のファイルへデータを保存します。appendfile— ユーザーが指定したバッファからデータをEXP BrainのSDカード上の既存ファイルの末尾に追加します。draw_image_from_file— SD カードからビットマップ画像を表示します。
ゲッター — SDカードとファイル情報を返します。
is_inserted— SD カードが Brain に挿入されているかどうかを返します。filesize— ファイルのサイズを返します。size— ファイルのサイズを返します。exists— SD カード上にファイルが見つかったかどうかを返します。
行動#
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 に制限されています。
注: EXP 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 は、ファイルのサイズをバイト単位で10進数 (float) として返します。
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 は、ファイルのサイズをバイト単位で10進数 (float) として返します。
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 the file exists
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)