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引脚名称对应关系参考下图
接入ST7735
将下面两个库放到自己环境的对应目录下
两个库的源码和我的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代码中改动
参考7533库的对应的你的屏幕尺寸的宏就可以
APP实现的整个工作流程:
8266连接路由器-->8266建立web服务器-->电脑访问web页面-->上传图片-->保存图片到flash-->读取图片数据-->发送个给tft显示
贴下最终的实现效果
开源库的使用
为了使用8266快速接入某个模块,首先可以找到对应的驱动库,可能比较耗费时间,github和百度。比如我这次接入的ST7735百度了很长时间,尝试了多次,才找到合适的。正常的库文件一般都是自带例程的。需要将库解压到libraries下,之后就可以在,IDE中找到了。例程中一般是基础功能的展示,依次烧录下可以更加熟悉下整个模块的功能。
在.h参考模块对外API,自己的代码中引用对应的.即可使用相关接口。