<?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_En</id>
	<title>I2C OLED Module En - 편집 역사</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_En"/>
	<link rel="alternate" type="text/html" href="https://arduwiki.com/html/index.php?title=I2C_OLED_Module_En&amp;action=history"/>
	<updated>2026-04-30T09:52:28Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://arduwiki.com/html/index.php?title=I2C_OLED_Module_En&amp;diff=2547&amp;oldid=prev</id>
		<title>2025년 3월 27일 (목) 10:52에 ArduWiki님의 편집</title>
		<link rel="alternate" type="text/html" href="https://arduwiki.com/html/index.php?title=I2C_OLED_Module_En&amp;diff=2547&amp;oldid=prev"/>
		<updated>2025-03-27T10:52:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 3월 27일 (목) 19:52 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l465&quot;&gt;465번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;465번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[파일:OLED예제5비트맵이미지출력.jpg|가운데|class=coders100]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[파일:OLED예제5비트맵이미지출력.jpg|가운데|class=coders100]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== &#039;&#039;&#039;Purchase Link&#039;&#039;&#039; ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gongzipsa.com/shop/search.php?q=oled GONGZIPSA]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key arduwiki:diff::1.12:old-1746:rev-2547 --&gt;
&lt;/table&gt;</summary>
		<author><name>ArduWiki</name></author>
	</entry>
	<entry>
		<id>https://arduwiki.com/html/index.php?title=I2C_OLED_Module_En&amp;diff=1746&amp;oldid=prev</id>
		<title>2024년 8월 9일 (금) 07:34에 ArduWiki님의 편집</title>
		<link rel="alternate" type="text/html" href="https://arduwiki.com/html/index.php?title=I2C_OLED_Module_En&amp;diff=1746&amp;oldid=prev"/>
		<updated>2024-08-09T07:34:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://arduwiki.com/html/index.php?title=I2C_OLED_Module_En&amp;amp;diff=1746&amp;amp;oldid=1745&quot;&gt;차이 보기&lt;/a&gt;</summary>
		<author><name>ArduWiki</name></author>
	</entry>
	<entry>
		<id>https://arduwiki.com/html/index.php?title=I2C_OLED_Module_En&amp;diff=1745&amp;oldid=prev</id>
		<title>ArduWiki: 새 문서: {{#seo:|title=아두위키 : 아두이노 I2C OLED 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, I2C OLED 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 I2C OLED 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}  class=coders100  == &#039;&#039;&#039;개...</title>
		<link rel="alternate" type="text/html" href="https://arduwiki.com/html/index.php?title=I2C_OLED_Module_En&amp;diff=1745&amp;oldid=prev"/>
		<updated>2024-08-09T06:53:56Z</updated>

		<summary type="html">&lt;p&gt;새 문서: {{#seo:|title=아두위키 : 아두이노 I2C OLED 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, I2C OLED 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 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;가운데|class=coders100&lt;/a&gt;  == &amp;#039;&amp;#039;&amp;#039;개...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{#seo:|title=아두위키 : 아두이노 I2C OLED 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, I2C OLED 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 I2C OLED 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED 사진.jpg|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;개요&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
아두이노 OLED 모듈은 작은 크기와 높은 해상도를 가진 디스플레이 모듈로, 다양한 프로젝트에 활용될 수 있습니다. OLED(Organic Light Emitting Diode) 기술을 기반으로 하여, 뛰어난 색감과 명암비를 제공합니다.&lt;br /&gt;
&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;
&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|가운데|class=coders100]]&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;
&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 (Organic Light Emitting Diode)&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;
&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;
!아두이노 우노/나노&lt;br /&gt;
!아두이노 메가&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;
[[파일:OLED회로.jpg|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
=== 장치 주소 확인 ===&lt;br /&gt;
I2C 버스에 연결된 장치의 주소를 찾기 위해 사용되는 코드입니다.&lt;br /&gt;
&lt;br /&gt;
아래 소개될 예제들을 실행하기 이전에 I2C Scanner를 먼저 실행해 모듈의 주소를 확인해주세요.&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 Scanner 시작...&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;
==== 실행 결과 ====&lt;br /&gt;
[[파일:I2C스캐너결과.png|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 라이브러리 ===&lt;br /&gt;
Adafruit SSD1306 라이브러리를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
SSD1306 설치시 추가로 요구하는 Adafruit BusIO, Adafruit GFX Library도 INSTALL ALL을 눌러 함께 설치해주세요.&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED라이브러리설치.jpg|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1. 라이브러리 기본 제공 예제 ===&lt;br /&gt;
File - Examples - Adafruit SSD1306 - ssd1306_128x64 i2c 를 클릭하여 예제를 열어주세요.&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED라이브러리기본제공예제.png|class=coders50]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
예제 코드 속 Address 부분을 이전에 I2C Scanner로 확인한 장치 주소로 변경해주세요.&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED장치주소수정.jpg|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&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;
&lt;br /&gt;
=== 2. 텍스트 출력 ===&lt;br /&gt;
간단한 텍스트를 출력하는 예제입니다.&lt;br /&gt;
&lt;br /&gt;
0.91인치 OLED를 사용했으며 이 모듈의 경우 128 x 32픽셀이기 때문에 6번째 줄 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;
&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;가 커지면 오른쪽, y가 커지면 아래로 이동합니다.&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;
==== 실행 결과 ====&lt;br /&gt;
[[파일:OLED예제2실행결과.jpg|가운데|class=coders100]]&lt;br /&gt;
&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;
&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;
==== 실행결과 ====&lt;br /&gt;
[[파일:OLED예제3실행결과.jpg|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4. 아스키 코드 출력 ===&lt;br /&gt;
아스키 코드 표에 대응하는 1~8번 문자를 출력하는 예제입니다.&lt;br /&gt;
&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;
&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;
  // 아스키 코드 문자 출력&lt;br /&gt;
  display.println(&amp;quot;ASCII Code Print&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // 아스키 코드 문자 출력&lt;br /&gt;
  for (char c = 1; c &amp;lt; 9; c++) { // 아스키 코드 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;
==== 실행 결과 ====&lt;br /&gt;
[[파일:OLED예제4아스키코드출력.jpg|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5. 비트맵 이미지 출력 ===&lt;br /&gt;
이미지를 바이트 배열로 변환하여 OLED에서 출력하는 예제입니다.&lt;br /&gt;
&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|가운데|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;
Canvas size에 이미지 사이즈를 입력하신 후, Preview를 확인합니다. 이미지가 너무 큰데 Canvas 이미지를 작게 만드는 등 사이즈 조절이 잘 못 된다면 Preview에 정상적으로 이미지가 출력되지 않습니다.&lt;br /&gt;
&lt;br /&gt;
[[파일:Img2cpp이미지세팅.png|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&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|가운데|class=coders100]]&lt;br /&gt;
&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;
&lt;br /&gt;
12번째 줄 const unsigned char ~ 부분을 위에서 만든 바이트 배열로 변경하여 활용하세요.&lt;br /&gt;
&lt;br /&gt;
예제 이미지(64 x 64 사이즈)와 사이즈가 다르다면 56번째 줄 drawBitmap 함수의 x, y 커서 위치, width, height 사진 크기를 변경해주셔야 합니다.&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;
	0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xff, &lt;br /&gt;
	0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, &lt;br /&gt;
	0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, &lt;br /&gt;
	0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x80, 0x00, 0x10, 0x00, 0x40, 0x01, 0xff, &lt;br /&gt;
	0xff, 0x00, 0x00, 0x30, 0x00, 0xe0, 0x00, 0xff, 0xff, 0x00, 0x00, 0x70, 0x00, 0xf0, 0x00, 0xff, &lt;br /&gt;
	0xfe, 0x00, 0x00, 0xf0, 0x00, 0xf8, 0x00, 0x7f, 0xfc, 0x00, 0x01, 0xf0, 0x00, 0xfc, 0x00, 0x3f, &lt;br /&gt;
	0xf8, 0x00, 0x03, 0xf0, 0x00, 0xfc, 0x00, 0x1f, 0xf8, 0x00, 0x03, 0xf0, 0x00, 0xff, 0x00, 0x1f, &lt;br /&gt;
	0xf0, 0x00, 0x07, 0xf0, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x80, 0x3e, 0xf0, 0x01, 0xff, 0xf8, 0x7f, &lt;br /&gt;
	0xbf, 0xf1, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xf7, &lt;br /&gt;
	0xdf, 0xff, 0xff, 0xf0, 0x0f, 0xef, 0xff, 0xf3, 0xc7, 0xdf, 0xff, 0xf0, 0x0f, 0xe7, 0xff, 0x63, &lt;br /&gt;
	0xc3, 0xff, 0xfc, 0xb0, 0x0f, 0xef, 0xff, 0xe3, 0x81, 0xff, 0xf9, 0xb0, 0x0f, 0xff, 0xff, 0xc1, &lt;br /&gt;
	0x80, 0xff, 0xf1, 0x70, 0x07, 0xff, 0xcd, 0xc1, 0x80, 0xf9, 0xfc, 0xf0, 0x0f, 0xff, 0xef, 0xc1, &lt;br /&gt;
	0x80, 0xc9, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xe1, 0x80, 0x5c, 0xff, 0xe0, 0x07, 0xfb, 0xff, 0xc1, &lt;br /&gt;
	0x00, 0x7f, 0xcf, 0xe0, 0x07, 0xfb, 0xff, 0xc0, 0x00, 0x3f, 0xcf, 0xc0, 0x03, 0xff, 0xff, 0x80, &lt;br /&gt;
	0x00, 0x1f, 0xff, 0x80, 0x01, 0xff, 0xff, 0x80, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x7f, 0xff, 0x00, &lt;br /&gt;
	0x00, 0x07, 0xff, 0x80, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0xff, 0xf4, 0x00, &lt;br /&gt;
	0x00, 0x00, 0x7f, 0xc0, 0x01, 0xff, 0x90, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x03, 0xff, 0x80, 0x00, &lt;br /&gt;
	0x80, 0x00, 0xff, 0xe0, 0x03, 0xff, 0x80, 0x01, 0x80, 0x00, 0x73, 0x30, 0x02, 0x07, 0x00, 0x01, &lt;br /&gt;
	0x80, 0x71, 0xcb, 0x4e, 0x7d, 0x78, 0xf0, 0x81, 0x81, 0xf3, 0xec, 0xdf, 0x7f, 0xfd, 0xf1, 0x81, &lt;br /&gt;
	0x81, 0x06, 0x2c, 0xf0, 0x0b, 0xc7, 0x01, 0x81, 0xc1, 0x04, 0x7c, 0xe0, 0x13, 0xcf, 0x83, 0x83, &lt;br /&gt;
	0xc3, 0x3c, 0x7a, 0xe6, 0x23, 0xf9, 0xf2, 0xc3, 0xc3, 0x1c, 0x73, 0xe2, 0x63, 0x80, 0x16, 0xc3, &lt;br /&gt;
	0xe3, 0x1c, 0x53, 0xe2, 0xc3, 0x80, 0x17, 0xc7, 0xe3, 0xf7, 0xd1, 0xff, 0xf7, 0x83, 0xfc, 0xc7, &lt;br /&gt;
	0xf1, 0xe3, 0x91, 0x3f, 0xff, 0x03, 0xc8, 0x4f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0f, &lt;br /&gt;
	0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, &lt;br /&gt;
	0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, &lt;br /&gt;
	0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, &lt;br /&gt;
	0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, &lt;br /&gt;
	0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, &lt;br /&gt;
	0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, &lt;br /&gt;
	0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, &lt;br /&gt;
	0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xff&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;
플리커링 현상 때문에 모습 촬영 시에 잘려서 보이지만 실제로는 동그란 로고가 깔끔하게 출력되었습니다.&lt;br /&gt;
&lt;br /&gt;
[[파일:OLED예제5비트맵이미지출력.jpg|가운데|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;구매 링크&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
[https://gongzipsa.com/shop/search.php?q=oled 공집사몰]&lt;/div&gt;</summary>
		<author><name>ArduWiki</name></author>
	</entry>
</feed>