如何使用OLED显示器与Arduino
扫描二维码
随时随地手机看文章
在本教程中,您将了解Arduino OLED接口。在第一部分中,我们将在OLED上显示温湿度传感器的数据,在第二部分中,我们将在OLED上显示iPhone,三星和LG的徽标。
在将其与Arduino连接之前,让我们详细了解OLED是什么以及它是如何工作的。
OLED
OLED是有机发光二极管的缩写。OLED显示屏非常小,分辨率很高。这些显示器没有背光,它们自己发光。这就是为什么这些是非常低功耗的设备。
工作
当电压加到OLED上时。电流通过OLED的有机层从阴极流向阳极。阴极将电子提供给有机分子的发射层,阳极将电子从有机分子的导电层中移除。
在导电层和发射层之间的边界处,产生电子空穴。这些空穴被电子填满,OLED就会发光。OLED的颜色取决于所使用的有机分子。
OLED和Arduino
我们将要使用的OLED有单独的128X64白色OLED像素。它的尺寸为0.96“(25毫米X 14毫米)。其他尺寸的OLED也可以买到。本教程中使用的OLED是单色的(只有一种颜色),但你也可以得到具有多种颜色的OLED。
该OLED使用SPI通信与Arduino进行通信。SPI通信比I2C通信快,因此这将使我们的显示更快。
线路图
OLED运行在3.3V,所以不要连接到Arduino的5V。它可能会工作,但OLED的寿命会减少。
用Arduino连接OLED和DHT22,如下图所示
如果您想了解更多关于DHT22与Arduino接口的信息,请遵循本教程|温湿度传感器DHT22与Arduino接口
代码
代码的解释
对于OLED,我们使用了U8glib库。让我们看看库是如何工作的。
数据以图像循环的形式打印在OLED上。firstPage()显示了图片循环的开始。在它旁边,我们需要创建“do while”循环。我们想要在OLED上显示的任何内容都应该写入“do while”循环。“do while”循环将继续运行,直到nextpage()返回‘ 1 ’。
u8g.setFont(u8g_font_helvB10)命令将设置字体。这个库有不同的字体大小和设计,你可以从下面的链接找到。
U8glib字体
u8 . drawstr (30,10, “ Welcome “)命令将在X, Y位置打印” Welcome ”。值“30”表示水平位置(X),值“10”表示垂直位置(Y)。其他绘制命令也是这样工作的。
代码中使用的u8g.setPrintPos(75,15)命令将指针设置为X (75), Y(15)位置。然后可以使用u8g.print()命令打印传感器输出。
如何在OLED上绘制位图
现在让我们在OLED上画位图。我们将在OLED上绘制IPhone、三星、LG的标志。”这个例子的电路图如下所示。
在OLED上绘制的图片的最大尺寸应该是128X64像素,图片应该是黑白的,因为我们的OLED是单色的,这意味着它只有一种颜色。如果你有多色OLED,那么你可以显示彩色图片。
我下载了黑色和白色的标志,并在绘画工具中调整了它们的大小。油漆在主菜单中有调整大小的选项,在下图中用黄色突出显示。如果调整大小选项不起作用,那么你也可以从下图中圈出的小矩形中拖动绘图区域。
你可以从下面下载我使用的位图图片。
调整图片大小后,需要下载LCD辅助软件。
下载完成后,打开LCD助手软件,在文件菜单中加载其中的图像。LCD助手软件的设置应该如下图所示:
现在打开文件菜单并单击保存输出。保存文件名,最后以“。c”结尾,如“logo.c”。然后在文本编辑器中打开保存的文件并从中复制代码。这将是在OLED上创建位图图片的代码。然后将其粘贴到Arduino代码中,就像我在下面的代码中所做的那样。
代码
此代码将在OLED上逐一绘制IPhone徽标,三星日志和LG徽标。我们在代码中使用的位图命令的语法如下:
本文编译自hackster.io





