树莓派默认是不带显示屏的,如果想要查看系统的一些信息,需要使用电脑登录到树莓派,或者通过 HDMI 连接外接显示器查看。这样做总是有点麻烦,我们可以通过外接一个 OLED 屏来显示一些关键参数或者图片。本文将详细介绍操作方法。

OLED 模组介绍

OLED 屏主要有两种:128×32 和 128×64 ,主要颜色是白、黄、蓝。OLED 屏的特点是功耗低,价格便宜,使用 I2C 接口与主机连接。本文所使用的是 128×64 尺寸的屏幕,外形如下:

它的接口很简单,只有 4 个 Pin 脚:VCC,GND,SDA,SCL,所以它与树莓派的连接也很简单,如下图所示(本文使用树莓派 3B):

开启 I2C 接口

树莓派默认是不开启 I2C 接口的,所以我们需要手动打开它。执行以下命令:

$ sudo apt-get install -y python-smbus

$ sudo apt-get install -y i2c-tools

$ sudo raspi-config

然后按下动图方式开启 I2C 功能。

安装 OLED 屏的 Python 库

为了在 OLED 屏上显示文字或图像,我们需要使用到 Adafruit 的 Python 库,这个库支持所有的 SSD1306 相关的显示屏,包括 128×32 和 128×64 屏幕。

首先我们需要下载这个库:

$ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git

然后进入到目录,再进行安装:

$ cd Adafruit_Python_SSD1306

$ sudo python3 setup.py install # 如果使用 Python2 ,则使用对应命令

找到 OLED 模组地址

安装好 Python 库之后,我们可以使用 i2cdetect 命令来找到 OLED 屏的物理地址:

$ i2cdetect -y 1

我们会得到类似这样的输出:

不同的模组可能得到不同的输出。这里我们的 I2C 地址就是 0x3C。如果你使用的是初代树莓派(256MB的树莓派1代B),那么需要使用下面的命令:

$ i2cdetect -y 0

使用 OLED 屏显示图像及文字

在刚刚下载的那个库文件里,有一个 examples 目录,在那个目录里,我们可以看到以下内容:animate.py

buttons.py

image.py

shapes.py

stats.py

这几个文件我们可以直接运行,比如:

$ python3 shapes.py

这几个文件运行的结果如下图示:

屏幕尺寸适配

以上的几个示例文件里,它们都默认你的屏幕尺寸是 128×32 ,但它们依然可以跑在 128×64 的屏幕上。如果我们想要看得更舒服一点,我们可以将尺寸进行适配。

在每个 Python 文件里,都有下面这么一段代码:

这里也写得很清楚了,上下两行代码分别代表 128×32 和 128×64 的屏幕,使用何种尺寸的屏幕,只需将对应的代码前面的 # 去掉即可。

------

推荐阅读:到什么程度才叫精通 Linux?​www.zhihu.com如何更深入地学习 Linux?​www.zhihu.com学习Linux有没有比《鸟哥的Linux私房菜》更好的书?​www.zhihu.com

python oled_树莓派使用 OLED 屏显示图片及文字相关推荐

  1. 程序默认在副屏显示_树莓派使用 OLED 屏显示图片及文字

    树莓派默认是不带显示屏的,如果想要查看系统的一些信息,需要使用电脑登录到树莓派,或者通过 HDMI 连接外接显示器查看.这样做总是有点麻烦,我们可以通过外接一个 OLED 屏来显示一些关键参数或者图片 ...

  2. 树莓派GPIO驱动ST7735S主控TFT液晶屏显示图片和文字

    本文使用1.8''128*160RGB_TFT ST7735S主控的液晶屏来操作 参考blog:http://blog.mangolovecarrot.net/2017/03/05/raspi-stu ...

  3. msp430f5529——OLED屏显示文字与图片

    目录 前言 一.效果展示 二.步骤 1.OLED.C文件 2.OLED.h文件 3.OLEDFONT.h文件 4.type.h文件 5.bmp.h文件 6.main.c 7.关于文字和图片的取模 总结 ...

  4. esp32 spi 驱动 oled 屏显示来自 PC 的画面

    esp32 spi 驱动 oled 屏显示来自 PC 的画面 实验代码 gayhub 实验源码 设备及运行环境 装有python的电脑 Python 3.8.2 (tags/v3.8.2:7b3ab5 ...

  5. esp32使用MicroPython驱动oled屏显示中文和英文

    文章目录 esp32使用MicroPython驱动oled屏显示中文和英文 介绍 安装 特点 开源 硬件连接 API 示例 显示英文字符 显示汉字 参考链接 esp32使用MicroPython驱动o ...

  6. 实验 STM32 基于SPI的OLED屏显示

    STM32 基于SPI的OLED屏显示 一.任务要求 二.显示自己的学号和姓名 1.例子程序的改写 (1)下载资料 (2)解压后找到文件,并用KEIL打开. (3)改写程序 2.连接硬件 3.运行结果 ...

  7. Python之解决tkinter.PhotoImage不显示图片的问题 Python3

    Python之解决tkinter.PhotoImage不显示图片的问题 Python3 开始导航 1. tkinter.PhotoImage()不支持jpg等图片格式 2. 将ImageTk.Phot ...

  8. 基于STM32F4 的OLED屏显示噪点、花屏问题

    现象 在实现OLED屏显示 内容时,屏幕会出现噪点:多点亮一些点位,使要显示的内容不能辨识. 原因 1.可能是因为当前io配置频率过高 2.延时时间太短 解决方法 方法1.更换io管脚为可高频io 例 ...

  9. STM32F103xx OLED旋转显示图片

    STM32F103xx OLED旋转显示图片 编译器平台及例程说明 编译器说明 例程说明 一.图片旋转显示样式 二.图片旋转显示原理简述 三.两种不同的取模方式 第一种取模方式 第二种取模方式 四.不 ...

  10. 【嵌入式】STM32基于SPI通信协议OLED屏显示

    STM32基于SPI通信协议OLED屏显示 一.SPI协议和OLED介绍 1.SPI协议介绍 物理层 协议层 2.OLED显示屏介绍 二.显示个人学号姓名实验 1.题目要求 2.代码部分 1.完整代码 ...

最新文章

  1. JHM:原生动物对酸性矿山废水侵蚀土壤的生态响应机制
  2. 微软亚洲研究院等提出CNN训练新方法RePr,准确率显著提升
  3. leetcode算法题--环形链表 II★
  4. Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”
  5. 如何修改Chrome默认字体
  6. [ZJOI2016]旅行者(网格图分治最短路)
  7. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十九) 落雷!治疗!陷阱!连锁闪电!多段群伤!魔法之终极五重奏②...
  8. jpa怎么传参到in中_JPA 中 in 的方法 注意参数一定要是List
  9. PLSQL_统计信息系列07_数据字典统计信息的导出和导入
  10. 《HTML与CSS入门经典(第8版)》——第2章 发布Web内容2.1 创建用于本章的示例文件...
  11. 第一章 SQL Server 2005概述文档信息
  12. wincc 服务器授权型号,WinCC V7.5 SP1软件安装及授权方法
  13. 大数据综合实验的踩坑总结(林子雨)
  14. win10磁盘如何解锁bitlocker,解决分区助手无法调整分区问题
  15. 自学python网站-python自学网站
  16. select * from a,b用法
  17. 地理信息科学期末考试重要知识点总结
  18. 许久没有写过原创文章了
  19. 2021-04-15 kk日记,415系统支持战况总结
  20. windows server 2003安装组件提示插入cd

热门文章

  1. 自己搭建服务器提供IOS IPA包下载
  2. control c linux命令,linux中Control+C是什么指令?使用什么命令可以给一个进程发出一个这样的指令?...
  3. 软件工程大作业(1)
  4. chrome主页被修改(Google Chrome主页被hao123劫持解决办法)
  5. debian 修改桌面背景
  6. 第三章 心剑,有妹紫灵
  7. TDS:标签平台+API平台+数据共享平台,助力数据运营平台建设
  8. Angel 实现FFM 一、对于Angel 和分布式机器学习的简单了解
  9. 误差条图各部分的代表意思_【小强视界】混凝土搅拌站计量误差原因分析及控制措施...
  10. 大宗商品交易平台:解决期货的最后“一公里”