1 安装Luma.oled库

sudo apt-get install python-dev python-pip libfreetype6-dev libjpeg-dev
sudo -H pip install --upgrade pip
sudo apt-get purge python-pip
sudo -H pip install --upgrade luma.oled

:如果你需要安装Python3的Luma.oled库的则按下面对应的Python3版本修改上面的命令进行安装。

pip ⇒ pip3
python ⇒ python3
python-dev ⇒ python3-dev
python-pip ⇒ python3-pip

如果安装Luma.oled库时出现红字错误,请继续执行命令重试,那是因为网络问题下载一个叫Pillow的库不成功。

2 连接显示屏和Pi

按照如下配置进行端口的连接,树莓源的端口信息可以到如下网址查看https://pinout.xyz/pinout/spi

3 修改代码

下载luma的示例代码https://github.com/rm-hull/luma.examples

我们以animated_gif.py为例,原始代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2017-18 Richard Hull and contributors
# See LICENSE.rst for details.
# PYTHON_ARGCOMPLETE_OK"""
Displays an animated gif.
"""import os.path
from demo_opts import get_device
from PIL import Image, ImageSequence
from luma.core.sprite_system import framerate_regulatordef main():regulator = framerate_regulator(fps=10)img_path = os.path.abspath(os.path.join(os.path.dirname(__file__),'images', 'banana.gif'))banana = Image.open(img_path)size = [min(*device.size)] * 2posn = ((device.width - size[0]) // 2, device.height - size[1])while True:for frame in ImageSequence.Iterator(banana):with regulator:background = Image.new("RGB", device.size, "white")background.paste(frame.resize(size, resample=Image.LANCZOS), posn)device.display(background.convert(device.mode))if __name__ == "__main__":try:device = get_device()main()except KeyboardInterrupt:pass

修改后的代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2017-18 Richard Hull and contributors
# See LICENSE.rst for details.
# PYTHON_ARGCOMPLETE_OK"""
Displays an animated gif.
"""import time
import os.path
from demo_opts import get_device
from PIL import Image, ImageSequence
from luma.core.sprite_system import framerate_regulatorfrom luma.core.interface.serial import i2c, spi
from luma.oled.device import ssd1306, ssd1325, ssd1331, sh1106, ssd1351def main():regulator = framerate_regulator(fps=20)img_path = os.path.abspath(os.path.join(os.path.dirname(__file__),'images', 'bq.gif'))banana = Image.open(img_path)#size = [min(*device.size)] * 2#posn = ((device.width - size[0]) // 2, device.height - size[1])size = [128, 128] posn = (0, 0)while True:for frame in ImageSequence.Iterator(banana):with regulator:background = Image.new("RGB", device.size, "white")background.paste(frame.resize(size, resample=Image.LANCZOS), posn)device.display(background.convert(device.mode))time.sleep(0.05)if __name__ == "__main__":try:#serial = i2c(port=1,address=0x3c) serial = spi(device=0,port=0,bus_speed_hz=32000000)device = ssd1351(serial)#device = ssd1306(serial)main()except KeyboardInterrupt:pass

主要是导入ssd1351,并将device调整为ssd1351. 显示效果如下:

转载于:https://my.oschina.net/hechunc/blog/3020111

使用树莓源驱动128*128彩屏(SSD1351)相关推荐

  1. STM32F103以SPI 驱动128*128的TFT彩屏,LCD驱动为ST7735s,程序使用CubeMX的HAL库开发方式,另外也做了标准库的程序移植

    0.  关于本文: 其实我一直都比较懒,不喜欢写博客.但网上关于详细讲解SPI驱动LCD的文章比较少,虽然也能下载到一些案例程序,但对于初学者来说,如果不懂LCD驱动的原理,不懂如何对文字和图片取模, ...

  2. linux 下显卡优化,[转载]Linux 下 NVIDIA 显卡闭源驱动的一些优化

    完全搬运,原文请猛戳 NVIDIA 对开源驱动开发的支持之差从 Linus Torvalds 那句著名的"Fuck NVIDIA"就可见一斑--几乎没有提供任何开发文档,开源驱动的 ...

  3. 深度Linux如何安装驱动程序,在Deepin 20系统下手动安装N卡闭源驱动64-440.31.run的步骤...

    本文介绍在深度Deepin 20系统下手动安装N卡闭源驱动的详细步骤,以安装NVIDIA-Linux-x86_64-440.31.run为例. 前言 深度Deepin 20自带三种版本的N卡驱动,如果 ...

  4. Ubuntu16.04安装GTX960闭源驱动(Dell XPS 9550)

    GTX960m的闭源要Nvidia 346版才行,闭源驱动能很大提升显卡的性能,例如双显示输出等,缺点是不开源. 自我纪录一下 https://www.cnblogs.com/EasonJim/p/7 ...

  5. Archlinux双显卡安装NVIDIA闭源驱动

    Archlinux双显卡安装NVIDIA闭源驱动 原文:https://www.cnblogs.com/tonyc/p/7732119.html Ubuntu的prime-select命令可以说很好用 ...

  6. 深度Linux 安装英伟达闭源驱动,deepin20 安装英伟达闭源驱动的步骤详解

    第一步.安装深度的"显卡驱动器" 在deepin v20 中默认没有显卡驱动管理器,需要命令行安装,命令如下(刚开始一直出错,当我第一次打开应用商店,就可以安装了,好神奇): su ...

  7. Fedora 17下NVIDIA双显卡闭源驱动的安装

    测试的机器是acer 4750g, GT540M 转自http://www.linuxidc.com/Linux/2012-07/66193.htm 和http://duxyng.wordpress. ...

  8. CNN分类中批量读取数据及制作标签时报错:could not broadcast input array from shape (128,128,3) into shape (128,128)

    一.背景 最近在做CNN分类时,用了一个能够一次性读取文件夹下所有数据并按文件夹制作相应标签的函数.之前做13类别,总计约1000张图片时,用这个函数没有任何问题,但后后来加到约40000张图片的时候 ...

  9. kde 桌面 nvidia闭源驱动桌面特效不可用

    manjaro kde 桌面 nvidia闭源驱动桌面特效不可用 强调下本机仅为独显,没有intel核显,双显卡是否会有此问题没有考证 机器配置说明 两台电脑 1.一台荣耀magicbook amd核 ...

最新文章

  1. 口袋操作系统_可以装进口袋的主机要有多小?驰为LarBox迷你主机入手体验
  2. LUOGU P4587 [FJOI2016]神秘数(主席树)
  3. 飞鸽传书有关举证不够严谨
  4. 【Zepto笔记】Zepto.js
  5. 【vue】vue +element 搭建项目,要求既支持pc端又支持移动端
  6. 再看网路层分组的转发
  7. Cent OS6.6 的vsftps 的root上传配置
  8. 不同版本的散点图矩阵
  9. 模式分类2--判别函数
  10. MES系统源码 MES系统功能介绍
  11. 选择SOA平台的标准是什么?
  12. 配置全局less变量;解决iphoneX、 iphone8 plus 键盘退下去仍占空间,导致无法点击;vue-photo-preview 配置正常,但无法触发图片的预览
  13. 腾讯云配置密钥使用putty登录 PuTTY实现Windows向Linux上传文件
  14. Mac自带的邮件 添加邮箱 无法验证账户或密码【已解决】
  15. 视频直播技术详解之采集
  16. (一)EasyExcel的使用(读取数据到实体类即绑定实体类)
  17. linux下c通过虚拟地址映射读写文件
  18. 概率论考点总结类型5 贝努力概型
  19. 戴森空气净化器php00使用,戴森空气净化器好用吗?有什么使用技巧?
  20. 本地服务器收银系统,开酒吧用什么收银系统?

热门文章

  1. 解决ubuntu18.04下ibus-libpinyin 拼音无法选择除第一个的候选词问题以及中英文切换问题
  2. Java新手如何学习三大框架
  3. pushd, poped
  4. STM32F103+W5500,HAL库
  5. HC-SR04超声波模块程序原理和Proteus ISIS仿真
  6. 班旗怎么用软件设计,(最新整理)班旗设计大赛主持词
  7. MP4视频边播放边缓存
  8. python小游戏:“不要做”游戏取词器
  9. 微信小程序富文本插件mp-html
  10. 论文:预测原子距离进行构象预测(VAE)