问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

完整指南:使用Arduino的0.96英寸OLED显示屏

创作时间:
作者:
@小白创作中心

完整指南:使用Arduino的0.96英寸OLED显示屏

引用
1
来源
1.
https://zh-tw.hwlibre.com/%E4%BD%BF%E7%94%A8-Arduino-%E7%9A%84-0-96-OLED-%E8%9E%A2%E5%B9%95%E5%AE%8C%E6%95%B4%E6%8C%87%E5%8D%97/

OLED显示屏已成为Arduino项目中的热门选择,主要因为其结构紧凑、功耗低,且即使在明亮的环境下也能提供出色的可视性。此外,由于其连接方便,任何电子爱好者都可以使用它,无论他们的经验如何。本文将详细介绍如何使用Arduino连接和编程0.96英寸OLED显示屏,包括技术细节和实用代码示例。

如果您从未使用过OLED显示屏,在开始项目之前,您应该了解一些关键点。OLED(有机发光二极管)与LCD等其他类型的屏幕有根本区别。例如,OLED不需要背光,这显著降低了功耗。在小至0.96英寸的屏幕上,如果项目是电池供电的,这一点至关重要。现在,让我们深入研究一下它的功能。

什么是OLED屏幕?

OLED显示屏是一种使用有机化合物的显示器,在施加电流时会发光。这使得它们成为许多电子项目的理想选择,因为它们的技术允许每个像素自行发光,这也提高了户外能见度。大多数针对Arduino销售的OLED显示屏都配备了一个SSD1306控制器,可以管理向屏幕发送的信号。事实上,SSD1306是Arduino项目中最常见的控制器之一,我们将在后面的示例中看到它。

OLED显示屏的主要优点之一是功耗低。平均而言,0.96英寸的小屏幕可消耗约20mA的电流。为什么这很重要?如果使用电池为Arduino项目供电,降低功耗始终是一个重要的优势。此外,考虑到其尺寸,其128x64像素的分辨率可以呈现具有相当好的清晰度的图像。

另一方面,这种类型的屏幕可能存在的问题之一是它的尺寸非常小。尽管它们提供了良好的可视性,但在一些需要显示大量信息的项目中,这个尺寸可能不够。

将OLED显示屏连接到Arduino

OLED显示屏可以通过I2C或SPI总线轻松连接到Arduino板,具体取决于型号。在本教程中,我们将重点放在使用I2C的连接,因为它是最常见和最简单的连接之一。

您必须将OLED显示屏的引脚与Arduino的相应引脚连接起来,如下所示:

  • GND(地)与Arduino GND脚位
  • VCC与Arduino的5V或3.3V脚
  • SDA至Arduino脚位A4
  • SCL到Arduino的脚位A5

如您所见,连接非常简单:只需四条电缆。无论您使用SPI还是I2C总线,连接过程都是类似的,尽管引脚根据您选择的通信类型而有所不同。

OLED显示屏的代码示例

要让OLED屏幕与Arduino搭配使用,最好的选择之一是使用Adafruit开发的程序库。SSD1306控制器,正如我们之前提到的,与库兼容阿达水果SSD1306,这使我们在屏幕上创建图形和文字时变得更加轻松。

下面是一个基本代码示例,可以让您通过I2C连接在OLED屏幕上显示文字:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  Serial.begin(9600);
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
  display.display();
  delay(2000);
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 10);
  display.println(F("Hola, Mundo!"));
  display.display();
}

void loop() {}

此代码初始化屏幕,清除显示,然后写入“Hello, World!”在OLED屏幕上。您可以使用Adafruit GFX库的不同功能来创建图形、绘制线条、圆形,甚至在屏幕上显示图像。

OLED屏幕的其他有用示例

上面的示例只是基本介绍,但您可以使用OLED显示屏做更多事情。例如,您可以绘制不同的几何形状、制作动画甚至创建小图形。

Adafruit库提供的最有趣的功能之一是绘制多个像素的能力,这意味着您可以创建滚动动画。另一个例子是滚动文本,如果您计划显示动态变化的消息,这非常有用。

这些屏幕的另一个用途是在交互式项目中显示实时数据,例如温度或湿度传感器。当获得新的传感器读数时,屏幕可以更新,使任何项目更加直观。

使用OLED屏幕时的常见问题

将OLED显示屏与Arduino结合使用时最常见的问题之一是内存不足。Adafruit库虽然非常完整,但会消耗Arduino处理器上的大量内存,尤其是在像Arduino Uno这样的板子上。如果您遇到空间问题,可以尝试优化代码,删除不需要的功能,甚至使用容量更大的板,例如Arduino Mega。

另一个常见问题是I2C连接的初始设置。如果您没有使用正确的SDA和SCL引脚,显示屏可能无法工作或可能显示连接错误。确保根据您的Arduino型号使用正确的引脚。

最后,一些用户也报告出现黑屏或不响应任何命令的情况。这可以通过确保电源电压正确(3.3V或5V,取决于显示屏型号)并且电缆连接正确来解决。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号