一、OLED模块介绍
我们的OLDE模块样子如上图所示,整个屏幕有128*64个像素点,我们可以实现对每一个像素点的亮灭控制,以此实现对屏幕显示内容的控制。注意我们并不能控制屏幕上像素的颜色,所以我们OLED一般是单色的。
那我们如何控制它的亮灭呢,可以看到在OLED的上方一共有四个引脚,从左到右依次是GND、VCC、SCL、SDA,其中GND、VCC是用于OLED的供电使用,SCL和SDA是I2C
通信使用。
听到I2C通信是不是觉得很熟悉,毕竟上一节驱动MPU6050时我们就是使用的I2C协议(Wrie),别着急,我们先用着。
二、新建工程并安装依赖
安装依赖,可以直接修改platformio.ini
接着打开IMU的源码目录,将.pio/libdeps/featheresp32/MPU6050_light/examples/GetAngle/GetAngle.ino文件内容复制到main.cpp中,接着修改波特率和I2C地址。
三、使用Adafruit库驱动OLED
该库提供的驱动例程较为复杂,小鱼这里提供一个简易版本。
根据上面的简易版本,修改原有的IMU代码,最后得到如下代码
四、下载测试
接上OLED,将代码编译下载到
开发板上,观察OLED的显示。
五、总结
本节依然是很轻松的完成了OLED驱动,但你应该有个疑问,为什么OLED和MPU6050代码里都有这么一句Wire.begin(18, 19);,为什么都是18和19,不能是其他的数值吗?
原作者:小鱼 鱼香ROS