OLED
: 백라이트 없이
스스로 빛을 내는 패널로 얇으며, 해당 제품은 I2C / SPI 통신
으로 출력 지원한다.
OLED 드라이버 이름 : SSD1306
라즈베리파이에서 https://www.waveshare.com/wiki/0.96inch_OLED_(B)
로 접속후 이미지와 같이 링크를 복사해줍니다.
cmd 창에서 wget [복사 링크]
를 통해 다운받고, 압축을 풀어줍니다.
7zip
이므로 sudo apt-get install p7zip
설치 후 7zr x [파일명]
으로 압축풀어줍니다.
RaspberryPi > python > readme_EN.txt에서 점퍼선 연결 방법
을 참고한다.
cmd창으로 RaspberryPi > python으로 이동후 sudo python setup.py install
명령어를 통해 LIB
를 설치한다.
#!/usr/bin/python
# -*- coding:utf-8 -*-
import sys
import os
picdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'pic')
libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib')
if os.path.exists(libdir):
sys.path.append(libdir)
from time import sleep
from waveshare_OLED import OLED_0in96
from PIL import Image,ImageDraw,ImageFont
disp = OLED_0in96.OLED_0in96()
disp.Init()
disp.clear()
# Create blank image for drawing.
image1 = Image.new('1', (disp.width, disp.height), 255)
draw = ImageDraw.Draw(image1)
font1 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18)
font2 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
# (20,20)에 점 찍기
draw.point((20, 20))
disp.ShowImage(disp.getbuffer(image1))
sleep(1)
# 가장자리에 점 찍기
draw.point([(0,0),(127,0),(0,63),(127,63)])
disp.ShowImage(disp.getbuffer(image1))
sleep(1)
# 선 그리기1
for i in range(10, 60): draw.point((i, i))
disp.ShowImage(disp.getbuffer(image1))
sleep(1)
# 선 그리기 2
draw.line([(0,0),(127,0)])
draw.line([(0,0),(0,63)])
draw.line([(0,63),(127,63)])
draw.line([(127,0),(127,63)])
disp.ShowImage(disp.getbuffer(image1))
sleep(1)
#draw Text
draw.text((20,0), 'Waveshare ', font = font1, fill = 0)
draw.text((20,24), u'한글 ', font = font2, fill = 0)
disp.ShowImage(disp.getbuffer(image1))
sleep(1)
#clear screen
disp.clear()