OLED 1.3인치를 구입했다.
일단 동작시켜보자. 공돌이는 일단 동작시켜 봐야한다.

통신 방식이 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
'라즈베리파이4' 카테고리의 다른 글
pi4 - SSH 해킹 방지위한 fail2Ban 설치하기 (0) | 2022.05.13 |
---|---|
내 서버에 공격을 해오다니... (0) | 2022.05.13 |
pi4 - Home Assistant 설치 (0) | 2022.04.23 |
댓글