使用luma.oled
图像内容有误,连线注意调整
树莓派安装python3.9以及pip换源_树莓派安装pip_LJX的博客-CSDN博客
SPI 的线。SCK-> 23 引脚,MOSI-> 19 号引脚,,DC-> 18 号引脚, CS-> 24 号引脚
树莓派使用 Python 驱动 SSD1306(IIC/SPI 通信)
进阶篇——树莓派OLED模块的使用 大量例程详解_oled例程_玩转智能机器人的博客-CSDN博客
使用OS 版本 2020-02-13-raspbian-buster.rar
from luma.core.interface.serial import i2c, spi
from luma.core.render import canvas
from luma.oled.device import ssd1306
serial = i2c(port=1, address=0x3C)
serial = spi(device=0, port=0)
device = ssd1306(serial)
with canvas(device) as draw:
draw.rectangle(device.bounding_box, outline="white", fill="black")
draw.text((30, 40), "Hello World!", fill="white")
while (True):
pass
运行 python luma-ssd1306.py
退出CTRL + C
使用adafruit_ssd1306
https://github.com/adafruit/Adafruit_Python_SSD1306
引脚定义
DC = 24
RST = None
sclk = 11
din = 10
cs = 8
disp = Adafruit_SSD1306.SSD1306_128_64(rst = RST,dc = DC,sclk = sclk,din = din ,cs = cs)
sudo pip install Adafruit-SSD1306
import Adafruit_GPIO.SPI as SPI
import Adafruit_SSD1306
import time
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
DC = 24
RST = None
sclk = 11
din = 10
cs = 8
disp = Adafruit_SSD1306.SSD1306_128_64(rst = RST,dc = DC,sclk = sclk,din = din ,cs = cs)
disp.begin()
disp.clear()
disp.display()
width = disp.width
height = disp.height
image = Image.new('1',(width,height))
draw = ImageDraw.Draw(image)
font = ImageFont.load_default()
font16 = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeSans.ttf',16)
draw.rectangle((0,0,width,height),outline =0,fill = 0)
draw.ellipse((1,1,50,30),outline = 255,fill = 0)
draw.text((0,10),"abcadfefda",font=font16,fill = 255)
disp.image(image)
disp.display()