这个屏是真的便宜,和我手里的ESP32-C3开发板同一家淘宝店,同样9.9元包邮的价格,却有1.8寸的大小,128*160的分辨率,还是彩屏,这就够了。比那种差不多价格0.96寸的OLED单色屏良心多了。就是下面那货。
如何来使用它,这个屏用的ST7735S驱动芯片,SPI接口,比较常见。这里介绍Arduino下两个库驱动它。
Adafruit_ST7735.h
下载地址:https://github.com/adafruit/Adafruit-ST7735-Library,把所有文件下载至librariesAdafruit_ST7735文件夹即可,当然也可以通过Arduino库管理器安装。这个库使用比较简单,引用Adafruit_GFX.h、Adafruit_ST7735.h这两个库文件就可以使用了,简单的代码如下:
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#define TFT_SCLK 2 //SCL
#define TFT_MOSI 3 //SDA
#define TFT_RST 10 //RES
#define TFT_DC 6 //DC
#define TFT_CS 7 //CS
//______TFT_BL 不接
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
void setup(void) {
tft.initR(INITR_BLACKTAB);
tft.fillScreen(ST7735_RED);
tft.setTextColor(ST7735_YELLOW);
tft.setTextSize(2);
tft.setCursor(10,30);
tft.print("Hello ST7735!");
}
void loop(void) {
}
这个库虽然简单,但是功能也比较单薄,比如没有清屏的方法。
TFT_eSPI.h
这个库稍微麻烦一点,但是功能丰富。下载:https://github.com/Bodmer/TFT_eSPI,安装好库之后需要修改User_Setup.h配置文件。主要改下面几个地,都是按照这块屏幕设置。
...
//驱动选择
#define ST7735_DRIVER
...
//选择宽高像素值
#define TFT_WIDTH 128
#define TFT_HEIGHT 160
...
#define ST7735_BLACKTAB
...
#define TFT_INVERSION_OFF
...
#define TFT_BACKLIGHT_ON HIGH
...
//定义引脚
#define TFT_MOSI 3
#define TFT_SCLK 2
#define TFT_CS 7 // Chip select control pin
#define TFT_DC 6 // Data Command control pin
#define TFT_RST 10 // Reset pin (could connect to RST pin)
...
//后面一般不用修改
...
下面是Arduino代码实例。
#include <TFT_eSPI.h>
TFT_eSPI tft =TFT_eSPI();
void setup(void) {
tft.init();
tft.setRotation(0);
tft.fillScreen(TFT_BLUE);
tft.setCursor(20, 10);
tft.setTextColor(TFT_WHITE);
tft.setTextSize(2);
tft.print("Hello ST7735!");
}
void loop() {
}