Wio Terminal显示照片
概述
此示例演示了如何循环显示来自SD卡的图像。
特点
- 循环显示照片
需要的Arduino库
安装LCD屏幕库
Seeed_Arduino_LCD
, 请访问 Wio Terminal Overview 获取更多信息。安装SD卡库
Seeed_Arduino_FS
, 请访问 Seeed-Arduino-FS 获取更多信息。安装
RawImage.h
库, 请访问 Loading Images 获取更多信息。
Arduino 指令
下载
displayPhotos.ino
和RawImage.h
文件,并通过Arduino IDE
上传到Wio Terminal。确保您已安装所有库。将
photos
文件夹拖放到SD卡中,并保存整个文件夹。您应该看到图像开始循环显示!
代码
#include"TFT_eSPI.h"
#include "Seeed_FS.h" //Including SD card library
#include"RawImage.h" //Including image processing library
TFT_eSPI tft;
void setup() {
//Initialise SD card
if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI)) {
while (1);
}
//Initialise LCD screen
tft.begin();
tft.setRotation(3);
}
//storing the names of photos
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); //dispalying images one by one
delay(1000);
}
}
使用按钮在Wio Terminal显示照片
概述
此示例与上述示例类似,但是使用内置按钮来更改显示的图像!
特点
左按钮:上一张图像
右按钮:下一张图像
需要的Arduino库
安装LCD屏幕库
Seeed_Arduino_LCD
, 请访问 Wio Terminal 概述 获取更多信息。安装SD卡库
Seeed_Arduino_FS
, 请访问 Seeed-Arduino-FS 获取更多信息。安装
RawImage.h
库, 请访问 Loading Images 获取更多信息。
Arduino 指令
下载
displayPhotos_buttons.ino
和RawImage.h
文件,并通过Adruino IDE
上传到Wio Terminal。确保您已安装所有库。将
photos
文件夹拖放到SD卡中,并保存整个文件夹。按下左按钮向左滚动,按下右按钮向右滚动!
代码
- 初始化按钮
void setup() {
...
pinMode(BUTTON_1, INPUT); //left button
pinMode(BUTTON_3, INPUT); //right button
...
}
完整代码
#include"TFT_eSPI.h"
#include "Seeed_FS.h" //Including SD card library
#include"RawImage.h" //Including image processing library
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() {
//Initialise SD card
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);
}