7针的OLED网上的资料比较少,大多找到的是4针的,也参考了一些其他博主的文章,可最后还是花了不少时间,踩了不少坑,最终还是成功了,以此记录一下。
一.所使用的环境
1.Arduino IDE1.8.12
2.Arduino UNO
二.安装U8glib库
1.在工具栏里选择“工具”->“管理库”,打开库管理器。(注意IDE版本要在1.8以上!!!)
在文本框里输入“U8glib”,回车:
然后选择版本安装即可。
三.连线
OLED | Arduino板子 |
---|---|
GND | GND |
VCC | 3.3v或5v |
D0 | 13号引脚 |
D1 | 11号引脚 |
RES | RESET |
DC | 9 |
CS | 10 |
引脚说明:
四.编写测试程序
本篇代码参考自:https://blog.csdn.net/chenchen2360060/article/details/85220115
#include "U8glib.h"
/*SPI协议*/
U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9
void setup()
{
if ( u8g.getMode() == U8G_MODE_R3G3B2 )
u8g.setColorIndex(255); // white
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
u8g.setColorIndex(3); // max intensity
else if ( u8g.getMode() == U8G_MODE_BW )
u8g.setColorIndex(1); // pixel on
Serial.begin(9600);
u8g.setFont(u8g_font_6x10);
u8g.setFontRefHeightExtendedText();
u8g.setDefaultForegroundColor();
u8g.setFontPosTop();
}
void loop()
{
u8g.firstPage();
do {
u8g.drawStr(0,0,"hello world!");
} while( u8g.nextPage() );
delay(500);
}
最后,编译,上传。
成功显示!
五.U8glib库的其他函数
参考这篇文章:Arduino - 使用u8glib库操作OLED屏