raspberry pi 3 에 stretch 그 11

개요



raspberry pi 3에서 stretch 해 보았습니다.
oled 해 보았다.
라이브러리는 사용하지 않는다.

사진





환경



Raspberry Pi 3 모델 B v1.2 element14
2017-09-07-raspbian-stretch

회로도



설정 raspi-config의 인터페이스에서 i2c를 활성화합니다. 확인 i2cdetect 1에서 3c의 생존을 확인. 준비 128 × 64 이미지를 만들고 다운로드합니다. htp : // js. t/오히사마 1/yhxJ

샘플 코드


import smbus
import time
from PIL import Image

image = Image.open('canvas.png')
img = image.convert('1')
px = img.getdata()
oled = smbus.SMBus(1)
list0 = [0x21, 0, 127, 0x22, 0, 7]
for k in list0:
    block = []
    block.append(k)
    oled.write_i2c_block_data(0x3c, 0x0, block)

step = 1024
buf = [0] * 8 * step
of = [0, 128, 256, 384, 512, 640, 768, 896]
w = 128
j = 0
for y in range(0, 8 * step, step):
    i = y + w - 1
    while i >= y:
        buf[j] = (px[i] & 0x01) | (px[i + of[1]] & 0x01) << 1 | (px[i + of[2]] & 0x01) << 2 | (px[i + of[3]] & 0x01) << 3 | (px[i + of[4]] & 0x01) << 4 | (px[i + of[5]] & 0x01) << 5 | (px[i + of[6]] & 0x01) << 6 | (px[i + of[7]] & 0x01) << 7
        i -= 1
        j += 1

for i in range(64):
    block = []
    for j in range(16):
        b = i * 16 + j
        block.append(buf[b])
    oled.write_i2c_block_data(0x3c, 0x40, block)
print ("ok")


이상.

좋은 웹페이지 즐겨찾기