<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://arduwiki.com/html/index.php?action=history&amp;feed=atom&amp;title=I2C_OLED_Module_CN</id>
	<title>I2C OLED Module CN - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://arduwiki.com/html/index.php?action=history&amp;feed=atom&amp;title=I2C_OLED_Module_CN"/>
	<link rel="alternate" type="text/html" href="https://arduwiki.com/html/index.php?title=I2C_OLED_Module_CN&amp;action=history"/>
	<updated>2026-04-29T01:51:36Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://arduwiki.com/html/index.php?title=I2C_OLED_Module_CN&amp;diff=2551&amp;oldid=prev</id>
		<title>ArduWiki: 새 문서: {{#seo:|title=Arduino Wiki：I2C OLED 模块指南|title_mode=append|keywords=Arduino, 信息科学, 制造学习, 表现评估, I2C OLED 模块, Arduino 项目, 顶点项目, Arduino 示例代码|description=本指南介绍了如何使用 Arduino 控制 I2C OLED 模块（基本信息、电路、示例代码）。适用于信息科学和制造课程。}}  class=coders100  == &#039;&#039;&#039;概述&#039;&#039;&#039; == Arduino OLED 模块是一个小巧且高分辨率的显...</title>
		<link rel="alternate" type="text/html" href="https://arduwiki.com/html/index.php?title=I2C_OLED_Module_CN&amp;diff=2551&amp;oldid=prev"/>
		<updated>2025-03-27T12:00:09Z</updated>

		<summary type="html">&lt;p&gt;새 문서: {{#seo:|title=Arduino Wiki：I2C OLED 模块指南|title_mode=append|keywords=Arduino, 信息科学, 制造学习, 表现评估, I2C OLED 模块, Arduino 项目, 顶点项目, Arduino 示例代码|description=本指南介绍了如何使用 Arduino 控制 I2C OLED 模块（基本信息、电路、示例代码）。适用于信息科学和制造课程。}}  &lt;a href=&quot;/wiki/%ED%8C%8C%EC%9D%BC:OLED_%EC%82%AC%EC%A7%84.jpg&quot; title=&quot;파일:OLED 사진.jpg&quot;&gt;center|class=coders100&lt;/a&gt;  == &amp;#039;&amp;#039;&amp;#039;概述&amp;#039;&amp;#039;&amp;#039; == Arduino OLED 模块是一个小巧且高分辨率的显...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{#seo:|title=Arduino Wiki：I2C OLED 模块指南|title_mode=append|keywords=Arduino, 信息科学, 制造学习, 表现评估, I2C OLED 模块, Arduino 项目, 顶点项目, Arduino 示例代码|description=本指南介绍了如何使用 Arduino 控制 I2C OLED 模块（基本信息、电路、示例代码）。适用于信息科学和制造课程。}}&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED 사진.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;概述&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
Arduino OLED 模块是一个小巧且高分辨率的显示模块，可用于各种项目。基于 OLED（有机发光二极管）技术，提供出色的色彩和对比度。&lt;br /&gt;
&lt;br /&gt;
=== OLED 工作原理 ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;有机物&amp;#039;&amp;#039;&amp;#039;: OLED 包含一层薄薄的有机物质，这层物质在电流通过时会发光。有机化合物具有在电刺激下发光的特性。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;电极&amp;#039;&amp;#039;&amp;#039;: OLED 面板通常由两个电极（阳极和阴极）组成，当电流流过时，有机物质会释放电子，电子与空穴结合产生光。&lt;br /&gt;
&lt;br /&gt;
=== SSD1306 ===&lt;br /&gt;
SSD1306 是用于驱动 OLED 显示器的驱动 IC（集成电路）。&lt;br /&gt;
&lt;br /&gt;
它内置 1KB 的图形显示专用 RAM（GDDRAM），用于存储显示的位图模式。&lt;br /&gt;
&lt;br /&gt;
[[파일:SSD1306 구조.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!项目&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;内存容量&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|1KB（8192 位）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;页数&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|8 页（页 0-7）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;垂直行数&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|128 垂直行（0-127）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;位信息&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|每垂直行 8 位（位 0-7）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;计算&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|8 页 x 128 垂直行 x 8 位 = 8192 位 = 1024 字节（1KB）&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;规格&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!项目&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;屏幕尺寸&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|0.91 英寸，0.96 英寸，1.3 英寸，2.42 英寸等多种尺寸&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;分辨率&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|128x64 像素或 128x32 像素&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;显示类型&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|OLED（有机发光二极管）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;颜色&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|单色（白色或蓝色）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;接口&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|I2C（2 线）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;电压&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|3.3V ~ 5V&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;功耗&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|待机功耗：约 0.1mA，最大功耗：约 20mA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;应用示例&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
&lt;br /&gt;
=== 电路组成 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OLED 模块引脚&lt;br /&gt;
!Arduino UNO/Nano&lt;br /&gt;
!Arduino Mega&lt;br /&gt;
|-&lt;br /&gt;
|VCC&lt;br /&gt;
|5V 或 3.3V&lt;br /&gt;
|5V 或 3.3V&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SCL&lt;br /&gt;
|A5&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|SDA&lt;br /&gt;
|A4&lt;br /&gt;
|22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED회로.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
=== 设备地址确认 ===&lt;br /&gt;
此代码用于查找连接到 I2C 总线上的设备地址。&lt;br /&gt;
&lt;br /&gt;
在执行以下示例之前，请先运行 I2C 扫描器，确认模块的地址。&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600); // 启动串口通信&lt;br /&gt;
  Wire.begin();       // 启动 I2C 总线&lt;br /&gt;
  Serial.println(&amp;quot;I2C 扫描器启动...&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  byte error, address;&lt;br /&gt;
  int nDevices = 0;&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;正在搜索 I2C 设备...&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  for (address = 1; address &amp;lt; 127; address++) {&lt;br /&gt;
    // 尝试连接到 I2C 设备&lt;br /&gt;
    Wire.beginTransmission(address);&lt;br /&gt;
    error = Wire.endTransmission();&lt;br /&gt;
&lt;br /&gt;
    if (error == 0) {&lt;br /&gt;
      Serial.print(&amp;quot;设备发现！ 地址：0x&amp;quot;);&lt;br /&gt;
      if (address &amp;lt; 16) {&lt;br /&gt;
        Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      Serial.print(address, HEX);&lt;br /&gt;
      Serial.println();&lt;br /&gt;
      nDevices++;&lt;br /&gt;
    } else if (error == 4) {&lt;br /&gt;
      Serial.print(&amp;quot;地址 0x&amp;quot;);&lt;br /&gt;
      Serial.print(address, HEX);&lt;br /&gt;
      Serial.println(&amp;quot; 出现错误！&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (nDevices == 0) {&lt;br /&gt;
    Serial.println(&amp;quot;未发现 I2C 设备。&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;设备搜索完成。&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(5000); // 等待 5 秒后重新扫描&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 执行结果 ====&lt;br /&gt;
[[파일:I2C스캐너결과.png|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
=== 库 ===&lt;br /&gt;
使用 Adafruit SSD1306 库。&lt;br /&gt;
&lt;br /&gt;
安装 SSD1306 时，还需安装 Adafruit BusIO 和 Adafruit GFX 库，点击“INSTALL ALL”进行安装。&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED라이브러리설치.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
=== 1. 库提供的默认示例 ===&lt;br /&gt;
点击文件 - 示例 - Adafruit SSD1306 - ssd1306_128x64 i2c 打开示例代码。&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED라이브러리기본제공예제.png|class=coders50]]&lt;br /&gt;
&lt;br /&gt;
在示例代码中的 Address 部分，替换为之前通过 I2C 扫描器确认的设备地址。&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED장치주소수정.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
==== 执行结果 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;coders70&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt; LFLyyKAffCI &amp;lt;/youtube&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. 文本输出 ===&lt;br /&gt;
这是一个输出简单文本的示例。&lt;br /&gt;
&lt;br /&gt;
使用了 0.91 英寸 OLED，考虑到该模块的分辨率为 128 x 32 像素，所以将 SCREEN_HEIGHT 从 64 改为 32。&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128  // OLED 屏幕宽度&lt;br /&gt;
#define SCREEN_HEIGHT 32   // OLED 屏幕高度&lt;br /&gt;
&lt;br /&gt;
// OLED 模块的 I2C 地址（通常为 0x3D 或 0x3C）&lt;br /&gt;
#define OLED_ADDR 0x3C &lt;br /&gt;
&lt;br /&gt;
// 创建 Adafruit_SSD1306 对象&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, -1);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // 初始化 OLED&lt;br /&gt;
  display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);&lt;br /&gt;
  display.clearDisplay(); // 清屏&lt;br /&gt;
  display.setTextSize(1); // 设置文本大小&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE); // 设置文本颜色&lt;br /&gt;
  display.setCursor(0, 0); // 设置光标位置&lt;br /&gt;
  display.println(&amp;quot;GONGZIPSA&amp;quot;); // 输出文本&lt;br /&gt;
  display.setCursor(0, 10); // 设置光标位置&lt;br /&gt;
  display.println(&amp;quot;ArduWiki&amp;quot;); // 输出文本&lt;br /&gt;
  display.display(); // 显示到屏幕&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // 循环内无任务&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用的函数说明如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!函数名&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;begin()&amp;lt;/code&amp;gt;&lt;br /&gt;
|初始化 OLED 显示屏，设置 I2C 地址和分辨率。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;clearDisplay()&amp;lt;/code&amp;gt;&lt;br /&gt;
|清除当前显示内容。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;setTextSize(size)&amp;lt;/code&amp;gt;&lt;br /&gt;
|设置显示文本的大小。&amp;lt;code&amp;gt;size&amp;lt;/code&amp;gt; 代表倍数（例如：1、2 等）。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;setTextColor(color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|设置文本的颜色。通常使用 &amp;lt;code&amp;gt;SSD1306_WHITE&amp;lt;/code&amp;gt; 或 &amp;lt;code&amp;gt;SSD1306_BLACK&amp;lt;/code&amp;gt;。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;setCursor(x, y)&amp;lt;/code&amp;gt;&lt;br /&gt;
|设置文本显示的位置。&amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; 是水平位置，&amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; 是垂直位置。&lt;br /&gt;
(0, 0) 是左上角，&amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; 增加时向右，&amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; 增加时向下。&lt;br /&gt;
|-&lt;br /&gt;
|println(&amp;quot;显示内容&amp;quot;)&lt;br /&gt;
|设置要显示的内容。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;display()&amp;lt;/code&amp;gt;&lt;br /&gt;
|将缓冲区中的内容显示到 OLED 屏幕上。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 执行结果 ====&lt;br /&gt;
[[파일:OLED예제2실행결과.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
=== 3. 简单图形输出 ===&lt;br /&gt;
这是一个输出矩形、三角形、圆形等简单图形的示例。&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128&lt;br /&gt;
#define SCREEN_HEIGHT 64&lt;br /&gt;
#define OLED_ADDR 0x3C &lt;br /&gt;
&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, -1);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);&lt;br /&gt;
  display.clearDisplay(); // 初始化屏幕&lt;br /&gt;
  display.drawTriangle(10, 10, 40, 30, 10, 30, WHITE); // 小三角形&lt;br /&gt;
  display.drawRect(50, 10, 30, 20, WHITE); // 矩形&lt;br /&gt;
  display.fillRect(90, 10, 30, 20, WHITE); // 填充矩形&lt;br /&gt;
  display.drawCircle(25, 50, 13, WHITE); // 圆形&lt;br /&gt;
  display.drawRoundRect(50, 40, 30, 20, 7, WHITE); // 圆角矩形&lt;br /&gt;
  display.fillRoundRect(90, 40, 30, 20, 7, WHITE); // 填充圆角矩形&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
与图形相关的函数如下：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!函数名&lt;br /&gt;
!说明&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;drawLine(x1, y1, x2, y2, color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|画一条连接两点的线。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;drawRect(x, y, width, height, color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|画一个空心矩形。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;fillRect(x, y, width, height, color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|画一个填充矩形。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;drawCircle(x, y, radius, color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|画一个空心圆。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;fillCircle(x, y, radius, color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|画一个填充圆。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;drawTriangle(x1, y1, x2, y2, x3, y3, color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|画一个三角形。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;drawRoundRect(x, y, width, height, radius, color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|画一个圆角矩形。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;fillRoundRect(x, y, width, height, radius, color)&amp;lt;/code&amp;gt;&lt;br /&gt;
|画一个填充的圆角矩形。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 执行结果 ====&lt;br /&gt;
[[파일:OLED예제3실행결과.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
=== 4. ASCII 码输出 ===&lt;br /&gt;
这是一个输出 ASCII 码表中 1 到 8 的字符的示例。&lt;br /&gt;
&lt;br /&gt;
要输出更多字符，请参考 ASCII 码表。&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128&lt;br /&gt;
#define SCREEN_HEIGHT 64&lt;br /&gt;
#define OLED_ADDR 0x3C &lt;br /&gt;
&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, -1);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);&lt;br /&gt;
  display.clearDisplay(); // 清除显示&lt;br /&gt;
&lt;br /&gt;
  // 设置文本输出&lt;br /&gt;
  display.setTextSize(1);       // 设置文本大小&lt;br /&gt;
  display.setTextColor(WHITE);  // 设置文本颜色&lt;br /&gt;
  display.setCursor(0, 0);      // 设置光标位置&lt;br /&gt;
&lt;br /&gt;
  // 输出 ASCII 字符&lt;br /&gt;
  display.println(&amp;quot;ASCII Code Print&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // 输出 ASCII 字符&lt;br /&gt;
  for (char c = 1; c &amp;lt; 9; c++) { // ASCII 码 1 到 8&lt;br /&gt;
    display.print(c);                // 输出每个字符&lt;br /&gt;
    display.print(&amp;quot; &amp;quot;);              // 添加空格&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  display.display(); // 显示缓冲区内容&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // 循环内没有任务&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 执行结果 ====&lt;br /&gt;
[[파일:OLED예제4아스키코드출력.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
=== 5. 位图图像输出 ===&lt;br /&gt;
这是一个将图像转换为字节数组并在 OLED 上显示的示例。&lt;br /&gt;
&lt;br /&gt;
==== 将图像转换为字节数组 ====&lt;br /&gt;
1. 访问 [https://javl.github.io/image2cpp/ image2cpp (javl.github.io)]。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. 上传图像&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
从左侧的「Select image」中选择并上传图像。&lt;br /&gt;
&lt;br /&gt;
[[파일:Img2cpp이미지업로드.png|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. 设置图像&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
在画布大小中输入图像的大小，并查看预览。如果图像太大且大小调整不当，则预览中不会正确显示图像。&lt;br /&gt;
&lt;br /&gt;
[[파일:Img2cpp이미지세팅.png|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4. 输出&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
将「Code output format」设置为 Arduino Code，然后点击「Generate code」，下方会显示字节数组。&lt;br /&gt;
&lt;br /&gt;
将生成的字节数组复制并在示例代码中使用。&lt;br /&gt;
&lt;br /&gt;
[[파일:Img2cpp출력.png|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
==== 示例代码 ====&lt;br /&gt;
使用 &amp;lt;code&amp;gt;drawBitmap(x, y, bitmap, width, height, color)&amp;lt;/code&amp;gt; 函数将位图绘制到指定位置。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;color&amp;lt;/code&amp;gt; 被设置为白色，因此图像将以白色显示。&lt;br /&gt;
&lt;br /&gt;
将第 12 行的 const unsigned char ~ 部分替换为之前创建的字节数组。&lt;br /&gt;
&lt;br /&gt;
如果示例图像的大小（64 x 64）不同，则需要修改第 56 行 drawBitmap 函数中的 x、y 光标位置、宽度和高度。&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128&lt;br /&gt;
#define SCREEN_HEIGHT 64&lt;br /&gt;
#define OLED_ADDR 0x3C &lt;br /&gt;
&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, -1);&lt;br /&gt;
&lt;br /&gt;
// GONGZIPSA LOGO&lt;br /&gt;
const unsigned char GONGZIPSA [] PROGMEM = { &lt;br /&gt;
  0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff, &lt;br /&gt;
  ...&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);&lt;br /&gt;
  display.clearDisplay(); // 清除屏幕&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  display.clearDisplay(); // 清屏&lt;br /&gt;
&lt;br /&gt;
  // 绘制 64x64 位图图像&lt;br /&gt;
  display.drawBitmap(32, 0, GONGZIPSA, 64, 64, WHITE); // (x, y, bitmap, width, height, color)&lt;br /&gt;
&lt;br /&gt;
  display.display(); // 显示缓冲区内容&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 执行结果 ====&lt;br /&gt;
由于闪烁现象，拍摄时图像可能会被裁剪，但实际显示时圆形 logo 清晰可见。&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED예제5비트맵이미지출력.jpg|center|class=coders100]]&lt;/div&gt;</summary>
		<author><name>ArduWiki</name></author>
	</entry>
</feed>