这个屏是真的便宜,和我手里的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() {
}