目录

掌控板-arduino2arduino使用sh1106显示

【掌控板-arduino】2、arduino使用sh1106显示

1 前言

硬件:掌控板2.0

平台:arduino,非mind+

使用arduino平台,在掌控板2.0上显示图像。

2 硬件介绍

掌控板2.0使用的是ssd1106进行显示,参见电路图

https://i-blog.csdnimg.cn/blog_migrate/cb7d4611800193f291ea7a8f36e739e6.png

同时查看IO口

https://i-blog.csdnimg.cn/blog_migrate/34b764201d9ec3ee6c18cf8b9785517f.png

如图, SCL使用IO22,SDA使用IO23

3 arduino加载库

3.1 方法1——利用arduino管理库搜索

https://i-blog.csdnimg.cn/blog_migrate/df0aecbd46208a0a92d7e12fbec46b8d.png

https://i-blog.csdnimg.cn/blog_migrate/a7e019fe477f17749be26677d5b60e38.png

https://i-blog.csdnimg.cn/blog_migrate/a5a19f15cc490866f507521151a3a0cf.png

可以搜索"esp32 1306"或"1106",我没有找到ssd1106,也可以直接搜"sh1106"

然后选择安装。

安装好后可以在文件夹中查看代码。

代码路径:C:\Users\XXXX\Documents\Arduino\libraries

XXXX为用户名。

https://i-blog.csdnimg.cn/blog_migrate/7246ee7599972a00546136f6b8af08e5.png

该目录下有示例examples目录,当然也可以在arduino中打开。

https://i-blog.csdnimg.cn/blog_migrate/9e194ebcad095fe6df724159c5aa172a.png

注意不要直接上传,因为还需要进行设置。参见下一章

3.2 方法2——github中下载源码

https://i-blog.csdnimg.cn/blog_migrate/8daba53d9f3310e6d27000dd8c5f2cdd.png

下载好后可以直接通过arduino中选择"添加.zip库"添加,也可以直接解压到arduino库路径

https://i-blog.csdnimg.cn/blog_migrate/116962989f478484537094a272555490.png

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);   

至此修改就完成了,尝试下运行示例,是否成功。

后续可以根据提供的示例修改显示内容。

结果

  1. SSD1306DrawingDemo

    https://i-blog.csdnimg.cn/blog_migrate/edd6497f6a9c420d18a02537ae22700e.png

    https://i-blog.csdnimg.cn/blog_migrate/ff33eb999590c990f0d15752ad31e9df.png

显示反了,后续再看。

  1. SSD1306ClockDemo

    https://i-blog.csdnimg.cn/blog_migrate/f31220b61f5e3f931cf51b98a4d6c3d1.png

    https://i-blog.csdnimg.cn/blog_migrate/c357ba167e0e5484e7569860dd85a021.png

    这个看起来是定时切换画面的,可以尝试加上sensor感应转动时切换。