oled

LCD 화면에 문자나 이미지를 출력합니다.

Class: Oled OledByPiBrain

class openpibo.oled.Oled(w=128, h=64)[소스]

기반 클래스: object

Functions: show() clear() set_font() draw_text() draw_image() draw_data() draw_rectangle() draw_ellipse() draw_line() invert() imshow()

OLED or LCD를 사용합니다.

show()[소스]

oled 화면 표시합니다.

이 메소드를 사용하지 않으면 그림을 그려도 oled 화면에 아무것도 출력되지 않습니다.

clear(image=True, fill=True, show=True)[소스]

oled 화면 지웁니다.

매개변수:
  • image (bool) – image 초기화 여부

  • fill (bool) – oled 초기화 여부

  • show (bool) – 화면 표시 여부

set_font(filename=None, size=None)[소스]

draw_text 폰트와 글자 크기를 설정합니다.

매개변수:
  • filename (str) – 폰트 파일 경로 (ttf, otf)

  • size (int) – 폰트 사이즈

draw_text(points, text: str)[소스]

문자 (기본 폰트 - 한/영/중/일 지원) 를 표시합니다.

매개변수:
  • points (tuple(int, int)) – 문자열 좌측상단 좌표 (x, y)

  • text (str) – 문자열 내용

draw_image(filename)[소스]

이미지 파일을 그립니다. 128x64 크기의 png 확장자만 허용됩니다.

매개변수:

filename (str) – 그림파일 경로

draw_data(img)[소스]

이미지 데이터 (cv2)를 그립니다.

매개변수:

img (numpy.ndarray) – 이미지 객체

draw_rectangle(points, fill=None)[소스]

직사각형을 그립니다.

매개변수:
  • points (tuple) – 사각형의 좌측상단 좌표, 사각형의 우측하단 좌표 (x1, y1, x2, y2)

  • fill (bool) – 채움 여부

draw_ellipse(points, fill=None)[소스]

타원을 그립니다.

매개변수:
  • points (tuple) – 타원에 외접하는 직사각형의 좌측상단 좌표, 우측하단 좌표 (x1, y1, x2, y2)

  • fill (bool) – 채움 여부

draw_line(points)[소스]

직선을 그립니다.

매개변수:

points (tuple) – 선의 시작 좌표, 선의 끝 좌표 (x1, y1, x2, y2)

invert()[소스]

화면을 반전합니다.

imshow(img)[소스]

이미지 데이터(cv2)를 바로 OLED에 표시합니다.

매개변수:

img (numpy.ndarray) – 이미지 객체

class openpibo.oled.Oled7735(w=128, h=64)[소스]

기반 클래스: object

Functions: show() clear() set_font() draw_text() draw_image() draw_data() draw_rectangle() draw_ellipse() draw_line()

파이보의 OLED를 통해 다양한 그림을 표현합니다.

  • 사진 보기

  • 문자 그리기

  • 도형 그리기

그림을 그리면 인스턴스 변수 image 에 저장됩니다. 이를 show 메소드를 사용하여 oled 화면에 출력할 수 있습니다.

본 class에서 문자 또는 그림을 그리는 행위는 인스턴스 변수 image 의 데이터를 변경시키는 것으로 정의합니다.

example:

from openpibo.oled import OledbyST7735 as Oled

oled = Oled()
# 아래의 모든 예제 이전에 위 코드를 먼저 사용합니다.
show()[소스]

인스턴스 변수 image 를 oled 화면에 표시합니다.

이 메소드를 사용하지 않으면 그림을 그려도 oled 화면에 아무것도 출력되지 않습니다.

example:

# 그림을 그린 후

oled.show()
clear(image=True, fill=True, show=True)[소스]

인스턴스 변수 image 를 초기화 하고, oled 화면을 지웁니다.

example:

oled.clear()
매개변수:
  • image (bool) – image 초기화 여부

  • fill (bool) – oled 초기화 여부

  • show (bool) – 화면 표시 여부

set_font(filename=None, size=None)[소스]

draw_text 메소드에 사용할 폰트를 설정합니다.

example:

# 불러올 폰트의 경로가 /home/pi/mydata/font.ttf 라면,

oled.set_font('/home/pi/mydata/font.ttf', 10)
매개변수:
  • filename (str) –

    폰트 파일 경로

    폰트 확장자는 ttfotf 모두 지원합니다.

  • size (int) –

    폰트 사이즈

    단위는 픽셀 입니다. (default 10)

draw_text(points, text: str, colors=(255, 255, 255))[소스]

문자를 그립니다.(한글, 영어 지원)

example:

oled.draw_text((10, 10), '안녕하세요!')
매개변수:
  • points (tuple(int, int)) – 문자열 좌측상단 좌표 (x, y)

  • text (str) – 문자열 내용

draw_image(filename)[소스]

그림을 그립니다.

128x64 크기의 png 확장자만 허용됩니다.

example:

oled.draw_image('/home/pi/openpibo-files/image/clear.png')
매개변수:

filename (str) – 그림파일 경로

draw_data(img)[소스]

numpy 이미지 데이터를 입력받아 이미지로 변환합니다.

카메라 출력값이 numpy 형식이므로, 이를 oled화면에 띄우기 위해 사용됩니다.

example:

from openpibo.vision import Camera

camera = Camera()
img = camera.read()

oled.draw_data(img)
oled.show()
매개변수:

img (numpy.ndarray) – 이미지 객체

draw_rectangle(points, fill=None)[소스]

직사각형을 그립니다.

example:

oled.draw_rectangle((10, 10, 80, 40), True)
매개변수:
  • points (tuple) – 사각형의 좌측상단 좌표, 사각형의 우측하단 좌표 (x1, y1, x2, y2)

  • fill (bool) –

    • True : 사각형 내부를 채웁니다.

    • False : 사각형 내부를 채우지 않습니다.

draw_ellipse(points, fill=None)[소스]

타원을 그립니다.

example:

oled.draw_ellipse((10, 10, 80, 40), False)
매개변수:
  • points (tuple) – 타원에 외접하는 직사각형의 좌측상단 좌표, 우측하단 좌표 (x1, y1, x2, y2)

  • fill (bool) –

    • True : 타원 내부를 채웁니다.

    • False : 타원 내부를 채우지 않습니다.

draw_line(points)[소스]

직선을 그립니다.

example:

oled.draw_line((30, 20, 60, 50))
매개변수:

points (tuple) – 선의 시작 좌표, 선의 끝 좌표 (x1, y1, x2, y2)

imshow(img)[소스]

이미지 데이터(cv2)를 바로 OLED에 표시합니다.

매개변수:

img (numpy.ndarray) – 이미지 객체

class openpibo.oled.OledByPiBrain(w=240, h=320)[소스]

기반 클래스: object

Functions: show() clear() set_font() draw_text() draw_image() draw_data() draw_rectangle() draw_ellipse() draw_line() imshow()

OLED or LCD를 사용합니다.

show()[소스]

oled 화면 표시합니다.

이 메소드를 사용하지 않으면 그림을 그려도 oled 화면에 아무것도 출력되지 않습니다.

clear(image=True, fill=True, show=True)[소스]

oled 화면 지웁니다.

매개변수:
  • image (bool) – image 초기화 여부

  • fill (bool) – oled 초기화 여부

  • show (bool) – 화면 표시 여부

set_font(filename=None, size=None)[소스]

draw_text 폰트와 글자 크기를 설정합니다.

매개변수:
  • filename (str) – 폰트 파일 경로 (ttf, otf)

  • size (int) – 폰트 사이즈

draw_text(points, text: str, colors=(255, 255, 255))[소스]

문자 (기본 폰트 - 한/영/중/일 지원)를 표시합니다.

매개변수:
  • points (tuple(int, int)) – 문자열 좌측상단 좌표 (x, y)

  • text (str) – 문자열 내용

draw_image(filename)[소스]

이미지 파일를 그립니다.

매개변수:

filename (str) – 그림파일 경로

draw_data(img)[소스]

이미지 데이터(cv2)를 그립니다.

매개변수:

img (numpy.ndarray) – 이미지 객체

draw_rectangle(points, fill=None)[소스]

직사각형을 그립니다.

매개변수:
  • points (tuple) – 사각형의 좌측상단 좌표, 사각형의 우측하단 좌표 (x1, y1, x2, y2)

  • fill (bool) – 채움 여부

draw_ellipse(points, fill=None)[소스]

타원을 그립니다.

매개변수:
  • points (tuple) – 타원에 외접하는 직사각형의 좌측상단 좌표, 우측하단 좌표 (x1, y1, x2, y2)

  • fill (bool) – 채움 여부

draw_line(points)[소스]

직선을 그립니다.

매개변수:

points (tuple) – 선의 시작 좌표, 선의 끝 좌표 (x1, y1, x2, y2)

imshow(img)[소스]

이미지 데이터(cv2)를 바로 OLED에 표시합니다.

매개변수:

img (numpy.ndarray) – 이미지 객체