1 前言
硬件:掌控板2.0
平台:arduino,非mind+
使用arduino平台,在掌控板2.0上显示图像。
2 硬件介绍
掌控板2.0使用的是ssd1106进行显示,参见电路图
同时查看IO口
如图,SCL使用IO22,SDA使用IO23
3 arduino加载库
3.1 方法1——利用arduino管理库搜索
可以搜索"esp32 1306"或"1106",我没有找到ssd1106,也可以直接搜"sh1106"
然后选择安装。
安装好后可以在文件夹中查看代码。
代码路径:C:\Users\XXXX\Documents\Arduino\libraries
XXXX为用户名。
该目录下有示例examples目录,当然也可以在arduino中打开。
注意不要直接上传,因为还需要进行设置。参见下一章
3.2 方法2——github中下载源码
https://github.com/ThingPulse/esp8266-oled-ssd1306
下载好后可以直接通过arduino中选择"添加.zip库"添加,也可以直接解压到arduino库路径
4 修改代码适配硬件
打开示例代码,可以看到其实是支持ssd1306和sh1106的,两者需要进行区分。
1 修改头文件和参数类型
//sh1106
#include "SH1106Wire.h"
SH1106Wire display(0x3c, SDA, SCL); //SSD1306
#include "SSD1306Wire.h"
SSD1306Wire display(0x3c, SDA, SCL);
需要注意,有点驱动设置0x3c为SH1106,0x3D为SSD1306,看驱动定义。
2 修改SDA SCL
如第二章介绍的,查看电路图知道了对应的IO口
//sh1106
#include "SH1106Wire.h"
SH1106Wire display(0x3c, 23, 22); //SSD1306
#include "SSD1306Wire.h"
SSD1306Wire display(0x3c, 23, 22);
至此修改就完成了,尝试下运行示例,是否成功。
后续可以根据提供的示例修改显示内容。
结果
- SSD1306DrawingDemo
显示反了,后续再看。
- SSD1306ClockDemo
这个看起来是定时切换画面的,可以尝试加上sensor感应转动时切换。