본문 바로가기
라즈베리파이4

라즈베리파이 - OLED 화면 등장

by binary012 2022. 4. 23.
반응형

 

OLED 1.3인치를 구입했다.

일단 동작시켜보자. 공돌이는 일단 동작시켜 봐야한다. 

 

https://smartstore.naver.com/makerspace/products/2474971757?NaPm=ct%3Dkkti4zap%7Cci%3Dcheckout%7Ctr%3Dppc%7Ctrx%3D%7Chk%3D4eb96a2e7c51352ea2ac6aa4558939629fcc173c

 

 

 

통신 방식이 IIC(=I2C)이다. 그래서, 아래아 같이 연결하자. SCL과 SDA만 BCM name으로 GPIO-05, GPIO-03에 잘 연결하고, DC는 3.30V와 GND를 연결하자.

 

 

 

 

[ 라즈베리파이 GPIO ]

 

 

라즈베리파이에서 아래와 같이 입력하여 I2C를 enable한다.

 

sudo raspi-config
 

 

 

 
 
 

그 다음은 Finish 후 reboot 한다.

sudo reboot
 

다음 명령어로 연결된 device 정보를 확인한다.

내 device의 address는 0x30, 0xC 이다.

 

sudo i2cdetect -y 1
 

 

sudo apt-get update
sudo apt-get upgrade -y 
sudo apt-get dist-upgrade -y
 

설명

sudo apt-get update: 업데이트할 패키지 파악

sudo apt-get upgrade: 업데이트할 패키지들과 보유하고 있는 패키지들을 비교 및 업데이트

sudo apt-get dist-upgrade: 의존성 검사하며 upgrade에서 수행하지 못한 업데이트 진행

 

 

아래와 같이 입력해서 기본적인 text를 나오게 해보자.

from luma.core.interface.serial import i2c
from luma.core.render import canvas
from luma.oled.device import ssd1306, ssd1325, ssd1331, sh1106
import time

serial = i2c(port=1, address=0x3C)
device = sh1106(serial, rotate=0)

# Box and text rendered in portrait mode
with canvas(device) as draw:
    draw.rectangle(device.bounding_box, outline="white", fill="black")
    draw.text((10, 20), "Hello?", fill="white")
    draw.text((10, 30), "kyu is genius!", fill="white")
while 1:
    time.sleep(1)
 

 

늘 그렇듯이 예제의 기본은 "Hello World!" 였는데, 하윤이와 현규가 와서 아래 그림처럼 바꿨다. ^^;;

귀염둥이들...

 

 

 

 

 

그럼 git hub에서 예제를 다운 받아 보자.

원하는 directory로 이동후에 아래의 명령어로 download 받자.

git clone https://github.com/rm-hull/luma.examples.git
 

이동후에 device(sh1106)가 맞는지 확인해 보자.

아래와 같이 display를 sh1106으로 선택하면 내 화면이 나올것이다.

python3 demo.py -d sh1106
 

 

 
 
 
 

 

 

이제는 거리 정보나 온도 정보를 display로 옮겨봐야겠다.

2021.02.06

반응형

댓글