Arduino LCD屏幕电子时钟
前言
需要做一个公交车报站器,语音模块还没到,花了一天研究了一下ST7735芯片的屏幕,手上这块是1.44寸的TFT屏幕,翻了半天网络,使用ST7735做实物的比较少,且库不太全。
库
- Adafruit_GFX.h ,核心库,ST7735.h是基于该库写的。
- Adafruit_ST7735.h
安装库
在Arduino IDE工具→管理库直接搜索并下载,不多赘述。
接线
手上这块是1.44寸的tft屏幕芯片是ST7735,接线方式是SPI,优点就是色彩丰富。
ST7735 | UNO |
---|---|
CS | 10 |
RST | 9 |
DC | 8 |
SLCK | 13 |
MOSI | 11 |
LED | 5V |
VCC | 5V |
GND | GND |
Adafruit_ST7735.h库函数语法
这个库是比较简单,没那么完善的,像clear()
清屏函数也没有,因此使用起来没有12864和LCD1602方便,但对付显示数据,做个电子时钟已经够了。
itR(uint8_t options = INITR_GREENTAB), // 初始化ST7735
setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1),//设置矩形窗口
pushColor(uint16_t color),//弹出颜色
fillScreen(uint16_t color),//全屏颜色
drawPixel(int16_t x, int16_t y, uint16_t color),//绘制像素点
drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color),//绘制直线
drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color),//绘制横线
fillRect(int16_t x, int16_t y, int16_t w, int16_t h,uint16_t color),//
fillCircle(int16_t x, int16_t y, int16_t r, uint16_t color),//实心圆
setRotation(uint8_t r),//旋转屏幕
invertDisplay(boolean i);//颜色反转
uint16_t Color565(uint8_t r, uint8_t g, uint8_t b);//color565
程序
/*
* richowe
* uno ST7735 1.44inch clock
*/
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7735.h> // 导入库函数
//#include <