Wio Terminal 写真の表示
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Wio Terminal 写真の表示

概要
この例では、SDカードから画像をループ表示する方法を示します。
特徴
- 写真のループ表示
必要なArduinoライブラリ
LCDスクリーンライブラリ
Seeed_Arduino_LCD
をインストールしてください。詳細は Wio Terminal 概要 を参照してください。SDカードライブラリ
Seeed_Arduino_FS
をインストールしてください。詳細は Seeed-Arduino-FS を参照してください。RawImage.h
ライブラリをインストールしてください。詳細は 画像の読み込み を参照してください。
Arduinoの手順
displayPhotos.ino
とRawImage.h
ファイルをダウンロードし、Arduino IDE
を使用して Wio Terminal にアップロードしてください。すべてのライブラリがインストールされていることを確認してください。photos
ファイルをドラッグして、SDカードにファイル全体を保存してください。画像がループ表示されるのが確認できます!
コード
#include"TFT_eSPI.h"
#include "Seeed_FS.h" // SDカードライブラリを含む
#include"RawImage.h" // 画像処理ライブラリを含む
TFT_eSPI tft;
void setup() {
// SDカードを初期化
if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI)) {
while (1);
}
// LCDスクリーンを初期化
tft.begin();
tft.setRotation(3);
}
// 写真の名前を格納
const char* list[] = {"photos/1.bmp", "photos/2.bmp", "photos/3.bmp", "photos/4.bmp"};
void loop() {
for (uint8_t cnt = 0; cnt < 4; cnt++) {
drawImage<uint16_t>(list[cnt],0,0); // 画像を1枚ずつ表示
delay(1000);
}
}
Wio Terminal ボタンで写真を表示
概要
この例は上記と似ていますが、内蔵ボタンを使用して表示する画像を変更します!
特徴
左ボタン: 前の画像
右ボタン: 次の画像
必要なArduinoライブラリ
LCDスクリーンライブラリ
Seeed_Arduino_LCD
をインストールしてください。詳細は Wio Terminal 概要 を参照してください。SDカードライブラリ
Seeed_Arduino_FS
をインストールしてください。詳細は Seeed-Arduino-FS を参照してください。RawImage.h
ライブラリをインストールしてください。詳細は 画像の読み込み を参照してください。
Arduinoの手順
displayPhotos_buttons.ino
とRawImage.h
ファイルをダウンロードし、Arduino IDE
を使用して Wio Terminal にアップロードしてください。すべてのライブラリがインストールされていることを確認してください。photos
ファイルをドラッグして、SDカードにファイル全体を保存してください。左ボタンを押して左にスクロールし、右ボタンを押して右にスクロールしてください!
コード
- ボタンの初期化
void setup() {
...
pinMode(BUTTON_1, INPUT); // 左ボタン
pinMode(BUTTON_3, INPUT); // 右ボタン
...
}
完全なコード
#include"TFT_eSPI.h"
#include "Seeed_FS.h" // SDカードライブラリを含む
#include"RawImage.h" // 画像処理ライブラリを含む
TFT_eSPI tft;
bool left_flag = false;
void button_handler_left() {
left_flag = true;
}
bool right_flag = false;
void button_handler_right() {
right_flag = true;
}
void setup() {
// SDカードを初期化
if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI,16000000)) {
while (1);
}
tft.begin();
tft.setRotation(3);
pinMode(BUTTON_1, INPUT);
pinMode(BUTTON_3, INPUT);
attachInterrupt(digitalPinToInterrupt(BUTTON_1), button_handler_left, FALLING);
attachInterrupt(digitalPinToInterrupt(BUTTON_3), button_handler_right, FALLING);
}
const char* list[] = {"1.bmp", "2.bmp", "3.bmp", "4.bmp"};
int8_t cnt = 0;
void loop() {
if (left_flag) {
cnt++;
left_flag = false;
if (cnt == 4) {
cnt = 0;
}
}
if (right_flag) {
cnt--;
right_flag = false;
if (cnt < 0) {
cnt = 3;
}
}
drawImage<uint16_t>(list[cnt], 0, 0);
}