ESP8266 + SH1106 I2C에서 사용했던 OLED 1.3" DISPLAY 모듈을
라즈베리파이에서 사용해봤다.
※ 핀 연결

SH1106 OLED (4핀 기준)
| OLED | Raspberry Pi |
| VCC | 3.3V (Pin 1 or 17) |
| GND | GND (Pin 6, 9, 14 등) |
| SDA | GPIO2 (Pin 3) |
| SCL | GPIO3 (Pin 5) |
※ I2C 활성화
sudo raspi-config
Interface Options → I2C → Enable
재부팅
sudo reboot
※ I2C 장치 확인
sudo apt install -y i2c-tools
i2cdetect -y 1
정상 출력 예:

👉 주소: 0x3C (대부분 SH1106)
※ 라이브러리 설치 (Python)
sudo apt update
sudo apt install -y python3-pip
sudo apt install -y python3-venv
python3 -m venv oled-env
source oled-env/bin/activate
pip3 install luma.oled pillow

※ SH1106 테스트 코드 (Python)
from luma.core.interface.serial import i2c
from luma.oled.device import sh1106
from PIL import Image, ImageDraw, ImageFont
import time
serial = i2c(port=1, address=0x3C)
device = sh1106(serial)
# 화면 초기화
device.clear()
# 이미지 생성
image = Image.new("1", (device.width, device.height))
draw = ImageDraw.Draw(image)
draw.text((0, 0), "Hello SH1106!", fill=255)
device.display(image)
time.sleep(10)
실행:
python3 test.py

※ 한글 출력 (선택)
기본 폰트는 한글 미지원 → TTF 필요
font = ImageFont.truetype("/usr/share/fonts/truetype/nanum/NanumGothic.ttf", 12) draw.text((0, 0), "라즈베리파이", font=font, fill=255)
※ SH1106 vs SSD1306 차이 (중요)
SH1106은 실제 해상도 132x64 → 화면 offset 필요할 수 있음
화면이 오른쪽으로 밀리면:
device = sh1106(serial, rotate=0)
또는 x offset 조정 필요 (라이브러리 따라 다름)
728x90
'Hardware > 라즈베리파이' 카테고리의 다른 글
| 라즈베리파이 + PCA9685PW (0) | 2026.02.09 |
|---|---|
| 라즈베리파이 + SH1106 I2C 사용 #2(시스템정보,Python) (0) | 2026.02.04 |
| 라즈베리파이에서 LLM 사용한 음성 입력/출력 (1) | 2026.01.24 |
| 라즈베리파이 Nodejs 설치 (0) | 2026.01.22 |
| 라즈베리파이 시작하기 - 운영체제 (0) | 2024.07.31 |
