电子元器件论坛
直播中

王丽

7年用户 1302经验值
私信 关注

使用开源库驱动OLED模块

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



原作者:小鱼 鱼香ROS

更多回帖

发帖
×
20
完善资料,
赚取积分