8266+arduino确实是一个神奇的组合,很适合新人入手,不过对于从51或者32转型的过来人,使用起来颇有些崴脚。首先是开源库的存在,依托arduino的开源,在IDE或者github有很多的开源库使用,我猜测现有的一些驱动,估计都能找到驱动库,具体怎么找可能就要自己花费些时间了。

前情提要:

导线连接:
     ESP8266--------------------TFT

  • GPIO4--------------------RST
  • GPIO5--------------------D/C
  • GPIO13(MOSI)-----------DIN(SDI,MOSI)
  • GPIO14(SCK)-------------CLK(SCK)
  • GPIO15(SS,CS)-----------CS(SS)
  • 3.3V----------------------3.3V,LED+100R电阻
  • GND---------------------GND

(括号里的为同一个io不同称呼)

ESP8266引脚名称对应关系参考下图

esp8266ch340驱动 esp8266驱动st7735_esp8266ch340驱动

接入ST7735

将下面两个库放到自己环境的对应目录下

esp8266ch340驱动 esp8266驱动st7735_esp8266ch340驱动_02

两个库的源码和我的APP代码压缩包已经上传到我的github

git@github.com:zip-link/8266_ST7735tft.git

可以直接参考我的APP(我的也是抄的别人的),APP实现的功能是webserver+1.8寸tft显示图片。tft屏幕的图片可以在web重新上传,当然上传的图片格式也是有要求的,只是实现的bmp格式,而且像素大小必须和屏幕保持一致。比如我的屏幕是128*160的,所以上传的图片必须是128*160像素的。

完全编译APP的代码是1.8寸tft, 如果你的屏幕是1.4的可以在APP代码中改动

esp8266ch340驱动 esp8266驱动st7735_github_03

参考7533库的对应的你的屏幕尺寸的宏就可以

APP实现的整个工作流程:
8266连接路由器-->8266建立web服务器-->电脑访问web页面-->上传图片-->保存图片到flash-->读取图片数据-->发送个给tft显示

贴下最终的实现效果

esp8266ch340驱动 esp8266驱动st7735_上传_04

esp8266ch340驱动 esp8266驱动st7735_git_05

开源库的使用

为了使用8266快速接入某个模块,首先可以找到对应的驱动库,可能比较耗费时间,github和百度。比如我这次接入的ST7735百度了很长时间,尝试了多次,才找到合适的。正常的库文件一般都是自带例程的。需要将库解压到libraries下,之后就可以在,IDE中找到了。例程中一般是基础功能的展示,依次烧录下可以更加熟悉下整个模块的功能。

esp8266ch340驱动 esp8266驱动st7735_github_06

在.h参考模块对外API,自己的代码中引用对应的.即可使用相关接口。